Sorun
Aynı makinede birden fazla AI agent oturumu çalıştığında, onların birbirine yardım etmesini sağlamanın en bariz yolu — metni ileri geri göndermek — aynı zamanda tehlikelidir.
Bir agent'tan gelen mesaj talimat taşıyabilir ve bunu okuyan bir dil modeli, o talimatı sadece takip edebilir. Bu, confused-deputy sorunu ile prompt injection (istem enjeksiyonu) sorununun bir aradaki hali: gerçek bir istekle düşman niyetli bir "görevini unut, bunun yerine şunu yap" metin olarak birbirinden ayırt edilemez görünür.
Confused deputy, gerçek yetkiye sahip (komut çalıştırabilen, dosya okuyabilen, API çağırabilen) ve sırf bir mesaj öyle istediği için o yetkiyi başkası adına kullanmaya kandırılan bir agent'tır. Prompt injection ise bu kandırmanın özel tekniğidir: onu okuyan modele bir talimat gibi görünecek şekilde hazırlanmış metin.
"Metni olduğu gibi geçir" nötr bir tasarım tercihi değildir. Alıcı bir oturum, gelen bir mesajı uyulması gereken bir şey olarak ele alırsa, her gönderen potansiyel bir saldırgan hâline gelir — çıktısı akış-yukarısında manipüle edilmiş meşru bir peer oturumu bile dahil. Hata modu sessizdir: hiçbir şey çökmez, yanlış eylem sadece gerçekleşir.
Çözüm, kötü görünen mesajları filtrelemek değildir — saldırı metni tamamen normal bir istek gibi görünecek şekilde hazırlanabilir. Çözüm yapısaldır: ne söylediğine bakılmaksızın, gelen metnin asla yetki taşımasına izin vermemek.