Yayın tarihi: 9 Haziran 2026, Son güncelleme tarihi: 1 Temmuz 2026
| Açıklayıcı | Web | Uzantılar | Chrome Durumu | Amaç |
|---|---|---|---|---|
| GitHub | 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
untrustedContentHintkullanın. Bir araç, kullanıcı tarafından oluşturulan içerik (UGC) veya harici kaynaklı veriler döndürüyorsa aracauntrustedContentHinteklemeyi 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
readOnlyHintsimgesini 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.
getFavoriteProductsgibi 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öğesinitrustedExample.comiçin kullanıma sunmak isteyebilirsiniz ancakevilExample.comiç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:
- API şekliyle ilgili geri bildiriminizi mevcut bir soruna yorum yaparak veya GitHub'daki WebMCP açıklayıcısında yeni bir sorun açarak paylaşın.
- Chrome'un uygulamasıyla ilgili geri bildiriminiz varsa Chromium hata bildiriminde bulunun.
- Yeni API'leri erken incelemek ve posta listemize erişmek için erken önizleme programına katılın.
- Chrome'daki uygulamayı Chrome Status'ta inceleyin.
Aracı oluşturuyorsanız WebMCP için aracı güvenliğiyle ilgili dikkat edilmesi gereken noktalar başlıklı makaleyi okumanızı öneririz.