Secret scanning 2026 yılında DevSecOps’un standart adımı haline geldi. GitGuardian State of Secrets Sprawl 2025 raporu, yalnızca GitHub’da 12,8 milyon yeni secret sızıntısı tespit ettiklerini ve ortalama remediation süresinin 27 gün olduğunu açıklıyor. Verizon DBIR 2025’e göre ihlallerin %14’ünde sızıntı vektörü açık repolardaki credential.
Secret Scanning: 2026 Pazar Bağlamı ve Tehdit
Secret scanning, kaynak kodda, commit history’de, container image’da ve binary artifact’ta sızdırılmış API key, password, token, certificate gibi gizli bilgileri tespit eden araç kategorisidir. 2024 itibarıyla GitHub Advanced Security secret scanning’i ücretsiz public repolarda etkinleştirdi; private repolarda enterprise feature. GitGuardian 2025 verisi: bir secret ortalama 35 saniyede saldırgan tarafından kullanılıyor.
Snyk 2025 State of Open Source Security: kurumsal repolarda her 200 commit’te 1 secret sızıntısı tespit ediliyor. Sızdırılan en yaygın türler: AWS access key (28%), database connection string (19%), API key (17%), private SSH key (12%), JWT signing secret (8%). Forrester 2025 DevSecOps Wave: secret scanning olgun ürün kategorisinde.
TruffleHog: Entropy ve Verification
TruffleHog (Truffle Security), 800+ detector ile high-entropy string ve known credential pattern’i tarar. Ayırt edici özellik: bulunan credential’ı verify edebilir (gerçekten valid mi). CLI, GitHub Action, pre-commit hook destekli. 2025 itibarıyla 700+ verifier ile AWS, GCP, Azure, Slack, Stripe gibi servislere canlı API çağrısı yaparak validity kontrolü.
| Özellik | TruffleHog | GitLeaks | GitGuardian |
|---|---|---|---|
| Lisans | AGPL-3.0 + Pro | MIT | Ticari (Free tier var) |
| Detector Sayısı | 800+ | 150+ | 400+ |
| Live Verification | Var (700+) | Yok | Var (390+) |
| Pre-commit Hook | Var | Var (en yaygın) | ggshield |
| Organizasyon Dashboard | Pro | Yok | Native |
| Historical Scan | Tüm git history | Tüm git history | Tüm git history |

GitLeaks: Hızlı ve Geniş Kullanım
GitLeaks (Zachary Rice), pre-commit hook ekosisteminin en yaygın aracı. Go ile yazılmış, hızlı (10.000 file/sec), 150+ regex pattern destekli. .gitleaks.toml ile özelleştirme; allowlist ile false positive yönetimi. GitHub’da 18.000+ yıldız. CNCF olmayan ama de facto open source standart.
GitGuardian: Organizasyon Ölçekli
GitGuardian, kurumsal SaaS platform. Tüm GitHub/GitLab/Bitbucket organizasyon repolarını gerçek zamanlı tarar; sızıntı tespit edildiğinde 5 dakikada Slack/Teams alert; auto-remediation playbook ile rotation tetikleme. Fortune 500 müşterileri arasında: AT&T, Stripe, Snowflake. 2025 verisi: ortalama müşteri ayda 47 secret sızıntısı tespit ediyor.
- Real-time scanning: commit anında webhook tabanlı tespit
- Honeytoken: bait secret üretip ne zaman/nerede kullanıldığını izle
- Public monitoring: kurumsal email/domain mention’ları public GitHub’da izle
- Auto-remediation: Vault, AWS Secrets Manager API ile otomatik rotation
- SOC 2 Type II, ISO 27001, GDPR uyumlu
İlgili konu: DevSecOps pipeline rehberimizde secret scanning’in CI/CD gate’leri arasındaki yerini detaylandırdık.
Pre-Commit Hook: Husky + Lefthook
En etkili secret scanning katmanı pre-commit hook’tur; secret repository’ye girmeden yakalanır. Husky (Node.js ekosistem) ve Lefthook (Go, polyglot) iki popüler hook framework. .gitleaks pre-commit hook konfigürasyonu 5 dakikada eklenebilir.

