プロンプトインジェクション対策を実装済みのエンタープライズ基盤でも、長期記憶ストアを狙うメモリ汚染攻撃は防げていないケースが多い。攻撃者がセッション内で一度だけ悪意ある命令を記憶に書き込めば、その後の全セッションでエージェントは汚染された記憶を「真実」として処理し続けます。
OWASPは2026年6月1日、この攻撃ベクトルを ASI06 として正式分類し、リファレンス実装「Agent Memory Guard」を公開しました。本記事はエージェントガバナンスの文脈で、攻撃の仕組みから5層防御アーキテクチャの実装判断まで、セキュリティアーキテクトが知るべき設計指針を整理します。
メモリ汚染攻撃とは何か
AIエージェントのメモリ汚染攻撃(ASI06)は長期記憶ストアに悪意ある命令を永続化し、セッションをまたいで動作を乗っ取る攻撃です。
プロンプトインジェクションとの本質的な違いはペイロードの持続性にあります。プロンプトインジェクションはセッション終了とともにリセットされますが、メモリ汚染は長期記憶ストアに書き込まれるため、攻撃者がセッション外からエージェントを制御し続けます。独立した複数の研究で攻撃成功率は80〜99.8%と報告されています。
代表的な手法は MINJA(Memory INJection Attack) です。攻撃者は通常の会話クエリに見える「架け橋ステップ」を埋め込み、エージェントが自ら記憶を更新するよう誘導します。注入成功率は95%以上とされています。さらに高度な手法では「後でXと入力したら実行せよ」という条件付き命令を潜伏させ、ユーザーが「はい」「了解」などの一般的な単語を入力した瞬間に発動する遅延ツール起動攻撃も記録されています。
マルチエージェント構成では「サブエージェントが返した結果をそのままメモリに書き込む」パターンが多く、汚染が上位エージェントへ伝播するリスクが高まります。
4つのメモリタイプと攻撃面
OWASPはエージェントメモリを4タイプに分類し、エピソード記憶とセマンティック記憶が最も汚染を受けやすいと定義しています。
| タイプ | 格納内容 | 主な攻撃面 |
|---|---|---|
| 会話履歴 | セッション内ターン | セッション内インジェクション |
| エピソード記憶 | 過去タスクの結果サマリ | 要約フェーズへの悪意ある注入 |
| セマンティック記憶 | ベクターDBに格納された知識 | RAGリトリーバルへのポイズニング |
| 手続き記憶 | ツール選択・計画パターン | ファインチューニングデータへの混入 |
攻撃者が特に狙いやすいのはエピソード記憶と手続き記憶です。エピソード記憶では、要約生成時にLLMが「意味的に同等」と判断した悪意ある命令を取り込みやすい。手続き記憶への汚染はツール選択バイアスとして本番環境で静かに累積し、検出が困難です。
既存のプロンプトインジェクション多層防御はコンテキストウィンドウを保護しますが、永続ストアへの書き込みは対象外です。両者は補完的な独立レイヤーとして設計する必要があります。
5層防御アーキテクチャの実装設計
OWASP Agent Memory Guardの5層防御を全実装すると、精度92.5%・遅延59マイクロ秒でメモリ汚染を検出できます。
第1層:入力モデレーション
メモリへの書き込み前に、ソース出所・意味的な命令パターン・期待コンテンツタイプとの乖離を複合スコアリングで評価します。Agent Memory GuardはYAML設定でallow/redact/quarantine/blockのアクションを指定でき、ゼロファルスポジティブの実績が公開されています。
第2層:メモリサニタイズと出所タグ付け
全メモリエントリに出所・作成時刻・セッションコンテキスト・初期信頼スコアを付与することが基盤要件です。書き込み前バリデーション(write-ahead validation)では副次モデルが提案された更新内容を承認するまでコミットを保留します。
第3層:信頼度重み付きリトリーバル
RAGリトリーバル時に出所メタデータで検索結果をランク付けし直します。古いエントリは時間的減衰(temporal decay)でスコアが下がり、汚染コンテンツがコンテキストに召喚されるリスクを低減します。異常な検索パターン(特定の汚染コンテンツが繰り返し召喚される等)を監視するフックも実装します。
第4層:行動監視とサーキットブレーカー
エージェントの通常行動ベースラインを確立し、逸脱を検知したら隔離します。サーキットブレーカー設計と組み合わせると、汚染検知から自動隔離までの応答を59マイクロ秒水準に抑えられます。
第5層:フォレンジックと既知良好状態へのロールバック
全メモリ操作をイミュータブル監査ログに記録し、汚染検知後に既知良好状態へ自動ロールバックできる仕組みを設けます。これには定期的なチェックポイントスナップショットの取得が前提です。監査ログ改ざん防止設計と組み合わせることで、インシデント後の原因特定を確実にします。
エンタープライズ展開の実装チェックリスト
マルチエージェント構成では名前空間スコープを最小権限設計し、上位エージェントへのメモリ書き込みを明示的に禁止します。
エンタープライズ固有の考慮点を以下に整理します。
マルチエージェントでのメモリ隔離: サブエージェントが書き込める名前空間を属性ベースアクセス制御(ABAC)でスコープ化し、上位エージェントのメモリへの直接書き込みを禁止します。エージェントIAMとスコープ付き認証情報設計と組み合わせることで、書き込み権限の最小化を一元管理できます。
横断ガバナンス: OWASP ASI06の緩和状況をセキュリティダッシュボードに組み込み、四半期ごとにメモリ監査を実施します。各エントリが「明確に信頼できるソースに由来する」ことをトレーサビリティ確認する仕組みが必要です。
実装チェックリスト:
- [ ] 全メモリエントリに出所・タイムスタンプ・セッションIDを付与しているか
- [ ] RAGリトリーバルに信頼スコアの重み付けを組み込んでいるか
- [ ] write-ahead validationが全メモリ書き込みパスに適用されているか
- [ ] チェックポイントスナップショットの定期取得とロールバック手順が確立されているか
- [ ] サブエージェントのメモリ書き込みスコープがABACで制限されているか
参考
- Memory poisoning in AI agents: exploits that wait — Christian Schneider
- AI Agent Memory Poisoning: The Attack Surface No One Is Watching — Kiteworks
- OWASP Top 10 for Large Language Model Applications
まとめ
AIエージェントのメモリ汚染攻撃は、既存のプロンプトインジェクション対策では防げない持続的な攻撃ベクトルです。OWASPのASI06が定める5層防御(入力モデレーション・メモリサニタイズ・信頼度付きリトリーバル・行動監視・フォレンジック)を全層実装し、全メモリエントリに出所タグを付与することが、エンタープライズ基盤での最低要件です。
マルチエージェント構成への展開、ABAC設計、評価パイプラインとの統合を含む包括的なAIエージェントセキュリティ設計については、KuuのRDEサービスにご相談ください。