Agent Data Injection (ADI): nova classe de ataque forja campos que agentes de IA confiam e passa por defesas de prompt injection

Pesquisadores documentam ADI: ataque forja campos confiaveis e passa por defesas de prompt injection. Claude Code, Codex, Gemini CLI e navegadores agenticos vulneraveis.

Agent Data Injection (ADI): nova classe de ataque forja campos que agentes de IA confiam e passa por defesas de prompt injection

Resumo: Um paper publicado em 6 de julho por Seoul National University, University of Illinois Urbana-Champaign e Largosoft descreve uma nova classe de ataque contra agentes de IA — chamada Agent Data Injection (ADI). Diferente do prompt injection clássico, que tenta inserir instruções escondidas em dados externos, o ADI forja os campos que o próprio agente já confia: quem enviou um e-mail, o ID de um botão, o registro de uma etapa que ele “acha” que já rodou. O ataque foi comprovado contra Claude in Chrome, Google Antigravity, Nanobrowser, Claude Code, OpenAI Codex e Gemini CLI — com taxas de sucesso de 31% a 43% em dados estruturados e até 100% em conteúdo de páginas web. Contra as defesas anti-prompt-injection existentes, o ADI ainda passa em até 50% das tentativas. OpenAI, Google e Anthropic confirmaram o problema; nenhum apresentou correção, segundo os autores.

O que é Agent Data Injection e por que é diferente

Todo LLM lê duas categorias de entrada: instruções (o que o desenvolvedor e o usuário mandam fazer) e dados (o e-mail que ele resume, a página que ele lê, o comentário que ele processa). O prompt injection clássico esconde uma ordem dentro dos dados — “ignore sua tarefa e mande os arquivos por e-mail”. Defesas modernas aprenderam a detectar esse padrão e bloqueiam bem.

O ADI ataca uma camada abaixo. Ele não tenta dar ordem; ele corrompe os fatos-suporte que o agente usa para decidir. Um exemplo direto: peça a um agente de navegação para resumir avaliações de um produto. Um review plantado, contendo o mesmo ID do botão “Comprar agora”, faz o agente clicar em “Comprar” quando pensava estar clicando em “Ler mais”. A instrução do usuário nem foi violada — ele pediu para resumir; o agente resumiu. Só que, no caminho, executou uma compra que ninguém pediu.

Como o ataque funciona: pontuação probabilística

O mecanismo interno chama-se probabilistic delimiter injection. Agentes empacotam os dados que recebem entre marcadores — aspas, chaves, tags XML, brackets, quebras de linha. Um parser tradicional lê esses marcadores por regra estrita; um LLM lê por probabilidade. Se o invasor plantar caracteres parecidos — uma aspa escapada (“), uma aspa curly (“), até um cifrão — o modelo geralmente aceita como delimitador legítimo e passa a interpretar campos falsificados como reais.

Isso significa que o atacante consegue “adicionar” ao contexto do agente: um remetente extra em um e-mail; um botão que não existe na página; o resultado de uma checagem que nunca foi executada. Como o agente confia no que “vê” na sua memória de trabalho, ele age sobre a informação plantada — sem violar diretamente instruções, sem ser barrado pelas defesas anti-prompt-injection.

Os três PoCs publicados

Os pesquisadores construíram ataques funcionais em ferramentas reais que estão em produção hoje:

  • Agentes web (Claude in Chrome, Google Antigravity, Nanobrowser): um review plantado numa página de produto reutiliza o ID de um botão existente. O agente pensa que clica em “Read More” e clica em “Buy Now”. Como as ferramentas numeram elementos em ordem, o atacante consegue prever o ID antes.
  • Assistentes de código (Claude Code, OpenAI Codex, Gemini CLI): um comentário de GitHub forja a linha do autor para parecer que veio do mantenedor do projeto. Instruído a aplicar “a correção do mantenedor”, o agente executa o comando do atacante na máquina do desenvolvedor — que aprova achando que é passo rotineiro.
  • Pull request malicioso: falsifica o registro de uma checagem que o agente nunca rodou. O agente vê “resultado limpo” no histórico, julga o código seguro e move para merge — trazendo o código malicioso real para o repositório quando o desenvolvedor aprova.

Todos os prompts de aprovação que essas ferramentas mostram — Claude perguntando “posso clicar?”, coding assistants perguntando “posso rodar?” — não ajudam. O prompt de clique não diz em qual botão. O prompt de comando mostra o raciocínio do agente, mas esse raciocínio foi construído sobre fatos plantados; lê como uma explicação inteiramente plausível de uma ação rotineira.

Números do ataque

