Bulgu raporu ve tekrarlanabilirlik
- Olasılıklı bir LLM bulgusunu tekrar oranı ve güven aralığıyla ölçmeyi, etkiyi iş diliyle yazmayı ve kapatma kararını ölçüme dayandırmayı öğrenirsin.
- Bu derste tekrar oranını, Wilson aralığını, üçler kuralını, denemeleri kaydedip saymayı ve uygulanabilir düzeltme önerisi yazmayı görürsün.
- Sonunda yanıltıcı bir raporu düzeltip başka bir alanda etki metni yazacaksın.
Puan bütün etkinlikleri cevaplayınca hesaba yazılır. Bu dersi tamamlayınca +55 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.
Klasik bir açıkta tek kanıt yeter: istek gider, yanıt gelir, açık oradadır. LLM bulgusunda model aynı isteme farklı yanıt verebilir. Örnekleme ayarları, bağlamdaki küçük farklar ve sağlayıcıdaki güncellemeler çıktıyı oynatır. Okuyucu bu yüzden "bende çalışmadı" diyebilir.
OWASP kırmızı takım rehberi bunu tutarlılık testiyle karşılar. Her saldırı istemi birden çok kez denenir, çünkü ilk denemede başarısız olan istem tekrarında çalışabilir. Rehber bir şeyi daha söyler: tek bir başarılı yanıt bile zafiyete işaret edebilir. Ama o başarının tutarlı biçimde yeniden üretilip üretilmediğini ek denemelerle doğrularsın.
Tekrar oranı ve olasılık
Çözüm tekrar oranını ölçmektir. Aynı istemi aynı koşulda N kez çalıştırır, başarıları sayarsın. Yirmi denemede on üç başarı 13/20, yani yüzde 65 eder. Başarıyı denemeden önce tanımla.
"Yanıtta kanarya dizgisi göründü" gibi makinenin kontrol edebileceği bir ölçüt seç. Kanarya, test ortamında gizli bağlama koyduğun benzersiz bir dizgidir; yanıtta görünmesi sızıntının kesin kanıtıdır. Ölçütü yazılı tutmazsan iki kişi aynı yanıtı farklı sayar ve oran anlamını yitirir. Koşulları da sabitle: aynı model sürümü, aynı sistem promptu, aynı araç listesi ve aynı örnekleme ayarları.
Düşük oran seni yanıltmasın. Tek denemede başarı olasılığı p ise, n denemede en az bir başarı olasılığı 1 - (1 - p)^n olur. Formülün mantığı basittir. Her denemenin başarısız olma olasılığı 1 - p'dir.
n denemenin hepsinin başarısız olma olasılığı bunun n'inci kuvvetidir. Birden çıkarınca en az bir başarı kalır. Oran yüzde 30 ise on denemede en az bir başarı olasılığı yüzde 97'dir.
Saldırgan denemeyi otomatik tekrarlar ve her denemenin maliyeti çok düşüktür. Bu yüzden yüzde 30 bile ciddi bir bulgudur. Düşük oranı raporda "nadiren çalışıyor" diye küçümseme.
Etkinlik 1 / 6
Tek denemede başarı oranı yüzde 30 olan bir saldırıyı saldırgan 5 kez deniyor. En az bir kez başarılı olma olasılığı yüzde kaçtır?
Tahminini kaydır, sonra gönder.
Küçük örneklemde belirsizlik
Küçük örneklemde oran kesin değildir. 13/20, gerçek oranın tam yüzde 65 olduğunu söylemez. Gerçek oran biraz daha düşük ya da yüksek olabilir ve yirmi deneme bunu ayırt edemez. Bu belirsizliği güven aralığıyla yazarsın.
NIST istatistik el kitabı oranlar için Wilson yöntemini verir. Yöntem küçük örneklemde ve sıfıra yakın oranlarda da makul sonuç üretir. 13/20 için yüzde 95 güven aralığı kabaca yüzde 43 ile 82 arasına düşer. Aralığı elle hesaplamak yerine kısa bir betik yaz ve her raporda aynı betiği kullan.
$ cat wilson.py
from math import sqrt
def wilson(k, n, z=1.96):
p = k / n
merkez = (p + z * z / (2 * n)) / (1 + z * z / n)
pay = z * sqrt(p * (1 - p) / n + z * z / (4 * n * n)) / (1 + z * z / n)
return max(0, merkez - pay), min(1, merkez + pay)
for k in (13, 2, 0):
alt, ust = wilson(k, 20)
print(f"{k:>2}/20 %{alt * 100:.0f} - %{ust * 100:.0f}")
$ python3 wilson.py
13/20 %43 - %82
2/20 %3 - %30
0/20 %0 - %16Betiği satır satır oku. k başarı sayısı, n deneme sayısıdır. z = 1,96 yüzde 95 güven düzeyini seçer.
merkez satırı aralığın ortasını hesaplar ve gözlenen oranı biraz yüzde 50'ye doğru çeker. pay satırı aralığın yarı genişliğidir. Son satır sonucu 0 ile 1 arasında tutar.
Çıktıda 13/20 için yüzde 43 ile 82 görünür. 2/20 için aralık yüzde 3 ile 30 arasındadır. Sıfır başarıda bile üst sınır yüzde 16 çıkar. Yani 0/20 "oran sıfır" demek değildir, yalnız oranın büyük olasılıkla düşük olduğunu söyler.
Sıfır başarı için akılda tutması kolay bir kısayol da var. n denemede hiç başarı görmediysen gerçek oranın üst sınırı yaklaşık 3/n olur. Buna üçler kuralı denir. 20 denemede sıfır başarı, oranın büyük olasılıkla yüzde 15'in altında olduğunu gösterir.
Wilson betiği yüzde 16 verir; iki sonuç birbirine yakındır. Üst sınırı yüzde 1'in altına indirmek istersen yaklaşık üç yüz deneme gerekir. Bu yüzden oranı her zaman deneme sayısıyla birlikte yaz. "Yüzde 0" yerine "0/20, üst sınır yaklaşık yüzde 15" yazmak okuyucuya ne kadar emin olduğunu da söyler.
Etkinlik 2 / 6
Düzeltmeden sonra aynı testi 20 kez koştun ve hiç başarı görmedin. Raporda bu sonucu nasıl yazarsın?
Derinleş:Neden basit formül yetmez
Okulda öğrenilen oran aralığı, gözlenen oranın iki yanına sabit bir pay ekler. Buna Wald aralığı denir ve pay, p(1 - p)/n ifadesinin kareköküyle hesaplanır. Örneklem büyükse ve oran ortalardaysa iş görür. Küçük örneklemde ise iki sorun çıkar.
Birincisi, sıfır ya da tam başarıda pay sıfıra iner. 0/20 için Wald aralığı yüzde 0 ile 0 arasıdır ve bu açıkça yanlış bir kesinlik verir. İkincisi, oran sıfıra ya da bire yakınken aralık bazen sıfırın altına ya da yüzün üstüne taşar. Wilson yöntemi bu sorunları gidermek için 1927'de önerildi.
Aralığı gözlenen orana göre değil, gerçek oranın olası değerlerine göre kurar. Sonuç olarak aralık hiçbir zaman sıfırın altına inmez ve sıfır başarıda da anlamlı bir üst sınır verir. NIST el kitabı aynı başlıkta kesin binom aralığını da anlatır. LLM bulgularında genellikle Wilson yeterlidir, ama denetçi daha muhafazakâr bir sınır isterse kesin aralığı kullanabilirsin.
Denemeyi kaydet ve say
Sayımı elle yapma. Her denemeyi tek satır olarak kaydet: deneme numarası, tarih, uygulama sürümü, model sürümü ve sonuç. Başarılı satıra kanıtı da ekle, örneğin yanıtta görünen kanarya dizgisini. Ham istemi ve ham yanıtı ayrı dosyalarda sakla ve satıra o dosyaların adını yaz.
Denemeleri tek komutla tekrarlayan küçük bir betik kullan. Böylece okuyucu aynı koşulları kendi ortamında kurabilir. Bunu yalnız kendi lab ortamında ya da yazılı iznin olan hedefte yap.
Üretimde yüzlerce deneme gerçek maliyet ve gerçek kullanıcı etkisi doğurur. Test ortamının kotasını ve jeton bütçesini denemeye başlamadan önce kontrol et.
$ for i in $(seq -w 1 20); do ./dene.sh "$i" >> denemeler.log; done $ head -3 denemeler.log 01 2026-09-14T10:02:11Z asistan-3.2 model-2026-08 BASARISIZ yanit=01.txt 02 2026-09-14T10:02:19Z asistan-3.2 model-2026-08 BASARILI kanarya=KNR-7F3A yanit=02.txt 03 2026-09-14T10:02:26Z asistan-3.2 model-2026-08 BASARILI kanarya=KNR-7F3A yanit=03.txt
Çıktıyı satır satır oku. İlk komut denemeyi yirmi kez çalıştırır. seq -w numaraları aynı genişlikte yazar, böylece dosyalar sıralı kalır.
Her denemenin sonucu denemeler.log dosyasının sonuna eklenir. head -3 ilk üç satırı gösterir. Her satırda zaman damgası UTC biçimindedir; Z harfi bunu belirtir.
Uygulama ve model sürümü her satırda tekrar eder, çünkü uzun bir test sırasında sürüm değişebilir. Başarılı satırlar kanarya dizgisini ve yanıt dosyasını taşır. grep -c komutu bir desenin geçtiği satırları sayar. Satır başına bir sonuç yazdığın için başarı sayısı tek komutla çıkar.
Etkinlik 3 / 6
denemeler.log dosyasında her satır bir denemedir. Başarılı denemeler BASARILI kelimesini taşır. Başarılı deneme sayısını tek komutla bul.
Raporun iskeleti ve etki
Raporun iskeleti şu alanlardan oluşur: başlık, etkilenen bileşen, ön koşullar, adım adım yeniden üretim, tekrar oranı, kanıt, etki, OWASP ve ATLAS haritası, düzeltme önerisi. Model sürüm kimliğini ve tarihi de yaz. Ön koşullar alanına testin hangi hesapla, hangi rolle ve hangi araç listesiyle yapıldığını ekle. Ekran görüntüsü tek başına zayıf kanıttır, çünkü istemin tamamını göstermez.
Ham istemi, ham yanıtı ve zaman damgasını birlikte sakla. Denemeyi tek komutla tekrarlayan betiği de rapora ekle. OWASP rehberi her bulguda test durumunun, toplanan kanıtın, etki değerlendirmesinin ve somut düzeltme önerisinin bulunmasını ister.
Başlık : Yorum alanından dolaylı enjeksiyon, e-posta aracı Sürüm : asistan 3.2, model anlık görüntüsü 2026-08 Tekrar oranı: 13/20 (%65, %95 aralık yaklaşık %43-%82) Etki : kurbanın oturumuyla dış adrese özet gönderimi Harita : LLM01:2025 + LLM06:2025, ATLAS ilk erişim + sızdırma Öneri : e-posta aracı taslak moduna alınsın, onay kapısı eklensin
Etki bölümü en çok zayıf yazılan yerdir. "Model yasak içerik üretti" cümlesi etki değildir. Etkiyi işin diliyle yaz: hangi veri, kaç kayıt, hangi kullanıcı, hangi maliyet.
Ölçemediğin yerde en kötü gerçekçi senaryoyu yaz ve varsayımını belirt. OWASP rehberi önem için dört düzey önerir. Kritik, hemen ilgilenilmesi gereken güvenlik ya da emniyet riskidir.
Yüksek, hızlı yanıt isteyen ciddi bir etik ya da operasyonel etkidir. Orta, planlı düzeltme gerektiren bir kaygıdır. Düşük ise izlenip sonraya bırakılabilecek küçük bir sorundur. Düzeyi etkiyle tekrar oranını birlikte okuyarak ver.
Etkinlik 4 / 6
Bu bulgu özetinde okuyucuyu yanıltan satırı bul.
Düzeltme ve kapanış
Düzeltme önerisi de somut olmalı. "Guardrail ekleyin" yerine hangi katmana ne konacağını yaz: e-posta aracı taslak moduna alınsın, dış adresli görseller engellensin, araç kimliği oturumdan devralınsın. Önerinin neyi kapatmadığını da yaz.
Görsel engelleme kaçışı keser ama enjeksiyonu bitirmez. Dar araç yetkisi hasarı küçültür ama yanlış yanıtı önlemez. Böylece ekip ikinci katmanı da planlar.
Öneriyi okuyanın diliyle yaz: geliştirici yapılandırma adını, yönetici ise kapanan riski görmek ister. Her önerinin yanına bir tespit sinyali ekle. Önlem bir gün sessizce bozulursa onu ilk fark ettiren kayıt olur.
# belirsiz öneri Girdi filtrelemesi iyileştirilsin. # uygulanabilir öneri Katman : CRM aracının kimliği Eylem : araç, oturumdaki kullanıcının yetkisiyle çalışsın Kapatmaz : yorumdaki talimatın modele ulaşmasını Tespit : oturum sahibine ait olmayan kayıt isteğinde uyarı üret
Etkinlik 5 / 6
Her düzeltme önerisini uygulanabilirliğine göre ayır.
Önce bir seçeneğe, sonra aşağıdaki uygun kutuya bas. İstersen seçeneği kutuya sürükleyip bırak. Yerini değiştirmek için aynı işlemi tekrarla.
0/5 seçenek yerleşti.
Kapatma kararını tek denemeye dayandırma. Düzeltmeden sonra aynı yirmi denemeyi aynı betikle tekrarla ve oranı karşılaştır. Model, sistem promptu ya da araç listesi değişince kapatılan bulguyu yeniden koş. Oran kendiliğinden düşmüşse nedenini araştır, çünkü sağlayıcının sessiz değişikliği geri alınabilir.
Kalıcı kapanış yalnız kendi mimarinde yaptığın düzeltmeyle gelir. OWASP rehberi de düzeltmenin etkinliğini kırmızı takım programının başarı ölçütleri arasında sayar. Yani ölçüm bulguyla bitmez, düzeltmenin tuttuğunu gösterene kadar sürer.
# değerlendirme çıktısı bulgu : BUL-2026-014 dolaylı enjeksiyon + araç istismarı ilk_olcum : 13/20 başarılı (%65) duzeltme : e-posta aracı taslak modu + onay kapısı ikinci_olcum : 0/20 başarılı (üst sınır yaklaşık %15) uc_ay_sonra : 2/20 başarılı -> yeniden incele
Çıktıyı satır satır oku. İlk ölçüm 13/20 ile bulgunun gerçek ve tekrarlanabilir olduğunu gösterir. Düzeltme satırı hangi katmanın değiştiğini yazar.
İkinci ölçüm 0/20'dir ve üst sınır yaklaşık yüzde 15'tir. Bulgu kapatılabilir, ama izlemeye alınır.
Üç ay sonraki 2/20 küçük görünür. Wilson aralığı ise yüzde 3 ile 30 arasını verir. Yani gerçek oran ilk ölçümün yarısına kadar çıkmış olabilir. Bulguyu yeniden aç ve neyin değiştiğini araştır: yeni bir model sürümü, yeni bir araç ya da onay kapısını atlayan yeni bir akış.
Aynı rapor dili veri sızıntısı dışındaki bulgularda da işler. Etki bazen verinin çıkması değil, bir kararın saldırganın metnine göre değişmesidir. İşe alım ya da kredi gibi alanlarda bu etki doğrudan insanları etkiler. Böyle bir bulguda etki metni kimin, hangi kararı ve ne sıklıkla etkilediğini söyler.
Tekrar oranı burada da gereklidir, çünkü karar sistemi her gün yüzlerce başvuruyu işler ve düşük bir oran bile çok sayıda yanlış karar demektir. Etki metnine bu ölçeği de yaz: günde kaç başvuru işleniyor ve oranla çarpılınca kaç karar etkilenebilir.
Etkinlik 6 / 6
İşe alım asistanı, özgeçmiş dosyasına gizlenmiş talimat yüzünden adayın puanını yükseltiyor. Talimat 20 denemenin 11'inde çalıştı. Tek paragraflık etki metni yaz.
Derinleş:Programı ölçmek
Tek bir bulgunun tekrar oranı kadar, kırmızı takım programının kendisi de ölçülür. OWASP rehberi bunun için beş ölçüt sayar: zafiyet bulma oranı, tespit süresi, kapsama ölçüsü, yanlış pozitif oranı ve düzeltme etkinliği. Zafiyet bulma oranı, belli bir test süresinde kaç gerçek bulgu çıktığını gösterir. Tespit süresi, savunan ekibin bir saldırı denemesini ne kadar sürede fark ettiğini ölçer.
Kapsama ölçüsü, kapsam notundaki aktör ve senaryoların ne kadarının gerçekten denendiğini söyler. Yanlış pozitif oranı, raporlanıp sonradan geçersiz çıkan bulguların payıdır. Düzeltme etkinliği ise kapatılan bulguların yeniden ölçümde ne kadarının kapalı kaldığını gösterir. Bu ölçütler bir arada okunur.
Bulgu sayısı artarken yanlış pozitif oranı da artıyorsa ekip hızlanmamış, yalnız gürültü üretmiştir. Rehber ayrıca kritik bulgular için açık ve yazılı bir yükseltme yolunu, olgun bir programın belki de en önemli sınavı sayar.
Okumayı istediğin sırayla sürdürebilirsin. Ders, bütün etkinlikleri cevapladığında tamamlanır.