Pubblicato il 9 giugno 2026. Ultimo aggiornamento: 1° settembre 2026
| Video esplicativo | Web | Estensioni | Stato di Chrome | Intenzione |
|---|---|---|---|---|
| GitHub | Visualizza | Intenzione di sperimentare |
Puoi utilizzare il Model Context Protocol web (WebMCP) per creare ed esporre strumenti strutturati agli agenti AI in esecuzione nel browser, inclusi gli agenti basati su estensioni. Un agente utilizza un modello linguistico di grandi dimensioni (LLM), regole, memoria e strumenti per eseguire azioni per conto dell'utente.
Poiché i modelli LLM trattano tutto il testo, le istruzioni e i dati utente come una singola sequenza di token, sono soggetti all'indirect prompt injection, un'inclusione di istruzioni dannose da parte di un malintenzionato. Il nostro team ha scritto questo documento sulla sicurezza degli strumenti per aiutarti a proteggere il tuo sito web e i tuoi utenti da utenti malintenzionati.
Sebbene alcuni modelli abbiano livelli che gestiscono l'iniezione di prompt, è impossibile garantire la sicurezza all'interno di un modello linguistico di grandi dimensioni (LLM). I modelli sono probabilistici per natura. È importante ricordare che sono stati ripetuti attacchi di prompt injection contro sistemi agentici che utilizzano LLM allo stato dell'arte e la prevalenza di attacchi sul web è in aumento.
Per rispondere a queste preoccupazioni, abbiamo fornito indicazioni preliminari sulla sicurezza per chi crea strumenti con WebMCP.
Utilizzare i suggerimenti per le annotazioni
Quando crei i tuoi strumenti, devi aggiungere alcuni suggerimenti:
- Utilizza
untrustedContentHintove opportuno. Se uno strumento restituisce contenuti generati dagli utenti o dati provenienti da fonti esterne, valuta la possibilità di aggiungereuntrustedContentHintallo strumento. Questo campo etichetta esplicitamente il payload come non attendibile, per contribuire a proteggere l'integrità del tuo sito fornendo un segnale all'agente che indica che questi dati richiedono un controllo più approfondito. - Utilizza
consequentialHintper azioni ad alto rischio o non reversibili. Se l'esecuzione di uno strumento comporta azioni significative, come la prenotazione di un viaggio o il trasferimento di denaro, impostaconsequentialHint: truein modo che l'agente o il browser possa richiedere la conferma dell'utente prima dell'esecuzione. - Utilizza il
readOnlyHintsugli strumenti che non cambiano stato. In questo modo, l'agente può prendere decisioni migliori su quando chiedere le conferme degli utenti.
Esporre gli strumenti con attenzione
L'API WebMCP document.modelContext.registerTool espone solo la funzionalità dello strumento agli agenti. Per impostazione predefinita, altri siti web o iframe multiorigine
non possono osservare o interagire con i tuoi strumenti.
Puoi fornire l'accesso al tuo strumento con l'opzione
exposedTo in
registerTool a una serie di origini specifiche e sicure. In questo modo, lo strumento viene esposto a queste origini quando è incorporato nel tuo sito e quando il tuo sito è incorporato in quell'origine.
// https://partner.org
await document.modelContext.registerTool({
name: 'my_shared_tool',
description: 'Shared across origins',
// ...
}, {
exposedTo: ['https://trusted.com', 'https://example.com']
});
Esporre i tuoi strumenti solo a origini attendibili. Ciò è particolarmente importante quando gli strumenti gestiscono i dati degli utenti o influiscono in altro modo sull'utente.
- Uno strumento di sola lettura, come
getFavoriteProducts, può rivelare informazioni su un utente. Devi esporre questi strumenti solo ai siti web con cui altrimenti condivideresti direttamente questi dati. - Gli strumenti con accesso in lettura e scrittura agiscono per conto di un utente. Questi strumenti
devono essere esposti solo alle origini che decidi di considerare attendibili quando agiscono per conto del tuo utente. Ad esempio, potresti voler esporre
postCommentatrustedExample.com, ma non aevilExample.com.
Impostare i budget dei caratteri
Per evitare di incorrere nelle misure di protezione degli agenti, scrivi descrizioni e output degli strumenti succinti. Per ottenere risultati migliori, consigliamo i seguenti limiti di caratteri:
- 500 caratteri per descrizione dello strumento
- 150 caratteri per descrizione del parametro
- 30 caratteri per nome strumento e nome parametro
- Limite di 1500 caratteri per l'output di ogni singolo strumento
È probabile che ci sia una certa variazione tra gli agenti e potresti voler modificare i budget dei caratteri in base al feedback degli utenti.
Passaggi successivi
Continuiamo a fare ricerche e a lavorare alla creazione di un'infrastruttura sicura per
il web agentico. Ad esempio, è in corso una
discussione sulla gestione del consenso
tra le parti e la bozza delle specifiche include
requestUserInteraction()
per richiedere in modo asincrono l'input dell'utente durante l'esecuzione dello strumento.
Come prevedi di implementare WebMCP nella tua applicazione? Hai altri dubbi, di sicurezza o di altro tipo? Se ti registri alla prova dell'origine WebMCP, vogliamo conoscere la tua esperienza:
- Condividi il tuo feedback sulla forma dell'API commentando un problema esistente o aprendone uno nuovo nella spiegazione di WebMCP su GitHub.
- Se hai feedback sull'implementazione di Chrome, segnala un bug di Chromium.
- Partecipa al programma di anteprima per dare un'occhiata in anteprima alle nuove API e accedere alla nostra mailing list.
- Esamina l'implementazione per Chrome su Stato di Chrome.
Se stai creando un agente, ti consigliamo di leggere Considerazioni sulla sicurezza degli agenti per WebMCP.