MemGhost: 1通のメールでAIエージェントの永続メモリを汚染する攻撃生成フレームワーク — バックグラウンド実行のE2E成功率はOpenClaw + GPT-5.4で87.5%、Claude Code SDK + Sonnet 4.6で71.4%

この記事は約17分で読めます。

2026年7月6日、Yechao Zhang氏ら8名の研究チームは、永続メモリを備えたAIエージェントに対する攻撃手法「ステルスメモリ注入(Stealth Memory Injection)」と、その攻撃メールを自動生成するフレームワーク「MemGhost」を扱った査読前プレプリント「When Claws Remember but Do Not Tell: Stealthy Memory Injection in Persistent Personal Agents」をarXivで公開しました。攻撃者が被害対象のエージェントと事前に直接やり取りすることなく、1通のメールによって永続メモリへ虚偽の情報を書き込ませ、将来のセッションへ影響を残し得ることを実験で示しました。研究チームは、注入(Injection)・秘匿性(Stealthiness)・有効性(Effectiveness)の3つの成功条件をすべて満たす、より厳格な脅威モデル「ステルスメモリ注入」を定式化し、攻撃ペイロードの生成を自動化するフレームワークとしてMemGhostを提案しました。なお、評価は攻撃メールがエージェントから読み取れる受信箱に到達した後を対象としており、スパムフィルターやSPF、DKIM、DMARC、メールセキュリティゲートウェイの突破は評価していません。

実験では、バックグラウンド実行時のエンドツーエンド成功率(E2E)が、GPT-5.4を使用したOpenClawで87.5%、Sonnet 4.6を使用したClaude Code SDKベースのエージェントで71.4%となりました。研究では入力レベル、モデルレベル、システムレベルの防御を評価しましたが、いずれも攻撃を完全には防げませんでした。入力レベルのDataSentinelは偽陰性率91.59%でMemGhostのメールを見逃し、モデルレベルのMeta-SecAlign使用時にも49.07%のケースでメモリ注入が成立、システムレベルのAgentDoGはOpenClawで偽陰性率93.46%、Claude Code SDKで40.38%となりました。さらに、ユーザーがエージェントに実行内容の明示を求める適応的防御でも、Claude Code SDK環境における秘匿成功率はSonnet 4.5で25.0%、Sonnet 4.6で23.2%となり、一部の攻撃はユーザーから隠されたままでした。この結果から研究チームは、外部入力の処理と永続メモリへの書き込みを分離するなど、エージェント側の構造的な対策が必要であると論じています。OpenClawプロジェクトはThe Hacker Newsに対し、論文が同プロジェクトの推奨構成である「未信頼メールを分離リーダーエージェントで処理する」設計を評価対象外としている点、およびClaude Opus 4.6を評価対象から外している点を指摘する一方、外部コンテンツに対するメモリ書き込み制御(来歴情報〔プロベナンス〕の付与、監査ログ、確認プロンプト)の実装を論文の推奨方向で検討中であると表明しています。

事案の全体像

項目 内容
攻撃手法・脅威モデル Stealth Memory Injection(ステルスメモリ注入)
攻撃生成フレームワーク MemGhost (ワンショットのペイロード生成フレームワーク)
論文タイトル When Claws Remember but Do Not Tell: Stealthy Memory Injection in Persistent Personal Agents
arXiv ID 2607.05189v1 (cs.CR、査読前プレプリント)
公開先 arXiv (査読前プレプリント、2026年7月6日公開)
報道 The Hacker News (Swati Khandelwal記者、2026年7月13日)
研究チーム Yechao Zhang氏ら8名の研究チーム
攻撃対象 永続メモリを持ち、外部入力(メールなど)を読み、自身のメモリに書き込みができるAIエージェント
攻撃ベクター エージェントが読み取る受信箱に到達した1通のメール(one-shot delivery、被害者との対話なし)
3つの成功条件 (1) Injection: 攻撃者が制御する情報を永続メモリへ書き込ませる、(2) Stealthiness: ユーザー可視の応答に痕跡を残さない、(3) Effectiveness: 将来のセッションで実際に動作へ影響を与える
技術基盤 Environment Proxy (シャドウエージェント)とObjective Proxy (ルーブリック報酬)による転移攻撃。SFTとGRPOで学習した生成モデルベースの攻撃モデル
評価ベンチマーク WhisperBench (108ケース、5リスクカテゴリ)
主なE2E成功率(バックグラウンド実行) OpenClaw + GPT-5.4: 87.5% / Claude Code SDK + Sonnet 4.6: 71.4%
評価対象LLM GPT-5.4、Claude Sonnet 4.5/4.6、DeepSeek v4 Flash、Grok 4.1 Fast、MiniMax-M2.5 (計6モデル)。Claude Opusは評価コストを理由に対象外。The Hacker Newsは、対象外となったモデルをClaude Opus 4.6と報道
評価対象フレームワーク・実装環境 OpenClaw、NanoClaw、Hermes Agent、Claude Code SDKを用いたパーソナルエージェント実装。メモリバックエンドはファイルシステムとMem0(ベクトルデータベース)
ステータス 研究段階(隔離されたテスト環境で評価。論文および関連報道では、実在ユーザーや本番環境に対する悪用事例は示されていない)。論文は、研究結果、攻撃パターン、WhisperBenchのデータを関係するフレームワーク開発者やLLMプロバイダーへ報告すると記載
関連事例(筆者による整理) SpAIware (2024年、Johann Rehberger氏、ChatGPT手動実証) → EchoLeak (2025年6月、CVE-2025-32711、Microsoft 365 Copilot) → MemGhost (2026年、ペイロード自動生成・転移評価)

