As ferramentas WebMCP que você expõe aos agentes podem ser usadas para sequestrá-los
Adicione WebMCP ao seu site e você entregará aos agentes de IA visitantes um conjunto de ferramentas nomeadas para ligar. Essas mesmas ferramentas podem ser usadas para colocar os agentes contra as pessoas que os enviaram. O site do desenvolvedor do Chrome agora traz as orientações de segurança para o WebMCP, e grande parte delas é escrita para os sites que expõem as ferramentas, e não para as empresas que constroem os agentes. Prepare o seu site para agente com WebMCP e você também abrirá uma superfície de ataque, e fechá-la é tarefa sua, não do agente.
Durante dois anos, a conversa sobre a preparação do agente tem sido sobre acesso: um agente pode acessar seu conteúdo, ler sua página, finalizar sua compra? WebMCP é a versão em que você para de esperar que um agente descubra seu site a partir da marcação e começa a entregar-lhe ferramentas nomeadas para ligar. Esse é o protocolo mais útil e é a direção em que a camada de protocolo da web agente está se movendo. É também onde ser legível para um agente e ser seguro para um agente deixam de ser a mesma propriedade.
Chrome é nomeado como duas maneiras pelas quais os agentes são sequestrados por meio do WebMCP
A orientação de segurança do agente do Chrome descreve dois vetores de ataque, e ambos chegam por meio das ferramentas expostas por um site. O primeiro é o manifesto malicioso. Nas palavras do Chrome, “os sites podem ter definições de ferramentas com instruções ocultas, em nomes, parâmetros ou descrições de ferramentas, projetadas para sequestrar o agente”. A descrição de uma ferramenta é um texto que o agente lê para decidir como usar a ferramenta, portanto, uma descrição pode conter uma instrução que o agente nunca deveria seguir.
O segundo vetor é aquele que a maioria dos sites realmente atinge e não precisa de nenhum site malicioso. O Chrome chama isso de saída contaminada: “Respostas de ferramentas em tempo real de sites confiáveis podem incluir instruções maliciosas como parte de dados de terceiros, como comentários de usuários”. Uma ferramenta em seu próprio site que retorna análises de produtos, tópicos de comentários, postagens em fóruns ou respostas de suporte está retornando textos que outras pessoas escreveram. Se uma dessas pessoas plantou uma instrução em uma avaliação, sua ferramenta legítima a entregou ao agente como se tivesse vindo de você. A carga útil é o seu próprio conteúdo gerado pelo usuário e você o convidou.
Isso funciona por causa de algo que não é um bug e não será corrigido. “Os LLMs tratam todos os textos, instruções e dados do usuário como uma única sequência de tokens”, diz a orientação, de modo que o modelo não pode separar de forma confiável a parte que você entende como dados da parte que um invasor entende como um comando. É por isso que Chrome diz que “a natureza probabilística dos LLMs torna impossível garantir a segurança dentro do próprio modelo”. Este é o mesmo problema de injeção imediata que não tem solução limpa dentro do modelo, agora usando um protocolo. O WebMCP oferece a esse ataque uma rota de entrega limpa e estruturada por meio de ferramentas que você publicou propositalmente.
Preparar um site para agente agora inclui torná-lo seguro para agentes
A orientação do Chrome impõe a obrigação ao site, não apenas ao agente. O documento de segurança de ferramentas do Chrome abre com uma frase dirigida diretamente a quem expõe as ferramentas: “Exponha suas ferramentas apenas a origens em que você confia. Isso é particularmente importante quando as ferramentas gerenciam dados do usuário ou impactam o usuário de outra forma.” Essa linha foi escrita para quem envia a ferramenta. Isso significa você.
As defesas são concretas e são anotações que você anexa às ferramentas que envia. untrustedContentHint “rotula explicitamente a carga útil como não confiável, para ajudar a proteger a integridade do seu site e, ao mesmo tempo, fornecer um sinal ao agente de que esses dados exigem um escrutínio mais rigoroso”, e o Chrome diz quando usá-lo: “Se uma ferramenta retornar conteúdo gerado pelo usuário (UGC) ou dados de origem externa, considere adicionar o untrustedContentHint à ferramenta.” readOnlyHint marca uma ferramenta que não muda de estado, o que “permite ao agente tomar melhores decisões sobre quando solicitar confirmações do usuário”. exposedTo restringe uma ferramenta a uma série de origens em que você confia, escritas no próprio registro:
document.modelContext.registerTool({...}, {
exposedTo: ('https://trusted.com')
});
O Chrome também limita o orçamento de caracteres, uma descrição da ferramenta em 500 caracteres e uma única saída de ferramenta em aproximadamente 1.500, e adiciona um requestUserInteraction() caminho para confirmar uma ação antes de ser disparada. Veja o exemplo óbvio, uma ferramenta que apresenta análises de produtos a um agente de compras. Protegê-lo não é um trabalho exótico: marque sua saída com untrustedContentHintdefinir readOnlyHint porque lê em vez de comprar e limita exposedTo às origens que você realmente serve. Nada disso é trabalho do agente. É trabalho do autor da ferramenta, que na maioria das equipes é o pessoal da web, CRO ou marketing que adiciona o WebMCP para parecer atual, e não o pessoal de segurança que lê os modelos de ameaças. Essa lacuna é onde isso dá errado. Marcar quais conteúdos são dados e não comandos agora faz parte do envio de uma ferramenta, da mesma forma que a higienização da entrada passou a fazer parte do envio de um formulário.
Adote o WebMCP, mas primeiro modele cada ferramenta contra ameaças
Entregar a um agente ferramentas explícitas e chamáveis é melhor do que fazer com que ele adivinhe seu site a partir do DOM, e vale a pena ter esse recurso. Nada disso é motivo para evitar o WebMCP. A questão é mais restrita e enfadonha do que “novo protocolo, novo perigo”: a capacidade chega com uma conta anexada, e a conta é sua.
Portanto, a linha é simples. Não exponha uma ferramenta a um agente cujo modelo de ameaça você não tenha modelado da mesma forma que faria com um endpoint de API público. Para cada ferramenta que você está prestes a registrar, responda a uma pergunta antes de enviá-la: Que conteúdo não confiável isso pode retornar e você o marcou? Se você não conseguir responder a isso, a ferramenta não está pronta, por mais que o restante do seu site pareça estar pronto para o agente.
WebMCP é cedo. Ele está em um teste de origem do Chrome, a especificação ainda está em mudança e a maioria dos sites não expôs uma única ferramenta. Essa é a janela para decidir que a segurança do agente faz parte da preparação do agente, antes que a primeira ferramenta que você enviar seja aquela que entrega ao agente suas avaliações e tudo o que alguém escondeu dentro delas.
Mais recursos:
Este post foi publicado originalmente no No Hacks.
Imagem em destaque: Roman Samborskyi/Shutterstock
