flawopen.com/AI Security/manus-email-prompt-injection-agent-runtime-october-2026
Injeção de prompt por e-mail no agente Manus: o código foi executado antes do alerta
A Salt Labs relatou que um e-mail preparado podia levar o Manus a executar código no ambiente do servidor antes de avisar o usuário. Os pesquisadores dizem que fizeram a divulgação responsável e que o problema foi resolvido; não há CVE nem relato de comprometimento real de vítima.[1]
Imagine um funcionário da triagem que lê uma carta em voz alta e segue as instruções escondidas nela antes de perguntar ao supervisor se a carta é confiável. O aviso chega depois da ação. A barreira de segurança precisa impedir que o texto não confiável vire instrução executável desde o início.[1]
Conceitos Centrais e Termos
Injeção indireta de prompt- Instruções inseridas no conteúdo que a IA deve analisar, como um e-mail, em vez de serem fornecidas diretamente pelo usuário.[1], [5]
Ambiente de execução do agente- Processo e ferramentas que o agente pode usar. As permissões e o isolamento determinam o impacto das ações influenciadas pelo modelo.[1], [6]
Mapeamentos de frameworks
- Mapeamento conceitual da FlawOpen para o MITRE CWE; nenhum fornecedor ou registro CVE atribuiu este identificador de fraqueza a esta demonstração de pesquisa. CWE-94
- OWASP GenAI 2025 — LLM01:2025 Injeção de prompt
- OWASP GenAI 2025 — LLM06:2025 Agência excessiva
Fluxo de Ataque Passo a Paso
O usuário pede ao Manus para verificar e-mails
Segundo a Salt Labs, no teste controlado bastava pedir ao Manus que analisasse a caixa de entrada; os pesquisadores dizem que não era necessário clicar nem roubar credenciais.[1]
Um e-mail fornece conteúdo não confiável
A mensagem continha instruções embutidas em conteúdo comum. A classificação ou o aviso do modelo não é uma barreira de segurança para esses dados.[1]
O conteúdo chega a um caminho de execução no servidor
A Salt Labs relata que o Manus processou o conteúdo por meio de um ambiente Node.js e executou código antes de exibir seu alerta e pedido de aprovação. A implementação interna exata não é pública; este é o relato dos pesquisadores, não uma auditoria do código-fonte.[1]
O contexto de execução alcança permissões conectadas
No teste controlado, a Salt Labs relata que o ambiente podia acessar tokens de serviços conectados pelo usuário. O alcance potencial dependia das integrações e permissões disponíveis nesse ambiente.[1]
A divulgação foi resolvida
A Salt Labs diz que reportou o problema pelo programa de recompensas da Meta e que a técnica específica deixou de ser explorável. Foi uma demonstração de pesquisadores, não um relato de violação de cliente; não há CVE nem diff público do patch.[1]
Código-Fonte: Vulnerável vs. Seguro
A Salt Labs não publica o código vulnerável do Manus nem o diff do patch do fornecedor. Estes exemplos ilustram uma falha geral de limite de confiança e uma arquitetura defensiva; não reconstituem o produto. Mantenha e-mails não confiáveis em um fluxo de resumo sem capacidade de execução. Uma política separada no servidor deve autorizar a ação exata antes de qualquer ferramenta ou ambiente executá-la.[1], [6]
// Desenho inseguro ilustrativo; não é código-fonte do Manus.
async function inspectEmail(email: Email) {
return agent.process(email.body, { tools: [serverSideRuntime] });
}
// Barreira mais segura ilustrativa; não é a implementação nem o patch do Manus.
async function inspectEmail(email: Email, session: AuthenticatedSession) {
const summary = SummarySchema.parse(
await readOnlyModel.summarize({ content: email.body })
);
const proposal = ActionRequestSchema.parse(
await readOnlyModel.proposeAction({ summary })
);
if (!proposal) return summary;
const approval = await approvalStore.consumeExact({
actorId: session.userId,
action: proposal.action,
resourceId: proposal.resourceId
});
const permit = await serverPolicy.authorize({
actorId: session.userId,
action: proposal.action,
resourceId: proposal.resourceId,
approval
});
if (!permit.allowed) throw new Error("Action denied");
return narrowTools.execute(permit.approvedAction);
}
Lista de Verificação de Segurança para Engenharia
- ✓Trate corpos de e-mail, anexos, conversas citadas e conteúdo web recuperado como dados não confiáveis, mesmo quando o modelo os classificar como benignos ou maliciosos.[1], [5]
- ✓Não permita que a sumarização de e-mail invoque um ambiente de código de uso geral. Separe análise somente de leitura da execução de ferramentas e use ferramentas tipadas e restritas.[1], [6]
- ✓Aplique autorização antes da execução em uma política do servidor; vincule a aprovação ao usuário autenticado, à ação e ao recurso exatos e a uma validade curta.[6]
- ✓Mantenha o isolamento do ambiente: não exponha tokens OAuth ou credenciais amplas de conectores a um processo de análise de conteúdo.[1], [6]
- ✓Bloqueie por padrão se a classificação, aprovação, auditoria ou avaliação de política estiver indisponível. Um aviso exibido após a execução não é prevenção.[6]
- ✓Retenha registros de chamadas de ferramentas e do runtime e teste se e-mails adversariais conseguem acionar execução antes da autorização.[1], [6]
- ✓A Salt Labs afirma que o problema divulgado foi resolvido. Verifique as orientações atuais de segurança do Manus; não presuma que toda plataforma de agentes tenha a mesma falha.[1]
Fontes
- Pesquisa primária da Salt Labs: How We Hijacked an AI Agent With a Single Email (1º de outubro de 2026)
- Comunicado da Salt Security sobre a pesquisa da Salt Labs (1º de outubro de 2026)
- Cobertura da TechRadar sobre a pesquisa do Manus (2 de outubro de 2026)
- MITRE CWE-94 (mapeamento editorial da FlawOpen)
- OWASP LLM01: Injeção de prompt
- OWASP LLM06: Agência excessiva