Çok modlu girdiyi sertleştirmek
- Kanal başına temizlik, güven düzeyi, çıktı süzme ve dış istek kısıtını tek bir savunma mimarisinde birleştirmeyi öğrenirsin.
- Bu derste kanal başına temizleme, güven düzeyi, çıktı filtreleme ve dış istek kısıtını tek mimariye bağlayacaksın.
- Sonunda çok modlu bir asistanın savunma planını baştan sona yazar ve gerilemeyi kanal bazında ölçersin.
Puan bütün etkinlikleri cevaplayınca hesaba yazılır. Bu dersi tamamlayınca +60 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.
Önceki üç derste kanalları tek tek gördün. Şimdi hepsini aynı mimaride birleştir. Temel fikir basit: girdi kanalları eşit değildir, o yüzden aynı muameleyi görmemeli.
Görsel, ses, belge ve web içeriği ile sistem promptu aynı akışta buluşur, ama aynı güveni hak etmez. Mimarinin işi bu farkı akışın en başında kurmaktır. Kanalları eşit sayan bir sistem, en güvenilir talimatla en şüpheli veriyi tek bir yığında karıştırır ve saldırgan tam bu yığının içine yerleşir.
Kanallar eşit değildir
Her kanala bir güven düzeyi ata. Sistem promptu en yüksek düzeyde durur, çünkü onu sen yazarsın. Oturum sahibi kullanıcının yazdığı metin orta düzeydedir.
Görsel, ses, belge ve web içeriği en düşük düzeydedir, çünkü içeriğini üçüncü taraf belirler. Bu sıralama keyfi değildir; her kanalın içeriğini kimin kontrol ettiğini yansıtır. Kontrol sende değilse, güven de düşüktür. Bir metnin ikna edici ya da resmi görünmesi güven düzeyini yükseltmez; tek ölçüt, o içeriği kimin belirlediğidir.
Bu ayrım teorik değildir. Üretimde çalışan bir asistan aynı anda kullanıcı mesajı, yüklenen belge ve web araması sonucu alabilir. Her kanalı aynı güvende işlersen, en zayıf kanal bütün sistemin güven düzeyini belirler. Mimariyi kanal başına kurmak, bu zayıf halkanın etkisini yalıtır.
Önce prensibi kur, sonra kodu yaz, sonunda ölçümü ekle. Bu üç adım birbirini tamamlar. Prensip olmadan kod dağınık kalır, ölçüm olmadan da kodun gerçekten çalışıp çalışmadığını bilemezsin.
Güven düzeyi, modelin bir metne ne kadar söz hakkı tanıyacağını belirler. Yüksek düzeyli bir kanal görev tanımını değiştirebilir, araç çağırabilir, karar verebilir.
Düşük düzeyli bir kanal yalnız okunur ve özetlenir, hiçbir eylemi tetikleyemez. Bu kuralı kodda sabitlersin: düşük güvenli bir metin bir araç çağrısı önerse bile, çağrı o istekte kapalıdır. Böylece modelin ikna edilmesi tek başına yetmez; eylemin kapısı, metnin geldiği kanalın düzeyine bağlıdır. Düzeyleri net ayırmak, saldırganın en çok umduğu şeyi, yani düşük güvenli metnin yüksek güvenli bir emir gibi davranmasını engeller.
Etkinlik 1 / 5
Kanalları en yüksek güven düzeyinden en düşüğe doğru sırala.
Bir öğeye odaklan, yukarı ve aşağı ok tuşlarıyla taşı. Home tuşu en üste, End tuşu en alta alır.
- 1Anonim yorum alanından gelen metin
- 2Web sayfasından çekilen içerik
- 3Kullanıcının yüklediği belge
- 4Sistem promptu
- 5Doğrulanmış kullanıcının mesajı
Kanal başına temizlik
Güven düzeyi tek başına yetmez, kanal başına temizleme gerekir. Görselde OCR çıktısını normalleştirirsin. Seste yazıya çevrilen metni tek kodlamaya indirirsin. Belgede görünmez karakterleri atar ve uzunluğu kesersin.
Her kanalın kendi kiri, kendi fırçası var. Tek bir genel temizlik, bir kanalın taşıdığı özel riski gözden kaçırır; kanala özel temizlik ise o riski hedefler. Görselin riski gizli punto, belgenin riski beyaz metin, sesin riski konuşmacı karışması; hepsini aynı fonksiyonla çözemezsin.
KANALLAR = {
"sistem": {"guven": 3, "temizlik": None},
"kullanici": {"guven": 2, "temizlik": normallestir},
"belge": {"guven": 1, "temizlik": belge_temizle},
"gorsel": {"guven": 1, "temizlik": ocr_temizle},
"web": {"guven": 0, "temizlik": web_temizle},
}
def isteme_ekle(kanal, metin):
ayar = KANALLAR[kanal]
if ayar["temizlik"]:
metin = ayar["temizlik"](metin)
return sarmala(kanal, ayar["guven"], metin)Tabloyu satır satır oku. Her kanalın bir adı, bir güven düzeyi ve kendine ait bir temizlik fonksiyonu var. Sistem promptunun temizliği yok, çünkü kaynağı sensin ve düzeyi en yüksek.
Fonksiyon çağrıldığında önce kanalın ayarını bulur, tanımlıysa temizlik fonksiyonunu uygular, sonra metni kanal ve güven bilgisiyle birlikte sarmalar. Bu tasarımın gücü genişletilebilir olmasıdır: yeni bir kanal eklemek, tabloya tek bir satır yazmak demektir ve o kanal anında aynı disipline girer.
Bu merkezi tablonun bir yan kazancı daha var: güven kuralların tek bir yerde toplandığı için denetlenmesi kolaydır. Bir incelemeci tabloya bakıp her kanalın hangi düzeyde olduğunu ve nasıl temizlendiğini bir bakışta görür. Kuralı değiştirmek de tek satırlık bir iştir, bu yüzden yanlış bir ayar hızlı düzeltilir.
Dağınık koşullarla her yere serpiştirilmiş güven kararları ise hem gözden kaçar hem de birbiriyle çelişir. Güvenliği merkezileştirmek, onu okunur ve bakımı yapılır kılar; dağıtmak ise zamanla kontrolden çıkarır.
Etkinlik 2 / 5
Yukarıdaki tabloya yeni bir ses kanalı eklenirse varsayılan güven düzeyi ne olmalı?
Önce kodu oku, sonra çıktıyı seç.
KANALLAR["ses"] = {"guven": ?, "temizlik": ses_temizle}Sarmalama ve tahmin edilemez işaret
Üçüncü parça sarmalamadır. Düşük güvenli metni belirgin bir sınırla çevrele ve sistem promptunda o sınırın anlamını tanımla. Sınır içindeki her şeyin incelenecek veri olduğu cümlesi modele açık bir kural verir.
Kesin çözüm değildir ama ölçülebilir kazanç verir. Bu yaklaşımı sistematik biçimde inceleyen çalışmalar, kaynağı sürekli işaretlemenin saldırı başarısını belirgin düşürdüğünü gösterdi. Sarmalama modele hangi metnin veri olduğunu hatırlatır, ama bu hatırlatma ancak sınır işareti taklit edilemezse işe yarar.
Bu işareti üretmek zor değildir. Her istek için güvenli bir rastgele sayı üretecinden kısa bir dizi al, örneğin on altı baytı onaltılık yazıya çevir ve düşük güvenli metni bu değerle açıp kapat. Sistem promptunda yalnız o isteğe özel işareti tanımla.
Saldırgan işareti önceden bilemeyeceği için sarmalayıcıyı taklit edip kendi metnini talimat gibi gösteremez. İşaret her istekte değiştiği için bir kez sızması da işe yaramaz. Sabit ve tahmin edilebilir bir işaret ise tam tersine saldırgana kapıyı açar; onu kopyalayıp kendi metnini sınır dışına taşıyabilir.
Sarmalamayı tek savunma sanma. İşaret ne kadar iyi olursa olsun, model yine de yanılabilir; bu yüzden sarmalama her zaman kodda tutulan yetki sınırının yanında durur.
Sarmalama modelin doğru ayrımı yapma şansını artırır, yetki sınırı ise yanlış ayrım yaptığında zararı keser. İkisi farklı katmanlardır ve birbirinin yerine geçmez. En sağlam tasarım, modelin iç kararına değil, o kararın dışındaki sabit kurallara dayanır; model ikna edilse bile bu kurallar yerinde kalır ve eylemin kapısını kapalı tutar.
Etkinlik 3 / 5
Çok modlu bir asistanda girdi sertleştirmesine ait olan adımlar hangileridir?
Derinleş:Spotlighting: kaynağı sürekli işaretlemek
Sarmalama fikrinin sistematik hâline spotlighting denir. Hines ve arkadaşlarının 2024 çalışması üç yöntem tanımladı. Sınırlama, düşük güvenli metni belirgin işaretlerle çevreler.
Veri işaretleme, o metnin her boşluğuna görünür bir belirteç serpiştirir, böylece model hangi bölümün veri olduğunu her kelimede hatırlar. Kodlama ise düşük güvenli metni başka bir gösterime çevirip modele bunun yalnız veri olduğunu bildirir. Çalışma, GPT modelleriyle yapılan deneylerde dolaylı enjeksiyon başarısını yüzde ellinin üstünden yüzde ikinin altına indirdiğini ve görev doğruluğuna etkisinin az olduğunu bildirdi.
Yöntemin gücü, kaynağı tek bir sınırda değil, metnin tamamı boyunca sürekli işaretlemesinden gelir. Yine de tek başına yeterli sayılmaz; kodda tutulan yetki ve ağ kısıtının yerine değil, yanına konur.
Üç kapı: girdi, çıktı, ağ
Çıktı tarafı ayrı bir kapıdır ve ayrı kurallarla çalışır. Yanıtı kullanıcıya vermeden önce dış adresleri süz, kodlanmış uzun parametreleri işaretle, kişisel veri kalıplarını maskele. Girdi kapısı aşılsa bile bu kapı zararı sınırlar.
Girdi kapısı doğru metni içeri almaya, çıktı kapısı ise yanlış metni dışarı vermemeye bakar. İkisi farklı anları korur ve biri diğerinin görevini üstlenemez; girdi ne kadar iyi süzülürse süzülsün, çıktı denetimsiz kalırsa sızıntı yine mümkündür.
Dış istek kısıtı bu zinciri tamamlar. Arayüzde dış kaynak yüklemesini kapat, sunucu tarafında ise ajanın ulaşabileceği alan adlarını izinli bir listeyle sınırla. Model kandırılsa ve veri üretilse bile paket ağdan dışarı çıkamaz.
Üç kapı üst üste durduğunda, birinin aşılması saldırıyı tamamlamaya yetmez; saldırganın üçünü birden geçmesi gerekir. Bu katmanlı yapı, tek bir savunmanın kusursuz olmasını beklemek yerine, her katmanın diğerinin açığını kapatmasına dayanır ve toplam dayanıklılık tek bir katmanın gücünden çok daha yüksek olur.
Üç kapıyı ayrı tutmanın bir nedeni de her birinin farklı kişilerce bakılabilmesidir. Girdi kapısını içerik ekibi, çıktı kapısını arayüz ekibi, ağ kısıtını altyapı ekibi sahiplenir. Kapılar birbirine karışırsa, kimin neyi koruduğu belirsizleşir ve bir açık ortada kalır.
Ayrık kapılar aynı zamanda test etmeyi kolaylaştırır: her kapıyı kendi başına zorlayıp zayıf noktayı tek tek bulursun. Bir saldırı senaryosunu çalıştırırken, hangi kapının tuttuğunu ve hangisinin geçit verdiğini net görürsün; bu da onarımı hedefli kılar.
Etkinlik 4 / 5
Her önlemi ait olduğu kapıya yerleştir.
Ö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/6 seçenek yerleşti.
Kanal bazında ölçme
Son olarak ölçme. Her kanal için ayrı test kümesi tut. Görselde gizli talimat, belgede beyaz metin, seste gömülü cümle, yanıtta dış adres.
Sürüm yükseltmelerinden sonra hepsini tekrar koş ve geçiş oranlarını kanal bazında karşılaştır. Ölçmeyi mimarinin bir parçası say; savunma ancak ölçülebildiği kadar güvenilirdir. Test kümesini bir kez yazıp kenara koymak yetmez; yeni saldırı biçimleri çıktıkça kümeye ekler ve her sürümde yeniden koşarsın.
Kanal bazında ölçmezsen tek bir toplam oran görürsün ve o oran gerileyen kanalı gizler. Bir kanal iyileşirken diğeri bozulabilir. Ayrı satırlar tutarsan hangi kapının zayıfladığını ilk raporda görürsün.
Çok modlu ajanların dayanıklılığını inceleyen çalışmalar, tek bir kanaldaki küçük bir değişikliğin bile saldırı başarısını ciddi biçimde artırabildiğini gösterdi. Bu yüzden toplam bir başarı oranına güvenmek, gerçekte açılan bir kapıyı fark etmeni geciktirir.
Örneğin görsel kanalındaki geçiş oranı yüzde doksan beşten yüzde seksene düşerse, bu düşüşü tek bir toplam grafikte fark edemezsin çünkü diğer kanallar hâlâ iyi görünür. Kanal bazlı satırlar bu düşüşü hemen gösterir ve hangi savunmanın gevşediğini işaret eder. Bu yüzden raporlamayı en baştan kanal bazlı kur; sonradan ayırmak çok daha pahalıdır. Bir de her ölçümü sürüm numarasıyla sakla, böylece hangi güncellemenin hangi kanalı bozduğunu geriye dönük izleyebilirsin.
Ölçmeyi otomatikleştir. Her sürümden önce test kümesini kendiliğinden koşan bir boru hattı kur; sonuçları kanal bazında bir tabloya yaz ve bir kanalın geçiş oranı belirlediğin eşiğin altına düşerse yayını durdur. Böylece gerileme bir insanın fark etmesini beklemez, kapıda yakalanır.
Elle koşulan testler zamanla ihmal edilir; otomatik koşan testler ise her sürümde aynı titizlikle çalışır. Ölçüm bir kez kurulduğunda, savunmanın gerçekten durup durmadığını her sürümde sana söyleyen sessiz bir bekçiye dönüşür.
Derinleş:Çok modlu ajanlar ne kadar kırılgan
Wu ve arkadaşlarının 2024 çalışması, çok modlu ajanların saldırıya karşı ne kadar dayanıklı olduğunu ölçmek için Agent Robustness Evaluation adında bir çerçeve kurdu ve VisualWebArena üzerinde iki yüz saldırı görevi hazırladı. Sonuçlar üç noktayı öne çıkardı. Birincisi, saldırganlar sayfadaki tek bir görseli, yani sayfa piksellerinin yüzde beşinden azını, fark edilmez biçimde bozarak yüzde altmış yediye varan başarı oranına ulaştı.
İkincisi, yansıma ve ağaç araması gibi ileri ajan tasarımları da bu saldırılara açık çıktı. Üçüncüsü, normal işte sonucu iyileştiren bileşenler yeni açıklar getirdi. Saldırgan yansıma ajanının değerlendiricisini ya da ağaç aramasının değer fonksiyonunu kandırdığında saldırı başarısı göreli olarak yüzde on beş ve yüzde yirmi arttı.
Çalışmanın dersi ölçmeyle ilgilidir: bir sürüm daha yetenekli olabilir ama aynı anda daha kırılgan hale gelebilir. Kanal bazlı ve saldırı bazlı ölçüm olmadan bu gerileme görünmez kalır.
Etkinlik 5 / 5
Görselden gelen talimatın en ucuz ve en kesin biçimde durdurulduğu katmanı seç.
Diyagramda doğru kutuyu tıkla.
Okumayı istediğin sırayla sürdürebilirsin. Ders, bütün etkinlikleri cevapladığında tamamlanır.