Uma página da web envenenada pode fazer o seu agente de IA soletrar os seus dados privados para fora, um URL de cada vez. Aqui está o ataque e como reforçamos a segurança dele na arquitetura.
Briefing de segurança para agentes de IA · Agosto de 2026 · ataque publicado originalmente em ayush.digital
Três capacidades que, isoladas, são inofensivas:
Onde as três se sobrepõem, instruções ocultas no conteúdo podem levar seus dados privados para fora, silenciosamente.
Nenhum e-mail saiu da máquina. Nenhum arquivo foi enviado. A própria ferramenta de busca na web foi o canal de exfiltração.
Uma palavra completa ou um segredo exige algo em torno de ~26 acessos, todos para um único domínio. Guarde isso.
A aprovação humana vale mais na pergunta "os dados podem sair?" do que na pergunta "posso ler?".
Qualquer assistente ou agente de IA, hospedado ou construído por você, está exposto se marcar as três caixas:
☐ + ☐ + ☐ = a tríade está ativa na sua configuração. A própria ferramenta de busca já é um canal de saída, essa é a parte que a maioria não percebe.
O caso catastrófico, exfiltração silenciosa em massa para um atacante, já estava bloqueado. O novo limite fecha um canal lateral residual de gotejamento.
Cada muro é independente. Uma injeção que passa por um ainda esbarra no próximo, defesa em profundidade.
O controlador de canais de saída faz uma pergunta para cada ação de saída: este destino sou EU? Se sim, permite. Se não, confirma ou nega.
A navegação legítima toca poucas páginas em muitos sites diferentes. O gotejamento precisa de dezenas de acessos a um único domínio do atacante. Essa assimetria é o ponto fraco que exploramos: 6 acessos / domínio registrável / 60s. A pulverização entre subdomínios cai no mesmo contador.
a pulverização entre subdomínios compartilha o contador de evil.com
sites distintos não são afetados. O limite é invisível no uso normal
6 é bem menor que os ~26 acessos que um gotejamento completo exige. Ajustável por implantação.
Restringir leituras incomoda todos os dias e acaba sendo desativado. Controlar as saídas é invisível até que um ataque aconteça. Seis princípios para o seu próprio agente:
Condensamos tudo deste briefing em um único prompt portátil. Cole no seu agente de programação, Claude Code, ou qualquer outro que você use, e ele vai inventariar as pernas da sua tríade, depois propor e implementar as correções.
Prompt no próximo slide, role dentro do bloco, ou clique em Copiar.
Você é um engenheiro de segurança encarregado de reforçar a segurança de um agente/assistente de IA que tem: (a) acesso aos meus dados privados (memória, anotações, e-mails, arquivos, credenciais); (b) exposição a conteúdo não confiável (páginas da web, e-mails, mensagens e documentos que ele lê); e (c) ferramentas capazes de enviar dados para fora (e-mail/DM/publicação/webhook/solicitação HTTP). Esses três elementos formam a "tríade letal": conteúdo não confiável pode carregar instruções ocultas (injeção de prompt) que façam o agente exfiltrar meus dados privados por meio de uma ferramenta de saída. Um caso conhecido é "The Memory Heist", no qual o agente foi induzido a acessar evil.com/a, /ab, /abc... revelando meus dados, um caractere por URL. NÃO tente detectar a injeção, essa é uma batalha impossível de vencer. Em vez disso, audite e reforce a segurança ARQUITETURALMENTE, eliminando uma das pernas da tríade. Percorra as etapas abaixo e, em cada uma, informe o que encontrou (arquivo:linha), depois proponha + implemente a correção e, por fim, verifique-a: 1. INVENTARIE AS TRÊS PERNAS. Liste todas as fontes de dados privados que o agente pode ler; todos os pontos pelos quais conteúdo não confiável entra (web, e-mail, mensagens, documentos, resultados de ferramentas); e todos os canais de saída (cada ferramenta de envio/publicação/chamada/busca). Forneça a lista concreta, com suas localizações. 2. CONTROLE OS CANAIS DE SAÍDA, NÃO AS LEITURAS. Encaminhe toda ação de saída por um único ponto de controle que faça uma pergunta: "este destino sou EU (meu próprio canal verificado)?" Se sim, permita. Caso contrário, exija minha confirmação explícita ou negue. O padrão para uma ferramenta de saída NÃO RECONHECIDA deve ser NEGAR, e não permitir. (Verifique se ferramentas somente de leitura cujos nomes contenham "message/post/send" NÃO sejam bloqueadas incorretamente.) 3. LIMITE RAJADAS DE SOLICITAÇÕES EXTERNAS. Limite quantas vezes o agente pode acessar o MESMO domínio registrável (eTLD+1, de modo que a distribuição entre subdomínios seja consolidada em uma única chave) em uma janela curta, por exemplo 6 vezes a cada 60 segundos, e negue as solicitações excedentes, apresentando um motivo claro. Isso impede a exfiltração caractere por caractere sem afetar a navegação normal (que acessa muitos domínios diferentes). Melhor ainda, quando viável: permita acessar somente URLs fornecidas por mim ou por uma ferramenta de busca, nunca URLs descobertas pelo agente dentro de uma página já acessada. 4. REMOVA SEGREDOS DO AMBIENTE DO AGENTE. O processo do agente não deve conter chaves de API nem tokens (use uma lista de permissões de variáveis de ambiente com negação por padrão), e o shell deve bloquear curl/wget/nc/printenv e despejos do comando env, para que um agente comprometido por injeção não consiga ler nem enviar credenciais para fora. 5. ISOLE CONTEÚDO NÃO CONFIÁVEL + SANITIZE A SAÍDA. Envolva todo conteúdo não confiável em uma fronteira de dados claramente identificada antes que o modelo o veja (para que as instruções contidas nele não sejam obedecidas) e remova caracteres invisíveis (largura zero, bidi, tags Unicode) e imagens Markdown de carregamento automático da SAÍDA do modelo (ambos podem funcionar como canais silenciosos de exfiltração). 6. CONTROLE AS GRAVAÇÕES NA MEMÓRIA POR NÍVEL DE CONFIANÇA. Marque os dados por nível de confiança no momento da gravação; nunca permita que conteúdo proveniente de uma fonte não confiável crie ou exclua silenciosamente uma memória. Submeta a controle de leitura qualquer conteúdo marcado como não confiável. Para cada correção: implemente-a, adicione um teste que prove que o ataque foi bloqueado E que o uso normal continua funcionando, e mostre o diff. Prefira remover uma capacidade a adicionar um detector. Declare honestamente o que cada controle NÃO cobre.
Você não consegue vencer a injeção de prompt na detecção.
Você pode garantir que ela não tenha para onde enviar o que roubou.
SOIA Consultoria.
IA começa pelas pessoas.