Um email chega na caixa de entrada. O agente lê, responde e arquiva. Nada parece errado. Porém, naquele instante, a memória persistente do assistente acabou de ser reescrita por um estranho. Além disso, o usuário nunca foi avisado.
Pesquisadores da Johns Hopkins e da Nanyang Technological University descreveram esse cenário no estudo “When Claws Remember But Do Not Tell”. Eles batizaram a técnica de Injeção Furtiva de Memória. Em seguida, criaram uma ferramenta ofensiva para provar o ponto: o MemGhost.
Para quem escreve código, a notícia é desconfortável. Afinal, não existe CVE aqui. Não existe buffer estourado nem dependência vulnerável. Ou seja, o que está sendo explorado é o comportamento pretendido do sistema.
Quando o agente lembra, mas não conta
Agentes como o OpenClaw funcionam porque lembram. Eles guardam contatos, preferências, contexto de projetos e histórico de conversas. Portanto, a memória persistente não é um extra. Ela é o produto.
Só que essa memória confia no que entra. Primeiro, o agente lê uma fonte externa. Depois, ele decide sozinho o que vale a pena registrar. Por fim, ele grava no próprio arquivo de memória, sem confirmação humana.
Então o problema fica claro. O canal de leitura e o canal de escrita compartilham o mesmo nível de privilégio. Na prática, qualquer texto lido vira candidato a fato.
MemGhost: uma IA treinada para escrever o email perfeito contra outra IA
O MemGhost é, ironicamente, um modelo. Os pesquisadores o treinaram com um objetivo específico. Ele redige a mensagem que atravessa filtros, carrega instruções ocultas e ainda pede silêncio ao agente alvo.
A cadeia de ataque é curta. Veja como ela acontece:
- O atacante envia um email comum, com instruções embutidas que só o agente processa.
- O agente lê a mensagem e executa a ordem oculta.
- Ele grava uma informação falsa na própria memória.
- Em seguida, responde o email normalmente e não registra nada disso para o usuário.
Note o passo quatro. Ali está a diferença entre uma prompt injection clássica e essa variação. Antes, o efeito morria no fim da sessão. Agora, ele persiste no disco.
87,5% de sucesso e o detalhe que quase ninguém comenta
Nos testes de laboratório com GPT 5.4 rodando o OpenClaw, a injeção funcionou em 87,5% das tentativas. Contudo, existe uma condição importante nesse número. A taxa vale para o agente operando em segundo plano.
Isso importa muito. Automação sem humano no loop é exatamente o modo que times de engenharia mais desejam. Ninguém coloca agente em produção para ficar clicando em confirmar. Justamente por isso, o cenário mais produtivo também é o mais frágil.
O ataque não rouba dados, ele planta uma mentira
Aqui a intuição de segurança tradicional atrapalha. Normalmente, pensamos em exfiltração. Pensamos em credenciais vazadas e em dumps de banco.
Neste caso, o objetivo é outro. O atacante quer que o agente acredite em algo falso. Depois, ele quer que essa crença dure meses.
Considere os exemplos citados pela pesquisa. Uma instrução pode gravar que o limite bancário do usuário subiu para R$ 10 mil. Outra pode ensinar o agente a tratar certo remetente como confiável. Assim, um phishing futuro passa direto pela triagem.
Em resumo, o atacante vira ventríloquo. A IA vira o boneco. E a vítima segue confiando no resumo diário que recebe.
Por que seu pipeline de segurança não pega isso
Analisadores estáticos procuram padrões em código. No entanto, o payload aqui é texto em linguagem natural. Ele passa por qualquer scanner de dependência.
Sanitização de input também ajuda pouco. Afinal, o input legítimo de um agente de email é justamente texto arbitrário escrito por terceiros. Bloquear isso significa desligar a funcionalidade.
Logs tampouco resolvem sozinhos. Como o agente esconde os rastros a pedido do atacante, a trilha de auditoria nasce contaminada. Consequentemente, a detecção precisa acontecer fora do agente.
Agente leitor: a defesa arquitetural do menor privilégio
A recomendação central dos pesquisadores é estrutural. Eles sugerem separar quem lê de quem escreve.
Funciona assim. Um agente leitor isolado consome os emails. Ele não tem permissão de escrita em arquivo nenhum. Além disso, ele não conversa com ferramentas externas. A única saída dele é um resumo higienizado, entregue ao agente principal.
Repare no ganho. O componente exposto ao mundo perde a capacidade de causar dano persistente. Enquanto isso, o componente com privilégio nunca toca no texto bruto do atacante.
Existe outra camada, mais simples e igualmente valiosa. A escrita em memória permanente deveria exigir confirmação explícita. Um alerta na tela basta: posso salvar esta informação? Contudo, essa fricção precisa ser desenhada com cuidado, porque usuários clicam em qualquer coisa depois do quinto pop up.
Checklist para quem coloca agente em produção esta semana
Se você mantém um agente com memória, comece por aqui:
- Separe leitura de escrita em processos distintos, com permissões distintas.
- Trate toda fonte externa como dado não confiável, nunca como instrução.
- Marque a origem de cada fato gravado na memória, com timestamp e fonte.
- Exija confirmação humana para qualquer escrita persistente derivada de conteúdo externo.
- Guarde os logs de escrita fora do alcance do agente, em storage somente leitura para ele.
- Revise a memória periodicamente, do mesmo jeito que você revisa permissões de IAM.
Nenhum item da lista é exótico. Todos derivam do princípio do menor privilégio. Ainda assim, quase nenhum framework de agentes entrega isso por padrão.
A memória virou superfície de ataque e o seu roadmap precisa saber disso
O estudo não descreve um bug pontual. Ele descreve uma classe inteira de falhas, nascida da forma como agentes autônomos foram desenhados.
Portanto, a pergunta para o seu time mudou. Não basta perguntar se o agente pode ler o email. É preciso perguntar o que acontece depois que ele lê.
Enquanto a indústria não amadurecer esse contrato, a responsabilidade fica com quem constrói. Ou seja, com você.
Acompanhe nosso perfil no Instagram!



