İletişimContact us

Soru, ayrıntı veya danışmanlık için bize yaz.Write to us for questions, details or consulting.

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

Güncelleme ne yapar?What the update does

  1. Marketplace'i günceller: claude plugin marketplace update kalkan.It updates the marketplace: claude plugin marketplace update kalkan.
  2. 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.
  3. 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.
  4. 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 runs kalkan 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@kalkan

Sonra 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-db

Komut 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 --version

claude 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 login veya gh auth setup-git. Düzeltmeyi yap. Sonra aynı satırı yeniden çalıştır.
İlk /kalkan kurulumu 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. --force her adımı baştan yapar.
Kurulum another kalkan-setup is running diyor.
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'da python -m venv başarısız olursa python3-venv paketini kur.
Komut çıkış kodu 5 ile durdu.
Kurulum eksik: bir araç, bir veritabanı veya Claude Code oturumu yok. Mesaj düzeltmeyi verir. --yes eksik araçları ve veritabanlarını sormadan kurar. Claude Code olmadan --tools-only çalışır.
kalkan doctor veritabanı 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 --force her 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_DIR değişkenine C:\kr gibi 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. Terminalde kalkan-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-latest ekle. 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 /kalkan yeni 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 /kalkan komutunu bozuyor.
Git Bash, claude -p komutundaki /kalkan ... argümanını bir Windows yoluna çevirir. MSYS_NO_PATHCONV=1 ayarla veya claude -p komutunu PowerShell'den başlat.
gosec veya govulncheck bir Go modülünde başarısız oluyor.
Modülün go.mod dosyası 1.26.9'dan yeni bir Go istiyor olabilir, örneğin go 1.27. kalkan Go'yu GOTOOLCHAIN=local ile ç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 da kalkan scan gosec --online ve kalkan 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). kalkan helm dependency update çalıştırmaz.
vacuum bir OpenAPI belgesini references: ... nedeniyle atladı.
Belgedeki bir $ref hedefin 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 login or gh auth setup-git. Do the fix. Then run the same line again.
The first /kalkan setup 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. --force repeats 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, if python -m venv fails, install the python3-venv package.
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. --yes installs the missing tools and databases without a question. Without Claude Code, --tools-only works.
kalkan doctor warns 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 --force downloads 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_DIR to a short folder such as C:\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, run kalkan-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-latest to 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 /kalkan installs 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 /kalkan command.
Git Bash changes the argument /kalkan ... of claude -p into a Windows path. Set MSYS_NO_PATHCONV=1, or start claude -p from PowerShell.
gosec or govulncheck fails on a Go module.
The go.mod file of the module can ask for a Go newer than 1.26.9, for example go 1.27. kalkan runs Go with GOTOOLCHAIN=local and 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 run kalkan scan gosec --online and kalkan 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 runs helm dependency update.
vacuum skipped an OpenAPI document with the reason references: ....
A $ref of 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.

  1. 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-3f2a
  2. Plugin'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-data ekle.

    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@kalkan
  3. Marketplace'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_DIR ayarladıysan o klasör kalır.The runs folder stays: the reports and the copies of the audited code. If you set KALKAN_RUNS_DIR, that folder stays.
  • ~/.claude/plugins/cache/kalkan/Plugin klasörü .orphaned_at iş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_at marker. 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 imageskalkan sandbox pull ile indirdiğin temel imajlar Docker'da kalır.The base images that you pulled with kalkan sandbox pull stay 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.

  1. 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/.
  2. Önce kalkan clean --all --dry-run çalıştır ve silinecek parçaları kontrol et: denetimler, önbellekler, veritabanları ve araçlar. Sonra kalkan clean --all çalıştır ve soruya y yanıtını ver. Komut sonda kalan adımları yazar.

    First run kalkan clean --all --dry-run and check the parts that it would delete: the runs, the caches, the databases and the tools. Then run kalkan clean --all and answer y to the question. At the end, the command prints the steps that remain.

    kalkan clean --all --dry-run
    kalkan clean --all
  3. Plugin'i kaldır. Komut veri klasörünü siler.

    Remove the plugin. The command deletes the data folder.

    claude plugin uninstall kalkan@kalkan
  4. Marketplace kaydını kaldır.

    Remove the marketplace entry.

    claude plugin marketplace remove kalkan
  5. Dikkat: Ö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_DIR ayarladı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-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 imageskalkan sandbox pull ile temel imaj indirdiysen onları Docker'dan sil. Yalnız kalkan için indirdiğin imajları sil, çünkü başka projeler de aynı imajları kullanabilir. Önce docker image ls ile listeyi gör.If you pulled base images with kalkan 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 with docker 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.0

PATH'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.

Başa dön: Başlangıç →Back to the start: Getting started →