Yazılar

Cloudflare security-audit-skill Nedir? Kodunu 6 Aşamada Çapraz Sorgulayan Açık Kaynak Güvenlik Ajanı

Yapay zekaya düz bir prompt ile 'Kodumda güvenlik açığı var mı?' diye sorduğunda neden sahte alarmlar (false-positive) üretir ve asıl açığı kaçırır? Cloudflare'in açık kaynak yayınladığı ve GitHub'da 47.000+ yıldız alan security-audit-skill paketinin 6 aşamalı mimarisini ve Adversarial Validation (Çapraz Sorgu) ilkesini inceliyoruz.

Furkan Özay26 Ekim 2026 · 4 dk okuma
czCZAY.DEV // EDITORIALTR
SECURITY & AUTH

#Güvenlik · 4 DK OKUMA

FURKAN ÖZAYVOL. 2026 // #1A41

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:

  1. 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.
  2. 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.
  3. 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:

text
[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++/Rust unsafe bellek 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:

Bash
# 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 \
  --global

Kurulum tamamlandıktan sonra ajanını projenin dizininde başlatıp doğal dilde şu komutlardan birini vermen yeterlidir:

text
security audit this codebase

veya sadece belirli bir klasörü ve çıktı dizinini hedeflemek için:

text
do a security review of ./src, output to ~/audits/my-backend

Bilgi: 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