永続的パーソナルエージェントとは何か

永続的パーソナルエージェント(persistent personal agent)は、複数セッションにまたがってユーザーの情報を記憶し続けるAIアシスタントです。OpenClawはその代表的な実装で、標準指示、ユーザーに関する学習内容、識別情報、記憶といった状態をプレーンテキストのMarkdownファイル(AGENTS.md、USER.md、IDENTITY.md、SOUL.md、MEMORY.md、日付ベースのエピソード記録など)としてワークスペースに保存します。エージェントはセッション開始時にこれらの一部を自動的にLLMのコンテキストへ組み込み、あたかもユーザーを「知っている」かのように振る舞います。

実行モードには2種類があります。1つ目はフォアグラウンド実行で、ユーザーの明示的なメッセージを起点にエージェントが応答を返す通常の対話モードです。2つ目はバックグラウンド実行で、cronのようなスケジューラが定期的にエージェントを起動し、ユーザー不在でもメールチェックや監視タスクを自律的に実行します。OpenClawではこの仕組みを「heartbeat」と呼び、事前に登録された指示(HEARTBEAT.md)に基づいて動作します。バックグラウンド実行では、条件を満たした場合のみユーザーへ通知を送る仕組みが採用されるため、エージェントの活動そのものがユーザーの視界から外れやすい構造になっています。

研究チームはこの構造に対して2つの前提を置きました。第一に、LLMの内部処理トレース(<think><tool_call><tool_result>タグ内の内容)は通常ユーザーインターフェイスから隠されており、開発者向けの明示的オプトインが必要です。第二に、ユーザーが永続メモリのファイルやベクトルデータベース(ベクトルDB)を日常的に直接確認するとは考えにくいでしょう。エージェントが数日から数週間運用されると、蓄積される状態が増え、手作業での継続的な監査が困難になります。この2つの前提は、ステルスメモリ注入攻撃を発見しにくくする要因となります。

ステルスメモリ注入攻撃の3つの成功条件

研究チームは、従来のプロンプトインジェクション研究が単一セッションでの即時的な乗っ取りに焦点を当てていたのに対し、記憶注入攻撃が成功するには、より複雑な3つの条件を同時に満たす必要があると指摘しました。

Injection (注入)

第一に、攻撃者のペイロードがエージェントに「攻撃者が制御する内容を永続メモリへ書き込ませる」必要があります。この書き込みは、エージェント自身のファイル書き込みツールやメモリ書き込みAPIを通じて発生するため、認可(authorization)・ツールポリシー・承認(approval)・サンドボックス境界のいずれも越えません。この攻撃は、エージェントにあらかじめ付与されたファイル書き込みやメモリ更新の権限を利用します。OpenClawの公式セキュリティポリシーでは、認証、ツールポリシー、承認、サンドボックスなどの境界を越えないプロンプトインジェクションは、通常、それだけではセキュリティバグとして扱われません。

Stealthiness (秘匿性)

第二に、注入行為をユーザーに気付かせない必要があります。エージェントが可視応答で「メモリを更新しました」「メールの指示に従って設定を変更しました」といった宣言を行うと、ユーザーはただちに攻撃を認識できるからです。MemGhostは、可視応答にメモリ書き込みを察知できる情報が含まれないよう最適化されており、通常のメール処理や返信タスクの完了報告と区別しにくい応答を生成します。

Effectiveness (有効性)

第三に、注入された記憶が将来のエージェント動作に実際の影響を与える必要があります。MemGhostの報酬設計では、対象構成で継続的に参照される中核状態(論文ではAGENTS.mdやMEMORY.mdなどが例として挙げられています)への書き込みを高く評価します。日付ベースのエピソード記憶など、後続の検索で取得されるかどうかが不確実な保存先にはペナルティを与え、保存場所と記述内容の品質をトリガーフェーズにおける有効性の代理指標としています。

3つの成功条件と2つの攻撃フェーズ