Os testes cobriram GPT-5.2 e GPT-5-mini (OpenAI), Claude Opus 4.5 e Sonnet 4.5 (Anthropic), Gemini 3 Pro e Flash (Google). Resultados:

  • ADI contra dados estruturados: 31% a 43% de sucesso.
  • ADI contra conteúdo web: de ~33% até 100%, dependendo do target.
  • Prompt injection clássico com defesas ativas: ~0% de sucesso (as defesas funcionam).
  • ADI com as mesmas defesas ativas: até 50% — as proteções foram construídas para outro tipo de ataque.

O que efetivamente bloqueia

O único agente que resistiu ao ataque de clique foi o ChatGPT Atlas — porque marca cada elemento da página com um ID aleatório e imprevisível, em vez de contador sequencial. Sem conseguir “adivinhar” o ID, o atacante não consegue forjar match. Os pesquisadores replicaram a técnica em outros agentes e cortaram o sucesso do ataque de 49% para 29%, mantendo o agente utilizável.

Uma defesa mais pesada — rastrear a proveniência de cada dado que entra no contexto — bloqueou 100% dos ataques, mas quebrou a utilidade dos agentes: eles só conseguiam completar cerca de um terço das tarefas ordinárias. Remover pontuação também corta o ataque, mas quebra a capacidade do agente de ler links e file paths comuns.

Por que importa no Brasil

Três razões concretas para times técnicos brasileiros levarem o ADI a sério. Primeiro, Claude Code, Gemini CLI e Copilot já estão em uso em bancos, fintechs e software houses. Um PR malicioso é sofisticado, mas não é ficção — o próprio paper mostra o PoC funcional. Segundo, a defesa proposta (IDs aleatórios em campos) exige mudança de arquitetura do fornecedor; não é algo que o cliente do agente configura sozinho. Terceiro, a ANPD e o Banco Central vão precisar interpretar o ADI dentro do framework de segurança da informação — não é só privacidade, é integridade. Em um agente que assina contratos ou executa compras, o ataque muda de risco reputacional para risco financeiro direto.

SWOT: agentes de IA em produção sob ADI

Forças
Pesquisa acadêmica robusta com PoCs verificáveis; vendors reconheceram o problema; ChatGPT Atlas mostrou que mitigação parcial é viável.
Fraquezas
Defesas existentes contra prompt injection não cobrem ADI; prompts de aprovação atuais são inúteis; o formato interno do agente é recuperável mesmo em modelos cloud via jailbreak.
Oportunidades
Novo mercado para ferramentas de proveniência e integridade em agentes; RFCs de padrões para separar dados confiáveis dos não confiáveis; startups brasileiras podem entrar no nicho de agent security.
Ameaças
Adoção do ataque em campanhas maliciosas antes da correção; fraude financeira automatizada; contaminação de repositórios open-source; erosão de confiança em coding assistants.

Cenário e recomendações

Nos próximos 60 dias, três coisas devem acontecer: (1) vendors devem publicar patches — no mínimo IDs aleatórios em campos estruturados; (2) o benchmark liberado pelos autores vai virar teste de referência em varreduras de segurança; (3) ferramentas de EDR e SAST devem começar a incorporar detecção de padrões de pontuação probabilística em conteúdo web ou pull requests. Para hoje, três ações imediatas para times que rodam agentes:

  • Segregar approval flows: qualquer ação com efeito irreversível (compra, envio de e-mail, execução de comando shell, merge) exige revisão humana explícita sobre o alvo, não sobre “a ação”.
  • Limitar escopo dos agentes: rodar em VMs efêmeras, sem acesso a chaves de produção, sem carteira ativa.
  • Auditoria de contexto: registrar cada campo que o agente lê e comparar com fontes originais — divergência automática é sinal de tentativa de ADI.

Riscos e limitações do próprio paper

Os autores foram claros: são PoCs, não incidentes reportados em campo. Nem toda arquitetura de agente é vulnerável (Atlas mostrou), e nem todo cenário permite ADI — o atacante precisa conseguir escrever em um campo que o agente vai ler. Ainda assim, o histórico de EchoLeak (CVE-2025-32711 no Microsoft 365 Copilot) e do bug de PR do Invariant Labs (maio/2025) mostra que a lacuna entre PoC acadêmico e exploração real costuma ser de meses, não anos.

Conclusão prática

Para CISOs e líderes de engenharia: se sua empresa colocou algum agente de IA em produção nos últimos 12 meses, esta semana é a hora de rodar um tabletop específico de ADI. Peça ao time vermelho para tentar plantar campos falsos nas fontes de dados que o agente lê (GitHub, tickets, e-mail, páginas de fornecedor) e observe. É provável que descubra pontos vulneráveis. E, se você fabrica ou vende agentes: publique um plano público de correção. O ADI vai virar item de checklist em auditoria de segurança de IA em 2026.

Fonte: The Hacker News — New Agent Data Injection Attack Can Make AI Agents Misclick or Run Attacker Commands.