WebMCP aracının güvenliği

Julia Pagnucco
Julia Pagnucco
Alexandra Klepper
Alexandra Klepper

Yayın tarihi: 9 Haziran 2026, Son güncelleme tarihi: 1 Temmuz 2026

Açıklayıcı Web Uzantılar Chrome Durumu Amaç
GitHub Kaynak denemesi Kaynak denemesi Görünüm Deneme Amacı (Intent to Experiment)

Tarayıcıda çalışan yapay zeka aracılarına (uzantılarla desteklenen araçlar dahil) yapılandırılmış araçlar oluşturmak ve sunmak için Web Model Context Protocol'ü (WebMCP) kullanabilirsiniz. Aracı, kullanıcının adına işlemleri yürütmek için büyük dil modeli (LLM), kurallar, bellek ve araçlar kullanır.

LLM'ler tüm metinleri, talimatları ve kullanıcı verilerini tek bir parça dizisi olarak ele aldığından dolaylı istem enjeksiyonuna (saldırgan tarafından kötü amaçlı talimatların eklenmesi) karşı hassastır. Ekibimiz, web sitenizi ve kullanıcılarınızı kötü niyetli kişilerden korumanıza yardımcı olmak için bu belgeyi araç güvenliği hakkında yazdı.

Bazı modellerde istem enjeksiyonu saldırılarını ele alan katmanlar olsa da büyük dil modelinde (LLM) güvenliği garanti etmek mümkün değildir. Modeller doğası gereği olasılıksaldır. En yeni LLM'leri kullanan ajan tabanlı sistemlere karşı tekrarlanabilir istem enjeksiyonu saldırıları yapıldığını ve web'deki saldırıların yaygınlığının arttığını unutmamak önemlidir.

Bu endişeleri gidermek için WebMCP ile araç geliştirenler için güvenlik konusunda ön kılavuz hazırladık.

Ek açıklama ipuçlarını kullanma

Araçlarınızı oluştururken eklemeniz gereken birkaç ipucu vardır:

  • Uygun yerlerde untrustedContentHint kullanın. Bir araç, kullanıcı tarafından oluşturulan içerik (UGC) veya harici kaynaklı veriler döndürüyorsa araca untrustedContentHint eklemeyi düşünün. Bu alan, yükü açıkça güvenilmeyen olarak etiketler. Böylece, bu verilerin daha fazla inceleme gerektirdiğine dair bir sinyal sağlayarak sitenizin bütünlüğünün korunmasına yardımcı olur.
  • Durumu değiştirmeyen araçlarda readOnlyHint simgesini kullanın. Bu sayede aracı, kullanıcı onaylarını ne zaman isteyeceği konusunda daha iyi kararlar verebilir.

Araçlarınızı dikkatli bir şekilde kullanıma sunun

WebMCP document.modelContext.registerTool API, yalnızca aracın işlevini temsilcilere sunar. Varsayılan olarak, diğer web siteleri veya kaynaklar arası iFrame'ler araçlarınızı gözlemleyemez ya da araçlarınızla etkileşimde bulunamaz.

registerTool bölümündeki exposedTo seçeneğiyle, aracınıza bir dizi belirli ve güvenli kaynak için erişim sağlayabilirsiniz. Bu, aracınızı sitenize yerleştirildiğinde ve siteniz bu kaynağa yerleştirildiğinde bu kaynaklara maruz bırakır.

// https://partner.org

await document.modelContext.registerTool({
  name: 'my_shared_tool',
  description: 'Shared across origins',
  // ...
}, {
  exposedTo: ['https://trusted.com', 'https://example.com']
});

Araçlarınızı yalnızca güvendiğiniz kaynaklara açık tutun. Bu durum, özellikle araçlar kullanıcı verilerini yönettiğinde veya kullanıcıyı başka bir şekilde etkilediğinde önemlidir.

  • getFavoriteProducts gibi salt okunur bir araç, kullanıcı hakkında bilgi ortaya çıkarabilir. Bu araçları yalnızca aksi takdirde bu verileri doğrudan paylaşacağınız web sitelerine göstermelisiniz.
  • Okuma ve yazma erişimi olan araçlar, kullanıcı adına işlem yapar. Bu araçlar yalnızca kullanıcınız adına işlem yaparken güvenilebileceğine karar verdiğiniz kaynaklara sunulmalıdır. Örneğin, postComment öğesini trustedExample.com için kullanıma sunmak isteyebilirsiniz ancak evilExample.com için kullanıma sunmak istemeyebilirsiniz.

Karakter bütçeleri belirleme

Ajan koruma sınırlarına takılmamak için kısa ve öz araç açıklamaları ve çıkışları yazın. Daha iyi sonuçlar için aşağıdaki karakter sınırlarını kullanmanızı öneririz:

  • Araç açıklaması başına 500 karakter
  • Parametre açıklaması başına 150 karakter
  • Araç adı ve parametre adı başına 30 karakter
  • Her bir araç çıkışı için 1.500 karakter sınırı

Ajanlar arasında farklılıklar olması muhtemeldir. Bu nedenle, karakter bütçelerinizi kullanıcı geri bildirimlerine göre ayarlayabilirsiniz.

Sonraki adımlar

Ajan tabanlı web için güvenli bir altyapı oluşturma konusunda araştırmalarımıza ve çalışmalarımıza devam ediyoruz. Örneğin, taraflar arasında izin yönetimiyle ilgili devam eden bir tartışma var ve spesifikasyon taslağı, araç yürütülürken kullanıcı girişini eşzamansız olarak istemek için requestUserInteraction()'i içeriyor.

WebMCP'yi uygulamanıza nasıl entegre etmeyi planlıyorsunuz? Güvenlikle ilgili veya başka konularda endişeleriniz var mı? WebMCP kaynak denemesine kaydolursanız deneyiminiz hakkında bilgi edinmek isteriz:

Aracı oluşturuyorsanız WebMCP için aracı güvenliğiyle ilgili dikkat edilmesi gereken noktalar başlıklı makaleyi okumanızı öneririz.