CI/CD Pipeline Entegrasyonu
Pre-commit yetmez; geliştirici hook’u bypass edebilir. CI’de gate olarak secret scan zorunlu. GitHub Actions, GitLab CI, CircleCI, Jenkins’de TruffleHog veya Gitleaks marketplace action’ı 3 satırla eklenebilir. Pull request’te bulunan secret PR’ı bloklamalı; main branch’e merge sonrası historical scan ile geriye dönük tarama.
| Pipeline Stage | Araç | Aksiyon |
|---|---|---|
| Pre-commit | Gitleaks + Husky | Local block |
| PR Check | TruffleHog Action | PR block + comment |
| Main Branch Scan | GitGuardian webhook | Alert + auto-rotation |
| Container Image | Trivy + TruffleHog | Registry block |
| Historical Audit | Quarterly job | Compliance report |
Bulunan Secret: 4 Adımlı Remediation
Tespit yetmez. Bulunan secret 4 adımda remediate edilir: 1) Rotate (yeni credential üret), 2) Revoke (eskiyi iptal et), 3) Audit (sızıntı süresince kullanım log’larını incele), 4) Document (lessons learned, runbook update). Yalnızca git history’den silmek yeterli değil; secret zaten dış sistemlerde kayıtlı olabilir.

Kurumsal Secret Scanning Dönüşümünde Karşılaşılan Tipik Sorunlar
Danışmanlık projelerinde gözlemlenen tipik darboğazlar:
- Sadece CI’de scan yapıp pre-commit’i ihmal etme — geliştiriciler her gün PR ile secret commit ediyor
- False positive baseline’ın yapılmaması — test fixture’ları alarm tetikliyor
- Bulunan secret’ı silmekle yetinme — rotate edilmemiş credential dış sistemlerde aktif
- Historical scan’in atlanması — eski commit’lerdeki secret’lar bilinmiyor
- Sözleşme/legacy repolarda owner’sız secret birikimi
- Vault/Secrets Manager entegrasyonun olmaması — geliştirici “bir kez daha hardcode ederim” diyor
Sonuç
Secret scanning 2026’da artık opsiyonel değil. Pre-commit (Gitleaks + Husky) + CI gate (TruffleHog) + organizasyon ölçeği (GitGuardian veya GitHub Advanced Security) 3 katmanlı standart. Tespit kadar remediation kritik; 4 adımlı rotation + revoke + audit + document runbook’u olmadan secret scanning yalnızca rapor üretir. Pilot için açık kaynak araçlarla 30 günde başlayın; kurumsal ölçekte (50+ repo) GitGuardian veya GitHub Advanced Security ROI’si net.
Sıkça Sorulan Sorular
TruffleHog vs GitLeaks vs GitGuardian — hangisini seçmeliyim?
Solo geliştirici/küçük takım: GitLeaks + pre-commit. Mid-market (10-50 repo): TruffleHog OSS + verification. Enterprise (50+ repo): GitGuardian veya GitHub Advanced Security. Hibrit kullanım da yaygın: GitLeaks pre-commit + GitGuardian organizasyon.
Git history’den secret nasıl temizlenir?
BFG Repo-Cleaner veya git-filter-repo ile rewrite, sonra force push. Ancak secret zaten kullanıma açık olduğu için ÖNCE rotate, SONRA history clean yapılmalı. GitHub Repository Cleaner aracı 2024’te native eklendi.
Test fixture’ları false positive sayıyor mu?
Evet. .gitleaksignore veya .trufflehogignore ile path/regex exclude yapılır. Anchore Syft “test-only” tag’i secret olmadığını belirtmek için. Best practice: test data’larda gerçek format ama clearly fake değerler (12345…).
Honeytoken nedir?
Bait credential — kurumsal değeri olmayan ama saldırgan için cazip görünen secret. Kullanıldığında alert tetikler ve attacker pattern’ini ortaya çıkarır. GitGuardian Honeytoken ve Canarytokens (Thinkst) bu kategoride.
Türkiye’de secret scanning regülasyon zorunluluğu var mı?
Doğrudan zorunluluk yok ancak KVKK ve BDDK denetimlerinde “access credential management” değerlendiriliyor. ISO 27001:2022 A.5.16 “Identity management” kontrolü secret hijyenini kapsıyor; PCI DSS 4.0 Requirement 6.3.1 source code review’da credential exposure’ı şart koşuyor.










Ömer ÖNAL
Mayıs 23, 2026Secret scanning’i sadece CI’de koşturup pre-commit hook’a koymayan kurumlar 2-3 ay içinde Git history’de 200+ secret biriktiriyor; rotation maliyeti katlanıyor. Doğru yaklaşım: pre-commit Husky + secretlint, CI’de TruffleHog/Gitleaks gate, organizasyon ölçeğinde GitGuardian veya GitHub Advanced Security. Bulunan secret’ı silmek yetmiyor — rotate edilmiş gibi davranılmalı. — Ömer Önal