· kaynak dev.to (home feed)
RESK'nin resk-logits paketi, prompt injection saldırılarını örnekleme öncesinde logits'e ceza vererek engelliyor
Güvenlik şirketi RESK'in dev.to üzerinde yayımladığı bir eğitim yazısı, GPU üzerinde çalışan bir logits işleyicisinin, prompt-injection yükleriyle ilişkili token'ları bir LLM bunları örneklemeden önce nasıl gölge yasaklayabileceğini (shadow-ban) gösteriyor.

LLM güvenlik araçları satan RESK şirketinin dev.to üzerinde yayımladığı bir eğitim yazısı, prompt-injection saldırılarını, bir dil modeli bir sonraki token'ını seçtiği anda durdurmanın bir yolunu, olay sonrası yakalamanın aksine anlatıyor. Yazı, resk-logits adlı bir Python paketini ele alıyor; paketteki ShadowBanProcessor üretim döngüsünün içinde yer alıyor ve tehlikeli bir ifadeyi başlatacak ya da devam ettirecek herhangi bir token'a ağır bir ceza uyguluyor, böylece örnekleme yapılan modül o token'ı fiilen hiç üretmiyor.
Hedef aldığı sorun
Kullanılan örnek, Doctolib üzerinden modellenmiş bir randevu rezervasyon asistanı; eğitim yazısı bunu şirketin gerçek sistemleri hakkında bir iddia olarak değil, varsayımsal bir senaryo olarak sunmaya özen gösteriyor. Böyle bir botta hastalar, klinik politikalarını ve program verilerini içeren bir system prompt ile birleştirilen serbest metin yazıyor. Saldırgan bir mesaj bu prompt'u geçersiz kılmaya çalışabilir; örneğin modelden bir admin API anahtarını yazdırmasını ya da olağan onay adımı olmadan bir randevu oluşturmasını isteyebilir.
Yazının odaklandığı zayıflık mimari nitelikte. Üretilmiş metni inceleyen çıktı filtreleri doğası gereği tepkiseldir: akış (streaming) yapan bir sohbet botunda bir filtre sızdırılmış bir kimlik bilgisini ya da politikayı ihlal eden bir cümleyi işaretlediğinde, sorunlu token çoktan örneklenmiş ve kullanıcıya çoktan görünmüş olabilir. Eğitim yazısının belirtilen hedefi, modeli bu token'ları hiç üretemez hale getirmektir.
Gölge yasağı nasıl çalışıyor
resk-logits, her token'ın örnekleme olasılığını belirleyen, kelime dağarcığı üzerindeki ham puanlar olan logits üzerinde çalışıyor. Geliştirici, alana özgü bir yasaklı ifadeler listesi tanımlıyor; rezervasyon örneğinde system prompt'un açıklanması, admin kimlik bilgileri ve onaysız yapılan rezervasyonlarla ilgili metinler yasaklanıyor. Yazıya göre kütüphane, şu ana kadar üretilmiş metin ile yasaklı liste arasındaki kısmi eşleşmeleri izlemek için GPU üzerinde çalışan vektörize bir Aho-Corasick eşleştirme yordamı kullanıyor, ardından yasaklı bir ifadenin devamı olacak her token'dan büyük bir ceza puanı çıkarıyor (örnekte −15.0; RESK'e göre bu, yaklaşık %0,00003'lük bir kalan olasılığa karşılık geliyor).
İşleyici, standart logits_processor argümanı aracılığıyla Hugging Face'in generate() fonksiyonuna bağlanıyor ve paket, aynı korumayı token token akışa taşıyan bir stream_generate yardımcı fonksiyonu içeriyor. Yazı, vLLM ve TGI dağıtımları için entegrasyonlar ve adım başına bir milisaniyenin altında ek yük iddia ediyor. Demo kodun kendisi GPT-2 üzerinde çalışıyor ve işleyicinin iç eşleşme durumu her yeni üretimden önce sıfırlanmalı.
Sınırlamalar, satıcının kendi ifadeleriyle
Eğitim yazısı, yaklaşımın yapamadığı şeyler konusunda açık sözlü bir bölüm içeriyor. Ceza olasılıkları düşürüyor ama sıfır oluşum garantisi vermiyor; son derece düşük olasılıklı token'lar nadir durumlarda yine de ortaya çıkabilir. Etkinlik tamamen yasaklı ifade listesinin kalitesine bağlı, dolayısıyla yeni injection ifadeleri listeyi aşabilir. Kütüphane küçük bir hesaplama maliyeti ekliyor ve RESK, onu girdi temizleme (input sanitization) ve çıktı doğrulamanın yerine değil, bunların yanında bir katman olarak konumlandırıyor.
Ayrıca yazıdaki her rakamın — ceza matematiğinden gecikme iddiasına kadar — satıcının kendisinden geldiğini belirtmekte fayda var. Hiçbir bağımsız benchmark'a atıf yapılmıyor ve gösterim, üretim seviyesindeki bir asistan yerine küçük bir oyuncak model kullanıyor.
Neden önemli
Prompt-injection azaltma önlemlerinin çoğu metin üzerinde etki eder: girdiyi temizler ya da çıktıyı filtreler. Kontrol noktasını örnekleme yapan modüle taşımak yapısal olarak farklı bir fikir, çünkü modelin neydenyayınlayabileceğini, saldırganın girdiye ne sızdırdığından bağımsız olarak kısıtlıyor ve diğer savunmalarla sorunsuz şekilde birleşiyor. Güvenilmeyen kullanıcı metni ile ayrıcalıklı bağlamın aynı prompt içinde bulunduğu, müşteriye dönük LLM özellikleri geliştiren ekipler için token seviyesinde bir güvence, en kötü hata biçimlerine — sızan kimlik bilgileri, açığa çıkan system prompt'lar, yetkisiz eylemlere — karşı ucuz bir sigarettir.
Ödün ise kırılganlık. İfade listeleri her alan için ayrı bakım gerektirir ve yaratıcı saldırganların her zaman gerisinde kalır, dolayısıyla garanti mutlak değil olasılıksaldır. Eğitim yazısının kendi çerçevesi dürüst olanı: bu bir derinlemesine savunmadır ve resk-logits bir çözüm değil, yararlı bir yeni katmandır.
- #prompt-injection
- #llm-security
- #chatbots
- #python
- #inference