Web sitenize WebMCP eklediğinizde, ziyaret eden AI ajanlarına çağırabilecekleri adlandırılmış araçlar sunarsınız. Ancak aynı araçlar, bu ajanları gönderen kişilere karşı kullanılabilir. Chrome'un geliştirici sitesi artık WebMCP için güvenlik rehberi sunuyor ve bu rehberin büyük kısmı ajanları oluşturan şirketlerden ziyade araçları sunan web siteleri için yazılmış. Web sitenizi WebMCP ile ajan hazır hale getirdiğinizde, aynı zamanda bir saldırı yüzeyi de açmış oluyorsunuz ve bu yüzeyi kapatmak ajanın değil sizin sorumluluğunuzda.
İki yıldır, ajan hazırlığı konuşmaları erişim üzerineydi: Bir ajan içeriğinize ulaşabilir mi, sayfanızı okuyabilir mi, ödeme işleminizi tamamlayabilir mi? WebMCP ise ajanın sitenizi işaretlemeden anlamasını ummaktan vazgeçip, ona adlandırılmış araçlar sunmaya başladığınız versiyon. Bu daha kullanışlı bir protokol ve ajanik web'in protokol katmanının ilerlediği yön. Aynı zamanda, bir ajana anlaşılır olmakla bir ajan için güvenli olmanın aynı özellik olmaktan çıktığı yer.
Chrome'un ajan güvenlik rehberi iki saldırı vektörü tanımlıyor ve her ikisi de web sitesinin sunduğu araçlar aracılığıyla geliyor. İlki kötü niyetli manifest: "Web siteleri, ajanı ele geçirmek için tasarlanmış araç adları, parametreler veya açıklamalarda gizli talimatlar içeren araç tanımlarına sahip olabilir." Bir aracın açıklaması, ajanın aracı nasıl kullanacağına karar vermek için okuduğu metindir, bu nedenle bir açıklama, ajanın asla takip etmemesi gereken bir talimat taşıyabilir.
Detaylar ve Etkileri
İkinci vektör ise çoğu web sitesinin karşılaşacağı türden ve kötü niyetli bir site gerektirmiyor. Chrome buna kontamine çıktı diyor: "Başka türlü güvenilir sitelerden gelen gerçek zamanlı araç yanıtları, kullanıcı yorumları gibi üçüncü taraf verilerinin bir parçası olarak kötü niyetli talimatlar içerebilir." Kendi web sitenizdeki ürün yorumlarınızı, yorum zincirlerinizi, forum gönderilerinizi veya destek yanıtlarınızı döndüren bir araç, başkalarının yazdığı metinleri döndürüyor. Bu kişilerden biri bir yorumun içine bir talimat yerleştirdiyse, meşru aracınız bunu sanki sizden gelmiş gibi ajana iletir. Yük, kendi kullanıcı tarafından oluşturulan içeriğinizdir ve siz onu davet ettiniz.
Bu, bir hata olmayan ve düzeltilmeyecek bir şey nedeniyle işe yarar: "LLM'ler tüm metni, talimatları ve kullanıcı verilerini tek bir token dizisi olarak ele alır," rehber diyor, bu nedenle model, sizin veri olarak kastettiğiniz kısmı bir saldırganın komut olarak kastettiği kısımdan güvenilir bir şekilde ayıramaz. Bu nedenle Chrome, "LLM'lerin olasılıksal doğası, modelin içinde güvenliği garanti etmeyi imkansız kılar" diyor. Bu, model içinde temiz bir düzeltmesi olmayan aynı prompt injection sorunudur, şimdi bir protokol giyiyor. WebMCP, bu saldırıya, bilerek yayınladığınız araçlar aracılığıyla temiz, yapılandırılmış bir teslimat yolu veriyor.
Chrome'un rehberi, yükümlülüğü yalnızca ajana değil, web sitesine de koyuyor. Chrome'un araç güvenlik belgesi, araçları sunan kişiye yönelik bir cümleyle açılıyor: "Araçlarınızı yalnızca güvendiğiniz kaynaklara maruz bırakın. Bu, özellikle araçlar kullanıcı verilerini yönettiğinde veya kullanıcıyı başka şekilde etkilediğinde önemlidir." Bu cümle, aracı gönderen kişi için yazılmış. Yani siz. Savunmalar somut ve gönderdiğiniz araçlara eklediğiniz notlar. `untrustedContentHint`, yükü açıkça güvenilmez olarak etiketler, sitenizin bütünlüğünü korumaya yardımcı olurken ajana bu verinin yüksek inceleme gerektirdiği sinyalini verir. Chrome ne zaman kullanılacağını söylüyor: "Bir araç kullanıcı tarafından oluşturulan içerik (UGC) veya harici kaynaklı veri döndürüyorsa, araca `untrustedContentHint` eklemeyi düşünün." `readOnlyHint`, durum değiştirmeyen bir aracı işaretler, ajanın kullanıcı onayı isteme konusunda daha iyi kararlar almasını sağlar. `exposedTo`, bir aracı kayıt sırasında güvendiğiniz kaynaklarla sınırlar.
Chrome ayrıca karakter bütçelerini de sınırlıyor: bir araç açıklaması 500 karakter, tek bir araç çıktısı yaklaşık 1.500 karakter. Ayrıca, bir eylemi gerçekleştirmeden önce onaylamak için `requestUserInteraction()` yolu ekliyor. Örneğin, bir alışveriş ajanına ürün yorumlarını sunan bir araç düşünün. Bunu güvence altına almak olağanüstü bir iş değil: çıktısını `untrustedContentHint` ile işaretleyin, `readOnlyHint` ayarlayın (satın almadığı için okur) ve `exposedTo`'yu gerçekten hizmet verdiğiniz kaynaklarla sınırlayın. Bunların hiçbiri ajanın işi değil. Araç yazarının işi, ki çoğu takımda bu, güvenlik tehdit modellerini okuyan kişiler değil, WebMCP'yi güncel görünmek için ekleyen web, CRO veya pazarlama kişileridir. Bu boşluk, işlerin yanlış gittiği yerdir. Hangi içeriğinizin veri olduğunu ve hangisinin komut olmadığını işaretlemek, artık bir aracı göndermenin bir parçası, tıpkı bir form göndermenin bir parçası olarak girdiyi temizlemenin bir parçası haline gelmesi gibi.
Uzmanların Görüşleri
WebMCP'yi benimseyin, ancak önce her aracı tehdit modelleyin. Bir ajana açık, çağrılabilir araçlar sunmak, ajanın sitenizi DOM'dan tahmin etmesinden daha iyidir ve bu yetenek sahip olmaya değer. Bunların hiçbiri WebMCP'den kaçınmak için bir neden değil. Mesele, 'yeni protokol, yeni tehlike'den daha dar ve sıkıcı: yetenek bir faturayla geliyor ve fatura size ait. Bu nedenle çizgi basit: Bir ajana, halka açık bir API ucu gibi tehdit modellemediğiniz bir aracı maruz bırakmayın. Kaydettireceğiniz her araç için, göndermeden önce bir soruyu yanıtlayın: Bu hangi güvenilmeyen içeriği döndürebilir ve bunu işaretlediniz mi? Bunu yanıtlayamıyorsanız, araç hazır değildir, sitenizin geri kalanı ne kadar ajan hazır görünse de. WebMCP erken aşamada. Bir Chrome orijinal denemesinde, spesifikasyon hala hareket ediyor ve çoğu web sitesi henüz tek bir araç sunmadı. Bu, ajan güvenliğini ajan hazırlığının bir parçası olarak kararlaştırmak için bir pencere, gönderdiğiniz ilk araç, yorumlarınızı ve içlerinde gizlenmiş her ne varsa bir ajana teslim eden araç olmadan önce.
Kaynak: searchenginejournal.com