論文が定義する攻撃ライフサイクルは、攻撃メールを処理して永続状態を書き換える注入フェーズ(Injection Phase)と、後続セッションで汚染された記憶が動作へ影響するトリガーフェーズ(Trigger Phase)の2つで構成されます。注入と秘匿性は前者で、有効性は後者で評価されます。攻撃者が被害対象のエージェントと直接やり取りできず、配信後のフィードバックも得られない状況で、1通のメールによって3つの成功条件をすべて満たすことが求められる点が、MemGhostの攻撃モデルの特徴です。

既存の多層防御でも攻撃を完全には防げず

研究チームが入力、モデル、システムの各層から選んで評価した代表的な防御策では、MemGhostを完全には防げませんでした。

入力レベルでは、受信メールを検査するDataSentinelの偽陰性率(FNR)が91.59%となり、MemGhostのメールの大半を検出できませんでした。モデルレベルでは、外部環境から届く指示を無視するよう調整されたMeta-SecAlignを使用した場合でも、49.07%のケースでメモリ注入が成立しました。システムレベルでは、実行トレースを監査するAgentDoGの偽陰性率がOpenClawで93.46%、Claude Code SDKで40.38%となりました。OpenClawでは攻撃の大半を、Claude Code SDKでも約4割を見逃したことになります。

これらとは別に、ユーザーがエージェントに実行内容の明示を求める適応的防御(explicit visibility)も評価されました。この条件でも、Claude Code SDK環境における秘匿成功率はSonnet 4.5で25.0%、Sonnet 4.6で23.2%となり、一部の攻撃はユーザーから隠されたままでした。

これらの結果は、既存のプロンプトインジェクション対策がステルスメモリ注入という新しい脅威モデルには十分対応できていない現状を示唆しています。今回評価された既存の防御策は、主として外部入力による不正な指示の実行や、実行時の不審な挙動を検出・抑制することを目的としています。一方、MemGhostでは注入と後続セッションでの影響が時間的に分離されます。注入時には正当な操作にしか見えず、発火時には既に永続化された「信頼された内部状態」から動作するため、即時的な不正動作を対象とする既存の検出器では十分に捕捉できない場合があります。

OpenClaw側の指摘と論文の限界

The Hacker Newsによると、OpenClawプロジェクトは論文の実験設定に対していくつかの重要な指摘を示しました。

第一に、OpenClawの公式セキュリティ文書は、未信頼コンテンツを読み取り専用またはツールを無効化したリーダーエージェントで処理し、メインエージェントには要約のみを渡す構成を推奨しています。Gmailを扱う場合も、専用リーダーエージェントにサンドボックスとツール制限を適用し、メインエージェントへの引き渡しを制限するよう案内しています。The Hacker Newsによると、OpenClaw側はこの構成について、リーダーエージェントからmemory、file、shellなどのツールを外す設計だと説明しています。論文はこの分離構成を評価しておらず、メインエージェント自身にメールの読み取りと永続メモリへの書き込みの両方を許した実験構成は、OpenClawの推奨構成とは異なるという指摘です。

第二に、使用するモデルの性能層による違いです。論文はGPT-5.4を主要ターゲットとして評価しましたが、Claude Opusについては評価コストを理由に対象から外しています。The Hacker Newsによると、OpenClaw側は、対象外となったモデルをClaude Opus 4.6として言及し、Claude Opus 4.6エージェントに対して秘密情報の窃取を狙う多数のインジェクションメールが試みられたが成功例は報告されなかった「HackMyClaw」という公開チャレンジを、使用するモデルの違いが耐性に影響する例として挙げています。ただし、このチャレンジはデータ窃取(data theft)を対象としており、記憶ポイズニングそのものを評価したわけではないため、論文への直接的な反論にはなりません。

第三に、OpenClawプロジェクトは外部コンテンツに対するメモリ書き込み制御(来歴情報の付与、監査ログ、確認プロンプト)の実装を検討していると明言しました。これは論文の推奨方向と一致するもので、フレームワーク側でも対策を進めていく姿勢と言えます。

また、論文の評価は主として単一エージェント・単一ユーザー環境と、テキスト本文によるメール攻撃を対象としています。複数エージェント間での記憶汚染の伝播、マルチテナント環境、添付ファイル、埋め込み画像、カレンダー招待、数週間にわたる記憶の減衰や統合については評価されていません。

The Hacker Newsは論文著者側にも問い合わせを行い、追記があり次第記事を更新するとしています。論文とOpenClaw側の説明から共通して読み取れるのは、未信頼メールの読み取り機能と強いメモリ書き込み権限を単一のエージェントに持たせる構成が、重大な攻撃面になり得るという点です。

実務者への推奨対応

