Publicado em: 9 de junho de 2026
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 comandos, 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 comandos, é 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 repetíveis de injeção de comandos contra sistemas de agentes 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
document.modelContext.registerTool({
name: 'my_shared_tool',
description: 'Shared across origins',
// ...
}, {
exposedTo: ['https://trusted.com', 'https://example.com']
});
Exponha suas ferramentas apenas 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
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 restriçõ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 de agentes. 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.