olimposec.com
Radar / Bugs / OS-2026-872
risco altoSUPPLY2026-11-05 · 3 min de leitura
0

Ferramenta MCP assinada e maliciosa engana defesa de runtime da Meta em 100% dos testes

Resumo executivo

Pesquisadores demonstram que um servidor de ferramentas MCP (Model Context Protocol) legitimamente assinado pode, ainda assim, vazar dados confidenciais de um agente de IA ao embutir a exfiltração dentro de requisições para um destino já autorizado pela política de execução — e mostram que o MCPGuard-Dynamic da Meta, uma defesa de runtime considerada estado da arte, falha em bloquear esse ataque em todas as tentativas. Como alternativa, propõem 'germline execution', uma técnica que isola cada invocação de ferramenta em uma cópia efêmera que só recebe os dados autorizados para aquele destino específico, limitando matematicamente o que pode ser vazado mesmo que o código da ferramenta seja malicioso.

Agentes de IA cada vez mais dependem de ferramentas de terceiros conectadas via MCP (Model Context Protocol), um padrão que permite autenticar o publicador de uma ferramenta e restringir sua execução por meio de políticas de runtime. O problema que os autores expõem é que autenticidade não implica comportamento benigno: uma ferramenta pode estar legitimamente assinada por um publicador real, cumprir exatamente a função anunciada, e ainda assim conter código que aproveita um destino de rede já permitido pela política para embutir dados sensíveis dentro de requisições legítimas — uma forma de exfiltração que não aciona nenhuma regra de bloqueio baseada em 'destino não autorizado'.

Para demonstrar a gravidade do problema, os autores testaram esse ataque contra o MCPGuard-Dynamic, a defesa de runtime da Meta considerada estado da arte em bloquear exfiltração de ferramentas MCP. Embora o MCPGuard-Dynamic bloqueie com sucesso uma tentativa direta de exfiltração na mesma rodada de teste, ele falha em impedir a variante dissimulada do ataque dos autores em todas as tentativas realizadas — uma falha de 100% contra exatamente o cenário para o qual esse tipo de defesa foi desenhado.

A solução proposta, chamada de 'germline execution', ataca o problema por um ângulo diferente de inspecionar ou confiar no código da ferramenta: cada chamada a uma ferramenta roda em uma cópia efêmera de processo, derivada de um processo-base ('germline') sem acesso a dado nenhum, e cada cópia recebe apenas as informações que a política autoriza para aquele destino específico. Mesmo que o código malicioso execute livremente dentro dessa cópia, o que ele pode potencialmente vazar fica matematicamente limitado pelos dados que a própria cópia recebeu — propriedade que os autores chamam de 'sink noninterference' e demonstram formalmente sob premissas explícitas sobre o confinamento das cópias.

Em 153 execuções de ataque, nenhuma exfiltração não autorizada foi detectada sob germline execution, contra uma taxa de comprometimento de 5,9% a 74,5% das defesas de baseline e de uma variante sem essa técnica. O custo de desempenho é baixo — invocações atendidas por uma única cópia completam em 10 a 49 milissegundos, de 2 a 28 vezes mais rápido que reiniciar a ferramenta do zero a cada chamada, forma convencional de garantir isolamento de estado. O resultado é relevante na prática porque mostra que confiar em assinatura de publicador e em listas de destinos permitidos — o modelo de segurança que a maioria dos ecossistemas de ferramentas de agentes usa hoje — é insuficiente contra um fornecedor malicioso ou comprometido que conhece exatamente quais destinos a política já libera.

Fonte ↗
0 comentários

Entre para comentar.

Nenhum comentário ainda — seja o primeiro.