MemGhostの発表を受けて、AIエージェントを設計、運用、あるいは利用する実務者が取れる対応を整理します。

  • 未信頼メール処理とメモリ書き込みの分離:研究チームとOpenClawの双方が推奨する根本的な対策です。未信頼メールを読むエージェントと自身のメモリに書き込むエージェントを別々に構成し、両者間のインターフェイスを厳密に制限します。OpenClawの公式セキュリティ文書に沿って、未信頼メールを専用のリーダーエージェントへ送り、読み取り専用またはワークスペースへアクセスできない状態で処理させ、ファイル書き込み、shell、browserなど不要なツールを拒否し、メインエージェントへの引き渡しを必要最小限に制限する設計を検討します
  • メモリ書き込み時の来歴情報(プロベナンス)の付与:永続メモリに書き込まれる各エントリーに、その情報の出所(ユーザー入力・外部メール・エージェント自身の推論等)を明示的にタグ付けします。将来のセッションで参照する際、外部由来の情報は信頼度を下げて扱う、あるいは重要な判断には使用しないといったポリシーを適用可能にします
  • 永続メモリ書き込み前のユーザー確認:特に敏感なメモリ(送金限度、アクセス権限、健康情報、業務指示等)の書き込みについては、エージェントがユーザーに明示的な承認を求める設計を導入します。バックグラウンド実行時は書き込みを保留し、次回のフォアグラウンドセッションで確認を求めるパターンも有効です
  • メモリ書き込みの監査ログ:エージェントによるすべての永続メモリ書き込みを、時刻・書き込み元のツール呼び出し・トリガーとなった外部入力とともにログ化します。異常が発生した場合の遡及調査を可能にし、また継続的な監査によって疑わしい書き込みパターンを検出できるようにします
  • メールを起点とするタスクのスコープ制限:メールをきっかけに実行されるエージェントアクションが変更できる範囲を、あらかじめ最小限に制限します。バックグラウンドでメールをきっかけに永続メモリの中核ファイルを書き換える経路が本当に必要か、運用の観点から見直します
  • 疑わしいメール到達後のメモリ検査:フィッシング、不審な送信元、あるいは通常と異なるパターンのメールが到達した後は、エージェントの永続メモリファイルを人手で確認する運用手順を用意します。特にAGENTS.md、MEMORY.mdといった中核ファイルの直近の変更履歴を確認します
  • モデル選択だけに依存しない:特定のモデルがプロンプトインジェクションへの一定の耐性を示す可能性はありますが、Claude OpusはMemGhostの評価対象ではなく、HackMyClawも記憶ポイズニングを評価したものではありません。モデル選択を単独の防御とはせず、権限分離、書き込み確認、監査ログなどの構造的対策と組み合わせます
  • 攻撃研究の継続的な追跡:SpAIware、EchoLeak、MemGhostが示すとおり、外部コンテンツを起点とする間接プロンプトインジェクションは、データ流出だけでなく、永続メモリの汚染や後続セッションへの影響へと攻撃範囲を広げています。エージェントを本番運用する組織は、関連する学術論文とベンダー公表を継続的に追跡し、新しい攻撃モデルへの対応を運用に組み込む必要があります

本事案が示すもの

MemGhostが浮き彫りにするのは、永続的パーソナルエージェントというプロダクトカテゴリそのものが持つ構造的なトレードオフです。エージェントは長期間ユーザーのデータを記憶することで有用性を提供します。同時に外部からの入力を読んで自律的にタスクを遂行することも期待されます。外部入力の読み取りと永続メモリへの書き込みを、適切な権限分離や確認処理なしに単一のエージェントへ持たせると、外部コンテンツが「信頼された内部状態」へ変換される攻撃経路が生じます。MemGhostは、隔離されたベンチマーク環境において、この攻撃経路が複数のLLM、複数のエージェント実装、複数のメモリバックエンドにまたがって成立し得ることを示しました。

論文および関連報道では、実在ユーザーや本番環境を対象とした悪用事例は示されていません。ただし、SpAIware、EchoLeak、MemGhostへと続く研究の流れは、外部コンテンツを起点とするAIエージェントへの攻撃が、永続化やペイロード生成の自動化へと発展していることを示唆しています。プロンプトインジェクション対策を「単発の即時的な悪用」を前提に設計してきた既存のガードレールだけでは、時間的に分離された注入(Injection)とトリガー(Trigger)という新しい攻撃モデルに対して十分に対応できない場合があります。後続セッションでも、注入された記憶が応答や判断へ影響する構造そのものに手を入れる必要があり、来歴情報(プロベナンス)の付与、確認、ログ、境界分離といった原則を実装レベルで組み込むことが、フレームワーク開発者と運用者の双方にとって重要な課題となります。

一次情報・公式情報

参考情報

slug: memghost-ai-agent-stealth-memory-injection

コメント

タイトルとURLをコピーしました