Bir dil modeline (LLM) veya kodlama ajanına doğrudan "Şu kod tabanında güvenlik açığı var mı?" diye sorduğunda karşılaştığın manzara çoğu zaman hayal kırıklığıdır: Model sana "Şu başlık (header) eksik, burada rate limit yok" gibi yüzeysel kontrol listesi maddelerini sıralarken; üç farklı dosyaya yayılan gerçek bir yetkilendirme (IDOR) veya önbellek zehirlenmesi (Cache Poisoning) açığını tamamen gözden kaçırır.
İşte Cloudflare, kendi iç güvenlik tarama altyapısına (Vulnerability Discovery Harness) temel oluşturan cloudflare/security-audit-skill paketini açık kaynak (MIT lisansı) olarak yayınladı ve proje kısa sürede GitHub'da 47.000'den fazla yıldız topladı.
Gelin bu paketi sıradan bir güvenlik prompt'undan ayıran 6 aşamalı mimariyi, Çapraz Sorgu (Adversarial Validation) kuralını ve kendi projende tek satırla nasıl çalıştırabileceğini inceleyelim.
1. Düz Güvenlik Prompt'ları Neden Başarısız Olur?
Standart bir yapay zeka sohbetinde kod denetimi yaptırmanın 3 temel yapısal sorunu vardır:
- Bağlam Kaybı ve Atlama (Coverage Gaps): Büyük bir repoda tek bir ajan birkaç dosyaya bakıp yorulur; hangi uç noktaların (endpoints) tarandığını, hangilerinin atlandığını deterministik olarak takip etmez.
- Doğrulama Yanlılığı (Confirmation Bias): Bir ajan bir kod satırında "şüpheli" bir şey gördüğünde, kendi hipotezini haklı çıkarmaya çalışır ve uydurma senaryolarla sahte alarm (false positive) üretir.
- Savunma Derinliği ile Gerçek Açığı Karıştırmak: Örneğin ön taraftaki katman saldırıyı zaten engelliyorken, arka katmanda ekstra bir kontrolün olmamasını "Kritik Zafiyet" sanır.
Cloudflare'in security-audit-skill paketi bu üç sorunu çoklu ajan orkestrasyonu ve sıfır bağımlılıklı Node.js doğrulayıcılarıyla (validate-coverage-ledger.cjs & validate-findings.cjs) çözer.
2. Kaputun Altı: 6 Aşamalı Siber Güvenlik Operasyonu
Paketi kodlama ajanına kurup denetimi başlattığında arka planda sırasıyla şu 6 aşama koşar:
[Aşama 1: Reconnaissance] ──▶ Mimariyi ve girdi yüzeylerini coverage-ledger.json'a yazar
│
▼
[Aşama 2: Coverage-Led Hunting] ──▶ 10 farklı saldırı sınıfında izole "Hunter" ajanlar salar
│
▼
[Aşama 3: Adversarial Validation] ──▶ Bağımsız "Verifier" ajan her bulguyu ÇÜRÜTMEYE çalışır!
│
▼
[Aşama 4 & 5: Structured Output & Verification] ──▶ findings.json şema ve satır doğrulaması
│
▼
[Aşama 6: Target-Neutral Reporting] ──▶ REPORT.md ve FINDINGS-DETAIL.md çıktısıAşama 1: Keşif ve Kapsam Defteri (Reconnaissance)
Ajan hemen açık aramaya başlamaz. Önce projenin mimarisini, güven sınırlarını (trust boundaries) ve dışarıdan veri alan tüm yüzeyleri çıkarıp architecture.md ve coverage-ledger.json dosyalarına kaydeder. Böylece tek bir klasör veya API rotası bile unutulmaz.
Aşama 2: Uzmanlaşmış Avcı Ajanlar (Coverage-Led Hunting)
Kapsam defterindeki her birim için birbirinden izole Avcı (Hunter) alt ajanlar başlatılır. Paketin içinde her teknolojiye özel ayrı saldırı rehberleri bulunur:
WEB-PROTOCOL-AND-AUTH.md: HTTP Request Smuggling, Web Cache Poisoning, CSRF, JWT/OAuth ve oturum zafiyetleri.AI-AND-LLM.md: Dolaylı Prompt Injection, RAG/bellek zehirlenmesi, MCP ve ajan araç yetki aşımı.DATA-ISOLATION-AND-LIFECYCLE.md: Çok kiracılı (multi-tenant) sistemlerde kiracılar arası veri sızıntısı ve IDOR.SUPPLY-CHAIN-AND-RELEASE.md: CI/CD boru hatları, GitHub Actions ve paket bağımlılık riskleri.MEMORY-SAFETY-AND-BINARY.md: C/C++/Rustunsafebellek bozulmaları ve yarış durumları (Race Conditions).
Aşama 3: Çapraz Sorgu (Adversarial Candidate Validation)
Bu paketin en parlak mühendislik kuralı şudur:
Uyarı: Altın Kural: Açığı Bulan Ajan ile Doğrulayan Ajan Asla Aynı Olamaz!
Bir Avcı (Hunter) ajan potansiyel bir güvenlik açığı bulduğunda, bu bulgu geçmiş sohbet bağlamından tamamen habersiz, yepyeni bir Doğrulayıcı (Verifier) ajana teslim edilir. Bu yeni ajanın tek görevi o bulgunun yanlış olduğunu kanıtlamaya ve iddiayı çürütmeye çalışmaktır!
Aşama 4, 5 ve 6: Kanıt Doğrulama ve Raporlama
Çapraz sorgudan sağ çıkan bulgular findings.json dosyasına üç net statüden biriyle yazılır:
confirmed: Kaynak kodda giriş noktasından tehlikeli hedefe (sink) kadar tüm akışı kanıtlanmış gerçek güvenlik açığı.needs_validation: Kaynak kodda riskli görünen ancak canlı sunucu/WAF/IdP ayarı görülmeden kesinleşemeyen durumlar (uydurma ciddiyet puanı verilmez, sadece kontrol edilmesi gereken somut bilgi yazılır).rejected: Doğrulayıcı ajan tarafından çürütülen sahte alarmlar.
Son aşamada tüm doğrulanan kayıtlar REPORT.md ve FINDINGS-DETAIL.md olarak temiz bir mühendislik raporuna dönüştürülür.
3. Kurulum ve Kullanım (10 Saniyede Başlat)
Paketi kullandığın kodlama ajanına (Claude Code, Cursor, Codex vb.) skills CLI aracıyla tek satırda ekleyebilirsin:
# Projeye özel kurulum:
npx skills add https://github.com/cloudflare/security-audit-skill \
--skill security-audit
# Veya bilgisayarındaki tüm projelerde kullanmak için global kurulum:
npx skills add https://github.com/cloudflare/security-audit-skill \
--skill security-audit \
--globalKurulum tamamlandıktan sonra ajanını projenin dizininde başlatıp doğal dilde şu komutlardan birini vermen yeterlidir:
security audit this codebaseveya sadece belirli bir klasörü ve çıktı dizinini hedeflemek için:
do a security review of ./src, output to ~/audits/my-backendBilgi: Denetimi Birden Fazla Kez Çalıştırmak Kapsamı Artırır
Cloudflare ekibinin yaptığı testlere göre, aynı kod tabanı üzerinde yeteneği ikinci veya üçüncü kez çalıştırmak eklemeli (additive) olarak çalışır: Ajan önceki coverage-ledger.json dosyasını okur, daha önce derinlemesine bakılmayan boşluklara odaklanır ve ilk turda gözden kaçabilen zafiyetleri yakalar.
İlgili İçeriklerimiz
İnteraktif Yol Haritası & Araç
Bunu da oku
- CZTRDokku Nedir? Ayda 200$ Bulut Faturasını 5$ Sunucuya Düşüren Açık Kaynak PaaS Mimarisi
Dokku Nedir? Ayda 200$ Bulut Faturasını 5$ Sunucuya Düşüren Açık Kaynak PaaS Mimarisi
25 Ekim 2026 · 5 dk okuma - CZTR0.1.0 Ne Anlama Gelir? Yazılımda Sürüm Numaralandırma Standartları: SemVer, CalVer ve ZeroVer Rehberi
0.1.0 Ne Anlama Gelir? Yazılımda Sürüm Numaralandırma Standartları: SemVer, CalVer ve ZeroVer Rehberi
25 Ekim 2026 · 5 dk okuma