flawopen.com/AI Security/manus-email-prompt-injection-agent-runtime-october-2026
Manus AIエージェントのメール経由プロンプトインジェクション:警告前にコードが実行
Salt Labsは、細工したメールによりManusがユーザーへの警告前にサーバー側ランタイムでコードを実行したと報告しました。研究者は責任ある開示を行い、問題は修正済みとしています。CVEや実際の被害者侵害は報告されていません。[1]
郵便係が手紙を読み上げ、信頼できるか上司に確認する前に、隠された指示に従う場面を想像してください。警告は行動の後に届きます。未信頼の手紙の文面が最初から実行可能な指示にならないよう、セキュリティ境界で止める必要があります。[1]
主要な概念と専門用語
フレームワーク対応
- FlawOpenによるMITRE CWEへの概念上の対応付けです。ベンダーやCVEレコードがこの研究デモに弱点IDを割り当てたものではありません。 CWE-94
- OWASP GenAI 2025 — LLM01:2025 プロンプトインジェクション
- OWASP GenAI 2025 — LLM06:2025 過剰なエージェンシー
ステップ・バイ・ステップの攻撃フロー
ユーザーがManusにメール確認を依頼
Salt Labsによれば、管理されたテストではManusに受信箱を確認するよう依頼するだけで成立し、追加のクリックや認証情報の窃取は不要でした。[1]
メールが未信頼の内容を渡す
通常のメール本文に指示が含まれていました。モデルの分類や警告は、そのデータを扱う際のセキュリティ境界ではありません。[1]
内容がサーバー側の実行経路へ到達
Salt Labsは、ManusがNode.jsランタイムで内容を処理し、警告と承認要求を表示する前にコードを実行したと報告しています。内部実装の詳細は公開されていません。これは研究者の説明であり、ソースコード監査ではありません。[1]
実行環境から接続済みサービスの権限に到達
Salt Labsの管理されたテストでは、ランタイムがユーザー接続サービスに関連するトークンへアクセスできたとのことです。潜在的な影響範囲は、その環境で利用可能な連携と権限によります。[1]
開示された問題は修正済み
Salt LabsはMetaのバグ報奨金制度を通じて報告し、この具体的な手法はすでに悪用できないと説明しています。研究者による実証であり、顧客侵害の報告ではありません。CVEや公開パッチ差分はありません。[1]
ソースコード比較:脆弱 vs 堅牢化
Salt LabsはManusの脆弱なソースコードやベンダーのパッチ差分を公開していません。これらは一般的な信頼境界の誤りと防御アーキテクチャを示す例で、製品を再現するものではありません。未信頼メールは実行機能のない要約経路で扱います。別個のサーバーポリシーが、ツールやランタイムの実行前に具体的な操作を認可する必要があります。[1], [6]
// 危険な設計の例示であり、Manusのソースコードではありません。
async function inspectEmail(email: Email) {
return agent.process(email.body, { tools: [serverSideRuntime] });
}
// より安全な境界の例示であり、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);
}
エンジニアリング&システム堅牢化チェックリスト
- ✓メール本文、添付ファイル、引用されたスレッド、取得したWebコンテンツを、モデルが安全または悪意ありと判定しても未信頼データとして扱います。[1], [5]
- ✓メール要約から汎用コード実行環境を呼び出せないようにします。読み取り専用の分析とツール実行を分け、権限を絞った型付きツールを使います。[1], [6]
- ✓実行前にサーバーポリシーで認可し、承認を認証済みユーザー、正確な操作と対象リソース、短い有効期限に結び付けます。[6]
- ✓実行環境を適切に隔離し、コンテンツ処理環境へOAuthトークンや広範な連携資格情報を渡しません。[1], [6]
- ✓承認、監査、ポリシー評価が使えない場合は必ず拒否します。実行後に表示される警告は予防策ではありません。[6]
- ✓ツール呼び出しとランタイムの記録を保持し、敵対的なメールから認可前に実行が起きないことをテストします。[1], [6]
- ✓Salt Labsは開示した問題が修正済みとしています。Manusの最新の安全情報を確認し、すべてのエージェント基盤に同じ欠陥があるとは推定しないでください。[1]