antrophiclove
← Kütüphaneye dön
0

Sızan gizli anahtarları yakalayan hook

Claude bir dosyaya API anahtarı, token ya da özel anahtar yazdıysa düzenlemenin hemen ardından yakalar ve Claude'a geri bildirir. exit 2 döndüğü için Claude hatayı görüp düzeltir.

yazan kuscubasiece·8 Eylül 2026

Kaynak: Claude Code dokümantasyonu

Kurulum
curl -sL https://www.antrophiclove.com/api/kaynak/sizan-gizli-anahtarlari-yakalayan-hook/raw

Bu içerik mevcut dosyaya elle harmanlanmalı: .claude/settings.json

# .claude/settings.json
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/secret-scan.sh",
            "timeout": 20
          }
        ]
      }
    ]
  }
}

# .claude/hooks/secret-scan.sh   (chmod +x)
#!/bin/bash
FILE=$(jq -r '.tool_input.file_path // ""')
[ -f "$FILE" ] || exit 0

# .env dosyaları zaten gizli olmalı, onları atla
case "$FILE" in *.env|*.env.*) exit 0 ;; esac

HITS=$(grep -nEi \
  -e 'sk-ant-[a-z0-9-]{20,}' \
  -e 'AKIA[0-9A-Z]{16}' \
  -e 'ghp_[A-Za-z0-9]{30,}' \
  -e 'eyJ[A-Za-z0-9_-]{20,}\.[A-Za-z0-9_-]{20,}' \
  -e '-----BEGIN [A-Z ]*PRIVATE KEY-----' \
  -e '(api[_-]?key|secret|password|token)\s*[:=]\s*["\x27][^"\x27]{16,}' \
  "$FILE")

if [ -n "$HITS" ]; then
  echo "Bu dosyaya gizli görünen değerler yazıldı:" >&2
  echo "$HITS" >&2
  echo "Değerleri ortam değişkenine taşı ve .env.example'a örnek koy." >&2
  exit 2      # engelleyici: Claude çıktıyı görür ve düzeltir
fi

exit 0

## Çıkış kodları
0  başarılı
2  engelleyici hata — Claude stderr'i okur ve düzeltmeye çalışır
diğer  engellemez