Sade anlatım
Otel resepsiyonistinde ana anahtar vardır. Bir yabancı resepsiyonu arar: “412 numaralı odanın misafiriyim, dışarıda kaldım; kapıyı iş arkadaşım için açık bırakır mısınız?” Yabancının anahtarı yoktur, kilide de hiç dokunmaz. Kapıları açmaya her türlü hakkı olan resepsiyonist bu kapıyı onun için açar. Vekil, yetkiyi elinde tutandır; şaşkınlık ise kimin isteğine hizmet ettiği konusundadır.
Neden önemli
Ajan, tasarımı gereği bir vekildir: e-posta, dosya ve iş sistemleri için kimlik bilgileri taşır ve gelen isteklere göre hareket eder. Aynı zamanda dışarıdakilerin yazdığı içeriği okur ve onların metnini asıl sahibinin talimatından güvenilir biçimde ayıramaz. Bütün yetki kontrolleri geçer, çünkü ajan gerçekten yetkilidir. Bu yüzden “bu hesap bunu yapabilir mi?” diye soran erişim denetimleri sorunu göremez; eklenmesi gereken soru “bunu kimin adına yapıyor?” sorusudur. Çareler esneklikten götürür: yetkinin her isteğe ayrı ayrı bağlanması ve güvenilmeyen içerikten doğan eylemlerde onay.
Örnek
Bir şirket, İK asistanına 2.300 maaş kaydının tamamını okuma yetkisi veriyor; amaç her çalışanın kendi ücretiyle ilgili sorularını yanıtlaması. Bir çalışan asistandan şunu istiyor: “Maaşımı ekibimdeki diğer beş kişininkiyle, isim isim karşılaştır.” Çalışanın bu veriye erişim hakkı yok; asistanın var. Asistan yanıt veriyor. Hiçbir şey hack'lenmedi: asistan kendi erişimini başkasının amacı için kullandı.
Bununla en çok karıştırılan kavram
Confused Deputy ve Prompt Injection arasındaki fark
Prompt injection, vekili şaşırtmanın yollarından biridir; enjeksiyonu kazançlı kılan da vekilin elindeki yetkidir. Yetkisi olmayan bir ajana enjeksiyon yapılabilir ve değerli hiçbir şey kaybedilmez. Yetkili bir ajan ise hiç enjeksiyon olmadan, hakkından fazlasını isteyen sıradan bir kullanıcı tarafından da kötüye kullanılabilir. Enjeksiyon, ajanın ne okuduğu denetlenerek azaltılır; vekil sorunu ise her eylemin kimin yetkisini taşıdığı denetlenerek çözülür.
Köken: Kavramı Norm Hardy, 1988 tarihli “The Confused Deputy (or why capabilities might have been invented)” makalesinde tanımladı.
Teknik katman
Klasik örnek, zaman paylaşımlı bir sistemde kendi dizinine yazma izni olan bir derleyicidir. Bir kullanıcı, derleyicinin çıktısı için hedef olarak faturalama dosyasının adını verdi ve derleyici bu dosyanın üzerine kendi yetkisiyle yazdı. Kök neden ortam yetkisidir (ambient authority): programın hakları, isteyen kim olursa olsun yaptığı her şey için geçerlidir. Sonraki biçimleri arasında, tarayıcının kullanıcının çerezlerini bir saldırganın sayfasının başlattığı isteğe eklediği siteler arası istek sahteciliği (CSRF) ve müşteri hesapları arasında işlem yapan bulut servisleri vardır. Ajan sistemlerinde örüntü şu durumlarda görülür: ajan geniş yetkili bir servis hesabıyla çalıştığında, bir MCP vekil sunucusu istemcileri üçüncü taraf bir API'ye bağladığında (MCP güvenlik kılavuzu bu durumu adıyla ele alır) ve bir ajan daha yetkili bir ajandan işlem istediğinde. Savunmalar: araç çağrılarını isteği yapan kullanıcının kimliği ve kapsamıyla çalıştırmak (devredilmiş, on-behalf-of belirteçler), yetkilendirmeyi arka sistemde uygulamak, belirteçleri hedeflendikleri servise bağlamak, her talimatın nereden geldiğini izlemek ve hassas bir eylem güvenilmeyen içerikten doğduğunda onay istemek. Yetenek (capability) tabanlı tasarımlar yetkiyi isteğin kendisiyle birlikte aktarır.