
Prompt injection escondido na saída de ferramentas engana agentes
O rótulo de confiança está no sistema errado
A OWASP trata a saída de ferramentas como conteúdo não confiável, no mesmo grupo de documentos RAG, páginas web e corpos de e-mail. O motivo: alguém fora do perímetro de confiança pode escrever no campo. O texto argumenta que essa orientação raramente chega às implantações, porque o rótulo fica em conteúdos externos óbvios e não no ticket, no CRM ou no repositório - sistemas considerados internos. O atacante, porém, não ataca o sistema; mira o campo de texto livre dentro dele: o corpo de um ticket no Jira, a descrição de um pull request no GitHub escrita por contribuidor externo, uma nota de CRM colada de e-mail, uma linha vinda de formulário web no Postgres. A saída chega com a reputação do sistema, mas o texto foi escrito por um outsider.
Reavaliar o inventário por campo
A recomendação prática é rotular cada campo de retorno de cada ferramenta por quem pode escrever nele: campos escritos só por serviços próprios são confiáveis; campos acessíveis a clientes, contribuidores, fornecedores ou formulários são não confiáveis. O rótulo não classifica risco sozinho - o ranking vem de parear campos não confiáveis com ferramentas que alteram estado. Agentes de codificação em ambientes remotos ficam no topo: leem conteúdo escrito por terceiros, guardam credenciais de repositório e nuvem no mesmo runtime e têm shell e rede de saída na lista de ferramentas.
Por que as telas da OWASP falham
A folha de prevenção da OWASP propõe quatro controles: triagem de entrada, triagem de saída, triagem de ação e o padrão dual-LLM. Cada um enxerga um único momento do loop do agente. A triagem de entrada lê o resultado como conteúdo, antes de qualquer decisão. A de saída lê a resposta, depois do raciocínio. A de ação lê a chamada proposta contra a intenção original do usuário, isolada por design do resultado que a causou. O padrão dual-LLM, descrito por Simon Willison, isola estruturalmente um modelo em quarentena que lê conteúdo não confiável de um modelo privilegiado que atua. O texto cita que detectores, delimitadores e 'sandwiching' foram quebrados juntos sob atacantes adaptativos; delimitadores e sandwiching devem continuar como redutores de volume, mas ataques direcionados passam por eles.
A injeção vive entre dois eventos
O resultado da ferramenta chega ao contexto e, no mesmo turno, o agente emite a próxima chamada. A injeção é a relação entre esses dois eventos, separados por centenas de milissegundos. A recência importa: pesquisadores que moveram payloads do benchmark InjecAgent de resultados de execução para descrições estáticas viraram sucesso de ataque colapsar a quase zero, enquanto payloads próprios para descrições alcançaram 41,8% no mesmo modelo.
A chamada coerçada passa por todas as verificações: a ferramenta é registrada, o esquema valida, a sessão é autorizada. O que a distingue é um destino, caminho, tabela ou argumento que aquele agente nunca usou antes. Todo passo é permitido; a sequência é o ataque. Nenhuma das telas enxerga o par - a única parte que vê os dois lados é o que observou a execução do agente.
Detecção por linha de base comportamental
A proposta de defesa requer três peças: linha de base, regra de desvio e caminho de aplicação. A linha de base registra, por agente, ferramentas invocadas, valores de argumentos, ordem das chamadas e atividade de arquivo, processo e rede abaixo de cada chamada - a ARMO embute isso no produto Application Profile DNA (APD™), observado em nível de kernel. O desvio é uma chamada sem precedente no histórico, especialmente mudança de argumento. A aplicação começa em modo auditoria até a taxa de desvio se estabilizar, depois bloqueia; isolamento de credenciais fecha o ciclo. O texto admite que um atacante consciente da linha de base pode expandir o comportamento gradualmente, mas nota que a baseline é construída por agente e cluster, e não pode ser baixada ou estudada offline.
Conclusão
As telas existentes devem permanecer para filtrar o volume oportunista, mas não carregam o payload direcionado. O par resultado-chamada é o que o atacante não pode evitar produzir: para completar o ataque, precisa fazer uma ferramenta real agir, e isso deixa registro contra um histórico que ele nunca viu. As três ações recomendadas: rotular o inventário por campo, estabelecer linha de base dos agentes mais expostos e rodar em auditoria antes de bloquear.