Selamlar,
Kaynak kod depolarına yanlışlıkla işlenmiş API anahtarları, parolalar ve token'lar en yaygın sızıntı nedenlerinden biri. Bu rehberde, açık kaynak sır tarama aracı Gitleaks ile depolarınızı nasıl tarayacağınızı, pre-commit ile sızıntıyı kaynakta nasıl durduracağınızı ve CI'ya nasıl entegre edeceğinizi adım adım anlatıyorum. (Yalnızca kendi veya yetkili olduğunuz depolarda kullanın.)
Konuda anlatılacaklar
- Gitleaks nedir?
- Kurulum
- Depo tarama
- Git geçmişini tarama
- pre-commit hook
- CI entegrasyonu ve ipuçları
1. Gitleaks nedir?
Gitleaks, Go ile yazılmış, dosyalarda ve git geçmişinde parola, anahtar ve token gibi sabit kodlanmış sırları tespit eden bir araç. Düzenli ifade (regex) ve entropi tabanlı kurallarla çalışır; kendi kurallarınızı .gitleaks.toml ile ekleyebilirsiniz.
2. Kurulum
# Go ile
go install github.com/gitleaks/gitleaks/v8@latest
# macOS (Homebrew)
brew install gitleaks
# Docker
docker pull zricethezav/gitleaks:latest3. Depo tarama
Çalışma dizinindeki dosyaları (git geçmişi olmadan) taramak:
gitleaks dir . --report-path gitleaks-report.json -v4. Git geçmişini tarama
Sırlar genelde eski commit'lerde saklıdır. Tüm geçmişi taramak:
gitleaks git . -v --report-path history-report.jsongitleaks git . --log-opts="--since=2026-01-01" -v5. pre-commit hook
Sızmayı kaynakta durdurmanın en iyi yolu, commit öncesi taramak. .pre-commit-config.yaml:
repos:
- repo: https://github.com/gitleaks/gitleaks
rev: v8.0.0
hooks:
- id: gitleakspre-commit install6. CI entegrasyonu
GitHub Actions örneği:
name: gitleaks
on: [push, pull_request]
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: gitleaks/gitleaks-action@v2İpuçları
- Yanlış pozitifleri yönetin..gitleaksignore dosyasına bulgu parmak izini ekleyerek bilinen güvenli bulguları susturabilirsiniz.
- Sır bulunduysa sadece silmek yetmez. Sızan her anahtarı/token'ı iptal edip yeniden üretin; geçmişte kaldığı için hâlen geçerlidir.
- Kendi kurallarınızı ekleyin. Kuruma özgü token formatları için .gitleaks.toml kullanın.
Sonuç
Gitleaks, sır sızıntısını hem geçmişte avlamak hem de gelecekte önlemek için hafif ve etkili bir araç. En büyük kazanım, pre-commit + CI ile sızıntıyı daha repoya girmeden durdurmak. Siz depolarınızda sır taraması yapıyor musunuz?
Yasal uyarı
Bu yazı bilgilendirme ve savunma amaçlıdır. Anlatılan kontrolleri yalnızca kendi sistemlerinizde veya yazılı izinle yapın. İzinsiz erişim, tarama ve sömürü girişimleri TCK 243-245 kapsamında suçtur. TurkTeam white-hat bir topluluktur; çalıntı veri, hesap, combo/log paylaşımı ve hack hizmeti talepleri forum kurallarına aykırıdır.
Kaynaklar