DokümantasyonDocs
Güncelle, sorun çöz, kaldır.Update, fix, remove.
Bu sayfa kalkan'ı güncel tutmayı, sık sorunların çözümünü ve kalkan'ı tamamen kaldırmayı anlatır.
This page shows how to keep kalkan current, how to fix common problems and how to remove kalkan completely.
İçindekilerContents
22
GüncellemeUpdating
kalkan'ı güncellemek için kurulum satırını yeniden çalıştır. Satır her adımda önce mevcut durumu kontrol eder.
To update kalkan, run the install line again. The line checks the current state first at every step.
curl -fsSL https://raw.githubusercontent.com/dtechcloud/kalkan/stable/scripts/install.sh | sh& ([scriptblock]::Create((irm https://raw.githubusercontent.com/dtechcloud/kalkan/stable/scripts/install.ps1)))Güncelleme ne yapar?What the update does
- Marketplace'i günceller:
claude plugin marketplace update kalkan.It updates the marketplace:claude plugin marketplace update kalkan. - Plugin'i günceller:
claude plugin update kalkan@kalkan. Claude Code veri klasörünü tutar.It updates the plugin:claude plugin update kalkan@kalkan. Claude Code keeps the data folder. - Yeni motoru kurar. Eksik araçları ve sürümü değişen araçları indirir. Kurulu ve sağlam araçları tutar.It installs the new engine. It downloads missing tools and tools with a new version. It keeps the installed tools that are intact.
- 7 günden genç bir zafiyet veritabanını tutar ve yeniden indirmez. Sonra
kalkan doctorçalıştırır.It keeps a vulnerability database that is younger than 7 days and does not download it again. Then it runskalkan doctor.
Ölçüm: bir günlük veritabanlarıyla bir güncelleme 15 saniye sürdü (bir Windows 11 makinesinde bir kez ölçüldü). Kurulum dört veritabanının dördünü de tuttu.
Measurement: an update with databases one day old took 15 seconds (measured once on one Windows 11 machine). The setup kept all four databases.
Bir denetim çalışırken güncelleme yapma. Önce denetimin bitmesini bekle. Eski bir sürümün başlattığı bir denetim, güncellemeden sonra da devam ile sürer.
Never update while an audit runs. Wait until the audit is done. An audit that an older version started also resumes with devam after the update.
Elle güncellemeManual update
claude plugin marketplace update kalkan
claude plugin update kalkan@kalkanSonra Claude Code'u yeniden başlat. Sonraki /kalkan yeni motoru kendisi kurar.
Then restart Claude Code. The next /kalkan installs the new engine itself.
Yalnız veritabanlarını güncelleUpdate only the databases
Yerel eşleştirme yalnız son indirmedeki zafiyetleri bilir. kalkan doctor, bir veritabanı 7 günden eskiyse uyarır. Veritabanlarını bu komutla güncelle:
Local matching knows only the vulnerabilities of the last download. kalkan doctor warns when a database is older than 7 days. Update the databases with this command:
kalkan sca update-dbKomut her veritabanına ayrı bakar: osv, grype, go ve retire. Geçerli, son indirmesi başarılı ve --max-age saatten (varsayılan 24) genç bir veritabanını tutar. Bunu bir satırla yazar, örneğin osv: kept, 2 hours old. --force her veritabanını yaşına bakmadan indirir. Taze veritabanlarıyla komut 0,3 saniye sürdü (bir Windows 11 makinesinde bir kez ölçüldü).
The command looks at each database on its own: osv, grype, go and retire. It keeps a database that is valid, whose last download ended ok and that is younger than --max-age hours (default 24). It prints this in one line, for example osv: kept, 2 hours old. --force downloads every database, whatever its age. With fresh databases, the command took 0.3 seconds (measured once on one Windows 11 machine).
Kurulum betikleri, bootstrap betikleri ve kalkan-audit kurulum kontrolü --max-age 168 (7 gün) kullanır. --no-osv, --no-grype, --no-go ve --no-retire bir veritabanını atlar. --ecosystems OSV ekosistemlerini seçer.
The installers, the bootstrap scripts and the setup check of kalkan-audit use --max-age 168 (7 days). --no-osv, --no-grype, --no-go and --no-retire skip one database. --ecosystems selects the OSV ecosystems.
Komut yalnız ekosistem adlarını ve arşiv isteklerini gönderir. Yavaş bir ağda veritabanlarının bir indirmesi 46 dakika sürdü (bir kez ölçüldü).
The command sends only ecosystem names and archive requests. On a slow network, one download of the databases took 46 minutes (measured once).
Sürümü görSee the version
claude plugin list
kalkan --versionclaude plugin list kurulu plugin'in sürümünü gösterir. kalkan --version motorun sürümünü yazar.
claude plugin list shows the version of the installed plugin. kalkan --version prints the version of the engine.
Bir güncellemeden sonra eski plugin sürümünün klasörü .orphaned_at işaretiyle kalır. Claude Code bu klasörü 14 gün sonra arka planda siler, ama yalnız en az bir plugin kuruluyken.
After an update, the folder of the old plugin version stays with an .orphaned_at marker. Claude Code deletes this folder 14 days later in a background cleanup, but only while at least one plugin is installed.
23
Sorun gidermeTroubleshooting
Aşağıda kalkan, motorun tam yoludur: bkz. Kullanım.
Below, kalkan is the full path of the engine: see Usage.
- Bir şey çalışmıyor. Nereden başlamalıyım?
kalkan doctorçalıştır. Komut araçları, veritabanlarını, git'i ve Claude Code oturumunu kontrol eder. Sorunlu her satır kendi düzeltme komutunu yazar.- Kurulum betiği durdu.
- Mesaj düzeltmeyi söyler, örneğin
claude auth loginveyagh auth setup-git. Düzeltmeyi yap. Sonra aynı satırı yeniden çalıştır. - İlk
/kalkankurulumu hata verdi. - Skill hatayı ve kurulum komutunu gösterir. Aynı komutu bir terminalde çalıştırabilirsin:
sh ~/.claude/plugins/cache/kalkan/kalkan/<version>/bin/kalkan-setup ~/.claude/plugins/data/kalkan-kalkan.--forceher adımı baştan yapar. - Kurulum
another kalkan-setup is runningdiyor. - Kurulum aynı anda yalnız bir kez çalışır. Başka bir oturum kurulumu yürütüyorsa onun bitmesini bekle. Hiçbir kurulum çalışmıyorsa mesajdaki kilit klasörünü sil. kalkan 2 saatten eski bir kilidi kendisi siler.
- Kurulum Python'u bulamıyor.
- Kurulum Python 3.11 veya üstünü arar:
py -3,python3,python. Python'u kur. Sonra kurulumu yeniden çalıştır. Debian veya Ubuntu'dapython -m venvbaşarısız olursapython3-venvpaketini kur. - Komut çıkış kodu 5 ile durdu.
- Kurulum eksik: bir araç, bir veritabanı veya Claude Code oturumu yok. Mesaj düzeltmeyi verir.
--yeseksik araçları ve veritabanlarını sormadan kurar. Claude Code olmadan--tools-onlyçalışır. kalkan doctorveritabanı uyarısı veriyor.- Doctor, bir veritabanı eksikse veya 7 günden eskiyse uyarır.
kalkan sca update-dbçalıştır. Komut 24 saatten genç ve sağlam bir veritabanını tutar.kalkan sca update-db --forceher veritabanını yaşına bakmadan yeniden indirir. Ayrıntılar: Güncelleme. - Disk doluyor.
- Veri klasörü yaklaşık 5,5 GB tutar. Her denetim ayrıca kodun bir kopyasını ve git geçmişini tutar. Eski denetimlerden yer açmak için: Disk kullanımı.
- Rapor uzun yol uyarısı veriyor (Windows).
- Opengrep, yolu 260 veya daha fazla karakter olan dosyaları atlar.
KALKAN_RUNS_DIRdeğişkenineC:\krgibi kısa bir klasör ver. Klasör hedefin dışında olmalı. Değişkeni Claude Code'u başlatan ortamda ayarla, örneğin PowerShell'de$env:KALKAN_RUNS_DIR = "C:\kr". Sonra yeni bir denetim başlat. - Denetim yarıda kaldı.
- Mola veya kullanım limitinden sonra
/kalkan devam <run-id>yaz. Terminaldekalkan-audit devam <run-id>çalıştır. Durma mesajı çalıştırma kimliğini söyler. Hiçbir görev kaybolmaz. - İki denetimi aynı anda çalıştırmak istiyorum.
- Her denetimi kendi Claude Code oturumunda veya terminalinde başlat. Yan denetime
--no-latestekle. Yan denetimi yalnız çalıştırma kimliğiyle sürdür. - Denetim sürerken bir güncelleme çıktı.
- Bir denetim çalışırken plugin'i asla güncelleme. Denetim bitince güncelle. Sonraki
/kalkanyeni motoru kurar. - Windows'ta poutine ve Scorecard iş akışlarını görmüyor.
- Bu hata araçların kendisinde (upstream). Windows'ta poutine ve OpenSSF Scorecard, GitHub iş akışı dosyalarını okumaz. Rapor atlanan dosyaları platform boşluğu olarak listeler. Bu dosyaları zizmor ve actionlint yine kontrol eder.
- Git Bash
/kalkankomutunu bozuyor. - Git Bash,
claude -pkomutundaki/kalkan ...argümanını bir Windows yoluna çevirir.MSYS_NO_PATHCONV=1ayarla veyaclaude -pkomutunu PowerShell'den başlat. - gosec veya govulncheck bir Go modülünde başarısız oluyor.
- Modülün
go.moddosyası 1.26.9'dan yeni bir Go istiyor olabilir, örneğingo 1.27. kalkan Go'yuGOTOOLCHAIN=localile çalıştırır ve yeni bir Go indirmez. Durum dosyası nedeni yazar. - Rapor "Go paketleri yüklenemedi" boşluğu gösteriyor.
- İçe aktarılan bir paketin modülü yerel modül önbelleğinde yok. Yerel mod modül indirmez. Projene bir
vendor/klasörü ekle (go mod vendor). Ya dakalkan scan gosec --onlinevekalkan sca reach --onlineçalıştır. Bu iki komut modül yollarını Go proxy'sine gönderir. - Rapor bir Helm chart için eksik bağımlılık boşluğu gösteriyor.
- Yerel mod chart indirmez. Bağımlılıkları projende chart'ın
charts/klasörüne koy (helm dependency build). kalkanhelm dependency updateçalıştırmaz. - vacuum bir OpenAPI belgesini
references: ...nedeniyle atladı. - Belgedeki bir
$refhedefin dışına çıkıyor ya da kalkan'ın kontrol edemediği bir biçimde. vacuum o dosyayı makineden okurdu. Bu yüzden kalkan belgeyi vacuum'a vermez.
- Something does not work. Where do I start?
- Run
kalkan doctor. The command checks the tools, the databases, git and the Claude Code login. Each failed row names its own fix. - The installer stopped.
- The message names the fix, for example
claude auth loginorgh auth setup-git. Do the fix. Then run the same line again. - The first
/kalkansetup failed. - The skill shows the error and the setup command. You can run the same command in a terminal:
sh ~/.claude/plugins/cache/kalkan/kalkan/<version>/bin/kalkan-setup ~/.claude/plugins/data/kalkan-kalkan.--forcerepeats every step. - The setup says
another kalkan-setup is running. - Only one setup runs at a time. If another session runs the setup, wait until it is done. If no setup runs, delete the lock folder that the message names. kalkan deletes a lock older than 2 hours itself.
- The setup does not find Python.
- The setup looks for Python 3.11 or later:
py -3,python3,python. Install Python. Then run the setup again. On Debian or Ubuntu, ifpython -m venvfails, install thepython3-venvpackage. - The command stopped with exit code 5.
- The setup is incomplete: a tool, a database or the Claude Code login is missing. The message names the fix.
--yesinstalls the missing tools and databases without a question. Without Claude Code,--tools-onlyworks. kalkan doctorwarns about a database.- Doctor warns when a database is missing or older than 7 days. Run
kalkan sca update-db. The command keeps a sound database that is younger than 24 hours.kalkan sca update-db --forcedownloads every database again, whatever its age. Details: Updating. - The disk fills up.
- The data folder uses about 5.5 GB. Each audit also keeps a copy of the code and of the git history. To free the space of old audits: Disk usage.
- The report warns about long paths (Windows).
- Opengrep skips files with a path of 260 or more characters. Set
KALKAN_RUNS_DIRto a short folder such asC:\kr. The folder must be outside the target. Set the variable in the environment that starts Claude Code, for example$env:KALKAN_RUNS_DIR = "C:\kr"in PowerShell. Then start a new audit. - The audit stopped halfway.
- After a break or a usage limit, type
/kalkan devam <run-id>. In a terminal, runkalkan-audit devam <run-id>. The stop message names the run ID. No task is lost. - I want to run two audits at once.
- Start each audit in its own Claude Code session or terminal. Add
--no-latestto the side audit. Resume the side audit only with its run ID. - An update came out during an audit.
- Never update the plugin while an audit runs. Update when the audit is done. The next
/kalkaninstalls the new engine. - On Windows, poutine and Scorecard do not see the workflows.
- This is an upstream bug. On Windows, poutine and OpenSSF Scorecard do not read GitHub workflow files. The report lists the skipped files as a platform gap. zizmor and actionlint still check these files.
- Git Bash breaks the
/kalkancommand. - Git Bash changes the argument
/kalkan ...ofclaude -pinto a Windows path. SetMSYS_NO_PATHCONV=1, or startclaude -pfrom PowerShell. - gosec or govulncheck fails on a Go module.
- The
go.modfile of the module can ask for a Go newer than 1.26.9, for examplego 1.27. kalkan runs Go withGOTOOLCHAIN=localand downloads no newer Go. The status file names the reason. - The report shows the gap "Go packages that did not load".
- The module of an imported package is not in the local module cache. Local mode downloads no module. Add a
vendor/folder to your project (go mod vendor). Or runkalkan scan gosec --onlineandkalkan sca reach --online. These two commands send the module paths to the Go proxy. - The report shows a gap for missing Helm chart dependencies.
- Local mode downloads no chart. Put the dependencies into the
charts/folder of the chart in your project (helm dependency build). kalkan never runshelm dependency update. - vacuum skipped an OpenAPI document with the reason
references: .... - A
$refof the document leaves the target, or has a form that kalkan cannot check. vacuum would read that file from your machine. Thus kalkan does not give the document to vacuum.
24
KaldırmaUninstall
İki komut plugin'i kaldırır. Sıra önemli: motoru kullanacaksan kaldırmadan önce kullan, çünkü kaldırma motoru da siler.
Two commands remove the plugin. The order is important: if you need the engine, use it before the uninstall, because the uninstall also deletes the engine.
Yalnız raporları tutmak istiyorsan her bitmiş denetim için
kalkan run clean <run-id>çalıştır. Komut kod kopyasını, geçmiş kopyasını ve iş klasörlerini siler, raporu tutar.If you want to keep only the reports, run
kalkan run clean <run-id>for each finished audit. The command deletes the code copy, the history copy and the work folders, and keeps the report.kalkan run clean 20261026T091512Z-shop-3f2aPlugin'i kaldır. Komut veri klasörünü de siler: motor, araçlar, veritabanları ve plugin'in kayıtlı seçenekleri. Araçları ve veritabanlarını tutmak için
--keep-dataekle.Remove the plugin. The command also deletes the data folder: the engine, the tools, the databases and the stored options of the plugin. To keep the tools and the databases, add
--keep-data.claude plugin uninstall kalkan@kalkanMarketplace'i kaldır. Bu komut, bu marketplace'ten kurulan her plugin'i de kaldırır.
Remove the marketplace. This command also uninstalls every plugin from this marketplace.
claude plugin marketplace remove kalkan
Ne kalır?What remains?
~/kalkan-runs/Denetimler klasörü kalır: raporlar ve denetlenen kodun kopyaları.KALKAN_RUNS_DIRayarladıysan o klasör kalır.The runs folder stays: the reports and the copies of the audited code. If you setKALKAN_RUNS_DIR, that folder stays.~/.claude/plugins/cache/kalkan/Plugin klasörü.orphaned_atişaretiyle kalır. Claude Code onu 14 gün sonra arka planda siler, ama yalnız en az bir plugin kuruluyken.The plugin folder stays with an.orphaned_atmarker. Claude Code deletes it 14 days later in a background cleanup, but only while at least one plugin is installed.~/.claude/plugins/marketplaces/kalkan/Claude Code belgeleri, marketplace kaldırılınca bu kopyanın silindiğini söylemez.The Claude Code docs do not say that removing the marketplace deletes this copy.- Docker imajlarıDocker images
kalkan sandbox pullile indirdiğin temel imajlar Docker'da kalır.The base images that you pulled withkalkan sandbox pullstay in Docker.
Bunları da silmek için: Tam temizlik. PATH'te ve sistem paketlerinde geri alınacak bir şey yok.
To delete these too: Full cleanup. There is nothing to undo in PATH or in the system packages.
25
Tam temizlik: kalkan'ı nasıl tamamen kaldırırım?Full cleanup: how do I remove kalkan completely?
Bu adımlar kalkan'ın makinedeki bütün klasörlerini siler. Adımları sırayla yap. İkinci adım motoru kullanır, bu yüzden kaldırmadan önce gelir.
These steps delete every folder of kalkan on the machine. Do the steps in this order. The second step uses the engine, so it comes before the uninstall.
- Saklamak istediğin raporları başka bir klasöre kopyala. Raporlar
~/kalkan-runs/<run-id>/report/içindedir.Copy the reports that you want to keep to another folder. The reports are in~/kalkan-runs/<run-id>/report/. Önce
kalkan clean --all --dry-runçalıştır ve silinecek parçaları kontrol et: denetimler, önbellekler, veritabanları ve araçlar. Sonrakalkan clean --allçalıştır ve soruyayyanıtını ver. Komut sonda kalan adımları yazar.First run
kalkan clean --all --dry-runand check the parts that it would delete: the runs, the caches, the databases and the tools. Then runkalkan clean --alland answeryto the question. At the end, the command prints the steps that remain.kalkan clean --all --dry-run kalkan clean --allPlugin'i kaldır. Komut veri klasörünü siler.
Remove the plugin. The command deletes the data folder.
claude plugin uninstall kalkan@kalkanMarketplace kaydını kaldır.
Remove the marketplace entry.
claude plugin marketplace remove kalkanDikkat: Önce 1. adımı yap. Bu komut bütün raporları da siler.
Caution: Do step 1 first. This command also deletes all reports.
Denetimler klasörünü sil. 2. adımdan sonra bu klasör boştur.
KALKAN_RUNS_DIRayarladıysan o klasörü sil.Delete the runs folder. After step 2, this folder is empty. If you set
KALKAN_RUNS_DIR, delete that folder.rm -rf ~/kalkan-runsRemove-Item -Recurse -Force "$HOME\kalkan-runs"
Son kontrolFinal check
~/.claude/plugins/cache/kalkan/Claude Code bu klasörü 14 gün sonra arka planda siler, ama yalnız en az bir plugin kuruluyken. Başka plugin yoksa veya klasörü hemen silmek istersen önce bütün Claude Code oturumlarını kapat. Sonra klasörü sil.Claude Code deletes this folder 14 days later in a background cleanup, but only while at least one plugin is installed. If no other plugin is installed, or to delete the folder now, close every Claude Code session first. Then delete the folder.~/.claude/plugins/marketplaces/kalkan/Marketplace kaydını kaldırdıktan sonra bu klasör hâlâ duruyorsa onu sil.If this folder is still there after you removed the marketplace entry, delete it.- Docker imajlarıDocker images
kalkan sandbox pullile temel imaj indirdiysen onları Docker'dan sil. Yalnız kalkan için indirdiğin imajları sil, çünkü başka projeler de aynı imajları kullanabilir. Öncedocker image lsile listeyi gör.If you pulled base images withkalkan sandbox pull, delete them from Docker. Delete only the images that you pulled for kalkan, because other projects can use the same images. First, see the list withdocker image ls.
docker image rm python:3.12-slim node:22-slim golang:1.26 eclipse-temurin:21-jdk php:8.3-cli ruby:3.3-slim mcr.microsoft.com/dotnet/sdk:10.0PATH'te, sistem paketlerinde ve servislerde geri alınacak bir şey yok. Python, git ve Claude Code kalkan'dan önce de vardı. Onları kaldırma kararı senindir.
There is nothing to undo in PATH, in the system packages or in the services. Python, git and Claude Code were there before kalkan. The decision to remove them is yours.