Policy Puppetry Saldırısı: Politika Kuklacılığı
Sahte politika bloğuyla evrensel jailbreak (2026)
Policy puppetry, kötü niyetli talimatı bir XML/JSON/INI politika dosyası kılığına sokarak modele "bu benim resmi yapılandırmam" dedirtir. Türkçe kaynaklarda az işlenen bu tekniği ve savunulabilir tespit yüzeyini burada adlandırıyoruz: politika kuklacılığı.
Policy Puppetry (Politika Kuklacılığı) Nedir?
Policy puppetry, kötü niyetli bir talimatı modele düz bir istek olarak değil, uyulması gereken bir politika dosyası gibi sunan bir prompt enjeksiyon tekniğidir. Saldırgan; talimatı XML, JSON veya INI benzeri yapılandırılmış bir biçime sokar, ona , ya da safety=off gibi otoriter görünen etiketler ekler ve bunu genelde bir rol yapma senaryosu veya hafif kodlama (örneğin leetspeak) ile birleştirir. Model, sistem düzeyinde biçimlendirilmiş bu metni kendi çalışma politikası sanır ve güvenlik kısıtlarını geçersiz kılar.
Türkçe literatürde bu aile için yerleşik bir ad yok; "policy puppetry Türkçe" sorgusu çoğunlukla çevrilmemiş İngilizce bloglara çıkıyor. Bu boşluğu kapatmak için AltaySec olarak tekniği politika kuklacılığı diye adlandırıyoruz: saldırgan, modelin kurallarını kendi elleriyle iptal etmesini sağlayan sahte bir "politika" ipini çeker; model de bu ipin ucundaki kukla olur. Bu yazı, terimi tanımlamak, üç alt türe ayırmak ve savunulabilir bir tespit yüzeyi çıkarmak için Türkçe bir başvuru kaynağı olmayı hedefler.
Saldırı Nasıl Çalışır?
Büyük dil modelleri, eğitim ve ince ayar süreçlerinde sistem mesajlarına, yapılandırma bloklarına ve "resmi" görünümlü direktiflere yüksek öncelik vermeyi öğrenir. Policy puppetry tam da bu refleksi istismar eder. Saldırının üç adımı vardır:
- Biçim taklidi: Zararlı istek, bir güvenlik politikası dosyası gibi yapılandırılır. XML etiketleri, JSON anahtar-değer çiftleri veya INI bölümleri, metni "kullanıcı isteği" olmaktan çıkarıp "sistem ayarı" gibi gösterir.
- Otorite ödünçleme: Blok içine
,content_filter=disabledya da "resmi şirket politikası gereği" gibi ifadeler yerleştirilir. Modelin, kendi kurallarından daha üst bir kaynak varmış gibi davranması amaçlanır. - Örtüleme: Talep genellikle bir kurgu/rol yapma çerçevesine veya leetspeak gibi hafif bir gizlemeye sarılır; böylece anahtar kelime tabanlı filtreler zayıflatılır.
Bu, klasik "önceki talimatları yoksay" enjeksiyonunun evrimleşmiş halidir. Fark şudur: doğrudan komut vermek yerine, modelin zaten güvendiği bir soyutlamayı -politika/yapılandırma katmanını- taklit eder. Prompt enjeksiyonunun temel mantığını hatırlamak için prompt injection nedir yazımıza bakabilirsiniz.
Politika Kuklacılığının Üç Alt Türü
AltaySec, politika kuklacılığını tespit ve savunma açısından ayrıştırılması kolay üç alt türe böler. Bu taksonomi, bir payload'un hangi "otorite yüzeyini" taklit ettiğine göre kurgulanmıştır.
| Alt tür | Neyi taklit eder | Tipik işaret |
|---|---|---|
| Sahte-politika bloğu | Sistem düzeyi bir güvenlik politikası (XML/etiket yapısı) | , , gibi etiketler |
| Sahte-config | Bir çalışma zamanı yapılandırması (INI/JSON/YAML) | safety=off, content_filter: disabled, guardrail=false |
| Sahte-şirket-yönergesi | Sağlayıcı/kurumun resmi direktifi | "OpenAI politikası gereği", "güncellenmiş kurumsal yönerge uyarınca" |
Üç alt tür de aynı psikolojiye dayanır: modelin kendi güvenlik kurallarından daha yüksek bir otorite kaynağı uydurmak. Ancak tespit açısından farklı imzalar bırakırlar; bu yüzden ayrı ayrı kural yazmak, tek bir geniş regex'e göre hem daha az yanlış pozitif hem daha açıklanabilir sonuç verir.
Hangi Modeller Etkilendi? (Kapsam ve Uyarılar)
HiddenLayer'ın Nisan 2025'te yayımladığı araştırmaya göre teknik; OpenAI, Google, Anthropic, Meta, DeepSeek, Qwen, Mistral ve Microsoft dahil büyük sağlayıcıların modellerinde çalıştı. Bu yüzden "evrensel" olarak nitelendirildi.
Burada bir dürüstlük kaydı şart: HiddenLayer'ın kendisi de belirtir ki tek bir sabit prompt her modeli sıfır uyarlama ile kırmadı; bazı modellerde küçük ayarlamalar gerekti. Yani "tek prompt tüm modelleri kırar" ifadesi pazarlama kısaltmasıdır; teknik gerçek, aynı şablonun küçük varyasyonlarla geniş bir model yelpazesinde işe yaramasıdır. Ayrıca policy puppetry'ye atanmış resmî bir CVE numarası yoktur; bu bir ürün açığı değil, mimari sınıf düzeyinde bir zayıflıktır. OWASP'ın LLM01: Prompt Injection kategorisi ve MITRE ATLAS'ın AML.T0051 tekniği tam olarak bu sınıfı kapsar.
Tespit: İndirilebilir Üç Regex
Politika kuklacılığı görünür-metin katmanında iz bırakır, dolayısıyla ucuz ve açıklanabilir bir ilk savunma katmanı olarak regex tabanlı kurallar işe yarar. AltaySec'in açık prompt-injection-detection-rules deposu için, üç alt türe birebir karşılık gelen üç regex hazırladık (PID-PUP-001/002/003). Depodaki mevcut YAML şemasına ve OWASP LLM01 / MITRE ATLAS eşlemesine uyacak biçimde tanımlandılar:
# PID-PUP-001 — sahte-politika bloğu (XML/etiket)
<\s*/?\s*(?:system[_-]?)?(?:policy|governance|ruleset|allowed[_-]?responses?|interaction[_-]?config|politika|yönerge)\b[^>]{0,120}>
# PID-PUP-002 — sahte-config (safety/filter = off)
[\["']?\s*(?:safety|content[_-]?filter|moderation|guardrail|güvenlik|kısıtlama)\s*[\]"']?\s*[:=]\s*["']?\s*(?:off|false|disabled?|none|kapalı|devre[_-]?dışı|0)\b
# PID-PUP-003 — sahte-şirket-yönergesi
(?:as\s+per|according\s+to|per|uyarınca|gereğince)\s+(?:the\s+)?(?:openai|anthropic|google|company|corporate|resmi|kurumsal)\s+(?:policy|guidelines?|directive|politika|yönerge|talimat)Dürüst sınır: regex yalnızca bilinen ifadeleri yakalar. Kararlı bir saldırgan bu kalıpların etrafından parafraze edebilir; ayrıca güvenlik dokümanı gibi saldırıyı alıntılayan metinlerde yanlış pozitif üretebilir. Bu yüzden her kural bir yanlış-pozitif notu ile gelir ve bu katmanı tek başına değil; bir sınıflandırıcı, çıkış (egress) izin listesi ve çalışma zamanı denetimiyle birlikte kullanmak gerekir. AltaySec'in LLM güvenlik duvarı Guardian v3.1.0 (114 test) bu kalıp ailesini talimat-geçersizleştirme, persona ve gizleme kural aileleriyle örtüşen bir katmanda değerlendirir; regex katmanı burada hızlı ve açıklanabilir bir ön eleme rolü üstlenir. Çalışma zamanı korumalarının nasıl tasarlandığını runtime LLM guardrails yazısında ele alıyoruz.
Savunma Prensipleri
Policy puppetry'nin öğrettiği en önemli ders şudur: güvenliği yalnızca sistem promptuna yaslamak çöker. Saldırı, tam da "sistem düzeyi talimat" soyutlamasını taklit ettiği için, daha güçlü bir sistem promptu yazmak sorunu çözmez -bu konuyu jailbreak savunması sistem promptu ile çözülmez yazısında detaylandırdık. Savunulabilir bir duruş için:
- Yapısal ayrım: Güvenilmeyen içeriği (kullanıcı mesajı, RAG belgesi, araç çıktısı) model için asla "politika/yapılandırma" olarak yorumlanabilecek bir kanaldan geçirmeyin; veri ile talimatı net biçimde ayırın.
- Çok katmanlı tespit: Regex kuralları + ML sınıflandırıcı + biçimsel anomali kontrolü (beklenmeyen XML/INI bloğu). Tek katman yerine derinlik.
- Çıkış denetimi: Modelin ne söylediğini değil, sistemin ne yaptığını sınırlayın; egress izin listesi ve araç yetki modeli, jailbreak başarılı olsa bile etkiyi kırar.
- Kombinasyon farkındalığı: Policy puppetry sıklıkla rol yapma ve kodlama ile birleşir; bu vektörleri de izleyin (rol yapma tiyatrosu, kodlama ve gizleme).
Türkçe Boyut ve Sonuç
Politika kuklacılığının Türkçe tarafı ayrıca önemli. Sahte-şirket-yönergesi alt türü Türkçe'de birebir çalışır ("kurumsal politika gereği", "resmi yönerge uyarınca"), üstelik çoğu İngilizce-öncelikli tespit seti bu ifadeleri hiç görmez. AltaySec'in açık prompt-injection-corpus ve AltayDuel Türkçe veri setleri bu tür Türkçe varyantları toplayıp etiketlemek için kurgulandı; yukarıdaki üç kural da hem İngilizce hem Türkçe alternatifleri kapsayacak şekilde yazıldı.
Özetle policy puppetry, prompt enjeksiyonunun "otorite taklidi" koluna verilmiş olgun bir addır. Sabit bir imza değil, bir şablon ailesidir; bu yüzden savunma da tek bir kurala değil, katmanlı ve açıklanabilir bir yüzeye dayanmalıdır. Bu yazıdaki taksonomi ve kurallar, Türkçe konuşan ekipler için o yüzeyin ilk taşlarını döşemeyi amaçlar. Kurumsal bir değerlendirme için bizimle iletişime geçebilirsiniz.
Kaynaklar
- HiddenLayer — Novel Universal Bypass for All Major LLMs (Policy Puppetry)
- OWASP Top 10 for LLM Applications 2025 — LLM01: Prompt Injection
- MITRE ATLAS — LLM Prompt Injection (AML.T0051)
- NIST AI 100-2 E2025 — Adversarial Machine Learning: A Taxonomy
- AltaySec — prompt-injection-detection-rules (açık kural deposu)
