Many-Shot Jailbreak Türkçe'de Test Edildi
Bağlam-dolgusu saldırısı ve AltayDuel ölçüm metodolojisi
Many-shot jailbreak, tek bir istemin içine yüzlerce sahte soru-cevap çiftini gömerek modelin güvenlik hizasını bağlam penceresi içinde eriten bir uzun-bağlam istismarıdır. Türkçe'de bu saldırının "kırılma eşiği" henüz ölçülmüş bir sayı olarak yayınlanmadı; bu yazı o ölçümün metodolojisini ve ilk çerçevesini ortaya koyar.
Many-Shot Jailbreak Nedir?
Many-shot jailbreak (çok örnekli jailbreak), saldırganın tek bir istemin içine, modelin zararlı bir talebe uyduğunu gösteren onlarca ila yüzlerce sahte soru-cevap çifti yerleştirerek modelin güvenlik hizasını aştığı bir uzun-bağlam saldırısıdır. Model, bağlam penceresinde art arda dizilmiş bu "itaat eden asistan" örneklerini bir davranış kalıbı olarak öğrenir ve dizinin sonundaki gerçek zararlı talebe de aynı kalıpla yanıt verir. Saldırı, modelin bağlam-içi öğrenme (in-context learning) yeteneğini bir zafiyete çevirir: ne kadar çok örnek gömülürse, ret refleksi o kadar zayıflar.
Anthropic'in Nisan 2024'te yayımladığı ve NeurIPS 2024'te sunulan çalışmaya göre, birkaç örnek (örneğin 5 shot) saldırıyı çalıştırmaya yetmezken, örnek sayısı yüzlere çıktığında (256 shot mertebesinde) saldırı tutarlı biçimde başarılı olur. Etkinlik ile örnek sayısı arasındaki ilişki bir güç yasasına uyar; yani her katlama, başarı olasılığını öngörülebilir biçimde artırır. Bu, saldırıyı modern uzun bağlam pencerelerinin doğrudan bir yan etkisi hâline getirir.
Mekanizma: Bağlam Penceresi ve Güç Yasası
Son nesil modellerin bağlam pencereleri onbinlerce, hatta yüzbinlerce jetona ulaştı. Bu genişleme kullanıcıya uzun belge özetleme gibi yetenekler kazandırırken, aynı pencereyi saldırgana da açar: yeterince uzun bir "kötü davranış geçmişi" gösterebilirseniz, model bu geçmişi taklit eder.
Anthropic'in bulgularının iki noktası savunma tasarımı açısından belirleyicidir. Birincisi, saldırının başarısı örnek sayısıyla güç yasasına uyacak biçimde ölçeklenir; 8, 32, 64, 128 ve 256 örnek gibi katlanan basamaklarda başarı eğrisi düzenli olarak yükselir. İkincisi ve daha umut verici olanı, isteme eklenen bir sınıflandırma/uyarı katmanının saldırı etkinliğini %61'den %2'ye düşürebildiğinin gösterilmesidir. Yani saldırı güçlü ama savunulamaz değildir; doğru konumlandırılmış bir ön-işleme katmanı etkiyi büyük ölçüde söndürür.
Bu iki bulgu birlikte şunu söyler: many-shot jailbreak'i anlamak için tek soru "çalışır mı" değil, "kaç örnekte ve hangi dilde kırılır" sorusudur. Cevap bir eşik sayısıdır ve bu eşik dile, modele ve savunma katmanına göre değişir.
Crescendo'dan Farkı: Tek İstem mi, Çok Tur mu?
Many-shot jailbreak sık sık kademeli ikna saldırılarıyla karıştırılır; oysa mekanizma tamamen farklıdır. Crescendo (nezaket eskalasyonu) saldırısı, tek bir konuşma kanalında turdan tura yavaş yavaş sınırı zorlayan sosyal bir ikna hattıdır; her tur bir öncekinin kazanımını genişletir. Many-shot jailbreak ise bir ikna süreci değil, tek bir istemin içine yüzlerce sahte diyalogun toplu olarak gömülmesidir. Burada zaman içinde bir müzakere yoktur; modele tek atışta yapay bir "itaat geçmişi" sunulur.
Bu ayrım, ölçüm açısından kritiktir. Crescendo ve arena düelloları çok-turlu, karşılıklı etkileşimlerdir. Many-shot ise tek-turlu, statik bir bağlam yüküdür. Aynı saldırı sınıfına ait değildirler; dolayısıyla birinin verisi diğerinin eşiğini vermez. Bu metodolojik uyumsuzluğu bir sonraki bölümde açıkça ele alıyoruz, çünkü Türkçe için sağlıklı bir sayı üretmenin önündeki asıl engel budur.
Türkçe Neden Ayrı Ölçülmeli?
Many-shot jailbreak literatürü ağırlıkla İngilizce örneklerle üretildi. Türkçe için ayrı ölçüm gerektiren en az üç yapısal neden var:
- Jetonlaştırma yoğunluğu: Türkçe, sondan eklemeli yapısı nedeniyle çoğu modelde İngilizce'ye göre daha fazla jetona bölünür. Aynı sayıda örnek, Türkçe'de daha fazla bağlam alanı tüketir; bu da eşiği hem yukarı hem aşağı itebilir. Yönü ölçmeden bilinemez.
- Hiza verisinin dengesizliği: Güvenlik ince ayarının çoğu İngilizce ağırlıklıdır. Türkçe bir "itaat geçmişi" modelin daha zayıf hizalanmış bir bölgesine denk gelebilir ve teorik olarak daha erken kırılmaya yol açabilir.
- Ret işaretçilerinin farklılığı: Modelin "yapamam", "bu talebe yardımcı olamam" gibi Türkçe ret kalıpları, İngilizce muadillerinden farklı sıklıkta ve güçte tetiklenir; bu da kırılma noktasının ölçümünü doğrudan etkiler.
Kısacası "İngilizce'de N shot'ta kırılır" bilgisi Türkçe'ye doğrudan taşınamaz. Türkçe için savunulabilir tek yol, aynı saldırıyı Türkçe örneklerle ayrıca koşup eşiği ölçmektir. Türkçe LLM güvenliğinde bu ölçüm hâlen az işlenmiş bir alan.
AltayDuel Ölçüm Metodolojisi: Shot-Eşiği Düzeneği
AltaySec'in AltayDuel altyapısı, sağlayıcılar arası bir düello matrisi ve Türkçe prompt injection veri kümesi üzerine kuruludur. Ancak burada dürüst olmak gerekir: AltayDuel'in mevcut çok-turlu düello ve transcript verisi, doğrudan bir many-shot shot-eşiği vermez. Düello arenası çok-turlu, etkileşimli bir saldırı sınıfını ölçer; many-shot ise tek-istem içinde yüzlerce QA çiftinin statik dolgusudur. İki düzenek aynı olguyu ölçmez. Bu yüzden shot-eşiği için ayrı bir tek-istem ölçüm düzeneği gereklidir.
Kurduğumuz düzenek, Anthropic'in shot-ölçekleme yaklaşımıyla uyumlu olarak katlanan basamaklarda çalışır ve şu bileşenlerden oluşur:
- Örnek bankası: Aynı zararlı hedefe "itaat eden" Türkçe (ve karşılaştırma için İngilizce) sahte QA çiftlerinden oluşan, iç veri kümemizden türetilmiş havuz.
- Shot basamakları: 8 / 32 / 64 / 128 / 256 örnek. Her basamak için istem, o sayıda sahte diyalog + sondaki gerçek zararlı talep biçiminde kurulur.
- Sağlayıcı matrisi: AltayDuel'in çoklu sağlayıcı bağlantısı üzerinden her modelin her basamakta ayrı ayrı denenmesi.
- Kırılma kararı: Yanıtın gerçekten uyup uymadığını Türkçe ret işaretçileriyle etiketleyen otomatik oracle; "yumuşak ret" ile "gerçek kırılma" ayrımı için insan doğrulaması.
Sonuç, aşağıdaki gibi bir sağlayıcı × shot matrisidir. Tablodaki hücreler, deney koşulmadan doldurulamaz; bu nedenle burada doldurulmuş sayı yerine ölçüm şablonu paylaşıyoruz:
| Sağlayıcı / Model | 8 shot | 32 shot | 64 shot | 128 shot | 256 shot |
|---|---|---|---|---|---|
| Sağlayıcı A (TR) | ölçülüyor | ölçülüyor | ölçülüyor | ölçülüyor | ölçülüyor |
| Sağlayıcı B (TR) | ölçülüyor | ölçülüyor | ölçülüyor | ölçülüyor | ölçülüyor |
| Karşılaştırma (EN) | ölçülüyor | ölçülüyor | ölçülüyor | ölçülüyor | ölçülüyor |
Matrisin asıl değeri, Türkçe satır ile İngilizce karşılaştırma satırının aynı shot sayısında yan yana konmasıdır: "Türkçe örnekler aynı sayıda İngilizce örnekten daha erken mi kırıyor?" sorusunun cevabı ancak bu iki satır arasındaki fark okunarak verilebilir.
İlk Ölçümler ve Neden Sayı Basmıyoruz
Bu yazının çerçevesi bilinçli olarak "metodoloji + ilk çerçeve"dir, "doğrulanmış sonuç tablosu" değil. "Türkçe many-shot'ta medyan kırılma N shot" biçiminde tek bir alıntılanabilir sayı, ancak yukarıdaki düzenek gerçek bir tek-istem deneyiyle koşulup sonuçlar insan doğrulamasından geçtikten sonra yayımlanabilir. O deney tamamlanmadan bir placeholder sayı basmak, itibar açısından savunulamaz bir uydurma olurdu; bu yüzden yapmıyoruz.
Beklentimiz, literatürle uyumlu biçimde eğrinin düşük shot sayılarında (8–32) büyük ölçüde dirençli kalması, orta basamaklarda (64–128) kırılmaların belirmesi ve yüksek basamaklarda (256) tutarlı kırılmaya yaklaşmasıdır. Türkçe satırın bu eğriyi İngilizce'ye göre sola mı yoksa sağa mı kaydırdığı ise sadece ölçümle netleşecek. İlk sonuçlar hazır olduğunda bu yazı, gerçek sayılarla güncellenecek ve o zaman tek-cümlelik eşik değeri buraya eklenecek.
Savunma: Bağlam-Dolgusuna Karşı Ne İşe Yarar?
Many-shot jailbreak'in savunması iyi haber içeriyor: saldırı güçlü olsa da katman-öncesi bir filtreyle büyük ölçüde etkisizleştirilebiliyor. Anthropic'in çalışmasında isteme eklenen bir sınıflandırma katmanının saldırı başarısını %61'den %2'ye indirmesi bunun kanıtı. Pratik savunma prensipleri:
- Girdi-öncesi tarama: İsteme ulaşmadan önce, çok sayıda tekrarlı QA-benzeri kalıp barındıran anormal uzunluktaki bağlamları işaretleyin. Yüzlerce "soru-cevap" bloğu içeren bir kullanıcı girdisi doğal değildir.
- Bağlam bütçesi sınırı: Kullanıcı girdisinin tüketebileceği jeton payını sınırlayın; sınırsız bağlam, sınırsız saldırı yüzeyi demektir.
- Ret refleksini yeniden çıpalama: Sistem isteminin, bağlamdaki örneklerden bağımsız olarak güvenlik kurallarını sonda yeniden hatırlatması. Yalnız başına yeterli değil ama etkiyi azaltır.
- Çalışma zamanı güvenlik duvarı: Modelin önüne konumlanan bir çalışma zamanı guardrail katmanı, bağlam-dolgusu kalıplarını istem modele varmadan yakalayabilir. AltaySec'in Guardian LLM güvenlik duvarı tam da bu ön-işleme rolünü, Türkçe ret ve enjeksiyon kalıplarını da kapsayacak biçimde üstlenir.
Kurumsal tarafta kritik nokta şudur: many-shot savunması modelin kendi hizasına bırakılamaz; girdi anormalliklerini yakalayan, modelden bağımsız bir katman gerektirir.
Sonuç ve Sonraki Adım
Many-shot jailbreak, uzun bağlam pencerelerinin kaçınılmaz bir yan etkisidir: bağlamı ne kadar açarsanız, saldırgana o kadar alan verirsiniz. Saldırının başarısı örnek sayısıyla güç yasasına uyar, ama doğru bir ön-işleme katmanıyla etki büyük ölçüde söndürülebilir. Türkçe için henüz ölçülmüş bir shot-eşiği bulunmuyor; bu yazı o ölçümün metodolojisini ve neden ayrı bir tek-istem düzeneği gerektirdiğini ortaya koydu.
Sonraki adım, yukarıdaki düzeneği AltayDuel'in sağlayıcı matrisi üzerinde koşup Türkçe ve İngilizce satırları yan yana ölçmek. İlk gerçek sonuçlar doğrulandığında bu yazı, tek-cümlelik eşik değeriyle güncellenecek. Kurumunuzun LLM uygulamalarında bağlam-dolgusu direncini ölçmek isterseniz bizimle iletişime geçebilirsiniz.
Kaynaklar
- Many-shot jailbreaking — Anthropic (Nisan 2024)
- Many-shot Jailbreaking (Anil ve ark.) — Tam Makale PDF
- OWASP LLM01:2025 Prompt Injection
- MITRE ATLAS — AML.T0051 LLM Prompt Injection
- AltaySec guardrail-arena — iki-eksenli çok dilli guardrail ölçütü
- AltaySec turkish-prompt-injection — Türkçe enjeksiyon/jailbreak kalıpları
