Publicado em: 9 de junho de 2026. Última atualização: 1º de julho de 2026
| Explicação | Web | Extensões | Status do Chrome | Intenção |
|---|---|---|---|---|
| GitHub | Ver | Intenção de experimentar |
Você pode usar o Protocolo de Contexto de Modelo da Web (WebMCP) para criar e expor ferramentas estruturadas a agentes de IA em execução no navegador, incluindo agentes com tecnologia de extensões. Um agente usa um modelo de linguagem grande (LLM), regras, memória e ferramentas para executar ações em nome do usuário.
Como os LLMs tratam todo o texto, instruções e dados do usuário como uma única sequência de tokens, eles estão sujeitos à injeção indireta de comando, que é a inclusão de instruções maliciosas por um invasor. Nossa equipe escreveu este documento sobre segurança de ferramentas para ajudar você a proteger seu site e seus usuários contra pessoas de má-fé.
Embora alguns modelos tenham camadas que abordam a injeção de comando, é impossível garantir a segurança dentro de um modelo de linguagem grande (LLM). Os modelos são probabilísticos por natureza. É importante lembrar que houve ataques de injeção de comandos repetíveis contra sistemas agênticos que usam LLMs de última geração, e a prevalência de ataques na Web está aumentando.
Para resolver essas questões, fornecemos orientações preliminares sobre segurança para quem cria ferramentas com o WebMCP.
Usar dicas de anotação
Há algumas dicas que você precisa adicionar ao criar suas ferramentas:
- Use
untrustedContentHintquando apropriado. Se uma ferramenta retornar conteúdo gerado pelo usuário (CGU) ou dados de fontes externas, considere adicionar ountrustedContentHinta ela. Esse campo rotula explicitamente a carga útil como não confiável para ajudar a proteger a integridade do site e fornecer um indicador ao agente de que esses dados exigem mais atenção. - Use o
readOnlyHintem ferramentas que não mudam de estado. Isso permite que o agente tome decisões melhores sobre quando pedir confirmações do usuário.
Exponha suas ferramentas com cuidado
A API document.modelContext.registerTool do WebMCP expõe apenas a funcionalidade da ferramenta aos agentes. Por padrão, outros sites ou iframes de origem cruzada não podem observar nem interagir com suas ferramentas.
Você pode dar acesso à sua ferramenta com a opção
exposedTo em
registerTool para uma matriz de origens específicas e seguras. Isso expõe sua ferramenta a essas origens quando ela é incorporada ao seu site e quando seu site é incorporado a essa origem.
// https://partner.org
await document.modelContext.registerTool({
name: 'my_shared_tool',
description: 'Shared across origins',
// ...
}, {
exposedTo: ['https://trusted.com', 'https://example.com']
});
Só exponha suas ferramentas a origens confiáveis. Isso é particularmente importante quando as ferramentas gerenciam dados do usuário ou afetam o usuário de alguma forma.
- Uma ferramenta somente leitura, como o
getFavoriteProducts, pode revelar informações sobre um usuário. Exponha essas ferramentas apenas a sites com os quais você compartilharia esses dados diretamente. - As ferramentas com acesso de leitura e gravação agem em nome de um usuário. Essas ferramentas
só devem ser expostas a origens confiáveis quando agem em
nome do usuário. Por exemplo, você pode querer expor
postCommentatrustedExample.com, mas não aevilExample.com.
Definir orçamentos de caracteres
Para evitar violações das proteções do agente, escreva descrições e saídas de ferramentas concisas. Recomendamos os seguintes limites de caracteres para melhores resultados:
- 500 caracteres por descrição da ferramenta
- 150 caracteres por descrição de parâmetro
- 30 caracteres por nome de ferramenta e parâmetro
- Limite de 1.500 caracteres por saída de ferramenta individual
É provável que haja alguma variação entre os agentes, e talvez seja necessário ajustar os orçamentos de caracteres com o feedback dos usuários.
Próximas etapas
Continuamos pesquisando e trabalhando na criação de uma infraestrutura segura para a Web agentiva. Por exemplo, há uma discussão em andamento sobre o gerenciamento de consentimento entre as partes, e o rascunho da especificação inclui requestUserInteraction() para solicitar de forma assíncrona a entrada do usuário na execução da ferramenta.
Como você planeja implementar o WebMCP no seu aplicativo? Você tem outras dúvidas, de segurança ou não? Se você se inscrever no teste de origem do WebMCP, queremos saber sobre sua experiência:
- Compartilhe seu feedback sobre o formato da API comentando um problema atual ou abrindo um novo no WebMCP explainer no GitHub.
- Se você tiver feedback sobre a implementação do Chrome, registre um bug do Chromium.
- Participe do programa de prévia antecipada para conhecer as novas APIs e ter acesso à nossa lista de e-mails.
- Revise a implementação do Chrome em Chrome Status.
Se você estiver criando um agente, recomendamos que leia Considerações de segurança do agente para WebMCP.