Prompt Injection Nasıl Çalışır
Prompt injection, bir yapay zekâ modelinin işlediği içeriğe, operatörün amacını geçersiz kılmak hedefiyle düşmanca talimatlar yerleştirilmesidir. Dil modeli, talimat ile veriyi temiz biçimde ayırmaz: bağlamındaki her şey, yani sistem prompt’u, kullanıcının isteği, çekilen bir web sayfası, bir e-posta, bir belge, bir tool çağrısının sonucu, modelin uyulacak bir şey olarak ele alabileceği metindir. Saldırgan bunu, talimatları modelin okuyacağı yere ekerek istismar eder.
İki biçim ayırt edilir. Doğrudan prompt injection, modelle etkileşen kullanıcıdan gelir; kullanıcı, modele verilen kuralları geçersiz kılacak girdiler kurgular. Dolaylı prompt injection ise kurumlar için daha tehlikeli olandır: talimatlar, modelin işi sırasında eriştiği içeriğin içine gizlenir; özetlediği bir web sayfası, önceliklendirdiği bir e-posta, analiz ettiği bir belge, tükettiği bir tool sonucu. Operatör kötü niyetli metni hiç görmez; model onunla görevin ortasında karşılaşır ve ona uyabilir.
Neden Önemli
Yalnızca soru yanıtlayan bir sohbet botunda başarılı bir injection kötü bir yanıt üretir; utandırıcıdır ama sınırlıdır. Yapay zekânın tool’ları ve kimlik bilgileri olduğunda risk kategori değiştirir. E-posta okuyan, veritabanı sorgulayan ve API çağıran bir ajan, davranışı okuduğu herhangi bir şeyle yönlendirilebilen bir ajandır: başarılı bir injection, ona erişebildiği veriyi dışarı sızdırtabilir veya kimlik bilgilerinin izin verdiği eylemleri tetikletebilir. Üstelik bu olurken ilgili her sistem, tamamen meşru ve doğrulanmış çağrılar görür.
Sorunu yapısal kılan, hiçbir model düzeyi filtrenin eksiksiz olmamasıdır. Tespit sezgileri ve güvenlik eğitimi çıtayı yükseltir; ama talimat ile veri arasındaki belirsizlik, dil modellerinin çalışma biçiminin doğasında vardır ve yeni atlatma yolları ortaya çıkmaya devam eder. Bu yüzden güvenlik ekipleri prompt injection’a oltalama saldırılarına yaklaştıkları gibi yaklaşır: ortadan kaldırılacak bir şey olarak değil, ara sıra hedefini bulacak bir şey olarak. Bu da tasarım sorusunu önlemeden patlama yarıçapına, yani blast radius’a kaydırır.
Derinlemesine Savunma
Çalışma varsayımı derinlemesine savunmadır: model çıktısını güvenilmeyen girdi olarak ele alın ve model kandırıldığında bile ayakta kalan kontrolleri kurun. Ajanlara en az ayrıcalıklı tool kapsamları verin; yönlendirilmiş bir ajan yalnızca meşru olarak elindekini kötüye kullanabilsin. Hangi tool’ların onun için var olduğunu izin listesiyle belirleyin; ajanın keşfedemediği bir tool, injection’ın çağıramayacağı bir tool’dur. Yıkıcı çağrılar için insan onayı isteyin; en zararlı eylemler, ajan onları neden önerirse önersin, bir insan için beklesin. Anormal davranışı yakalamak için her çağrıyı izleyin ve denetleyin; yanlış davranan bir ajanı anında durduran bir kill-switch bulundurun.
Bu kontrollerin ortak özelliği, modelin dışında, kimlik katmanında yaşamalarıdır. Injection’ın fark edilmesine, modelin ona direnmesine veya modelin iç işleyişine dair herhangi bir varsayıma bağlı değildirler: yetkilendirme eylem noktasında uygulanır; bu yüzden korkuluklar, model kandırılmış olsun ya da olmasın yerinde durur. Monosign’ınki gibi kimlik farkındalıklı bir MCP gateway, ele geçirilmiş bir ajanın gerçekte ne yapabileceğini sınırlar.