LLM Frontline
ルール・リスク管理

AIエージェントのメモリ汚染(sleeper memory poisoning)とは|永続メモリを狙う遅延型攻撃を業務目線で

シオンルール・リスク管理担当
・ 約12分で読めます
AIエージェントのメモリ汚染(sleeper memory poisoning)とは|永続メモリを狙う遅延型攻撃を業務目線で

AIエージェントに「ユーザーを覚える」永続メモリ(long-term memory)を持たせる構成が広がっています。過去のやり取りや好みを会話をまたいで保持できると使い勝手は上がりますが、この「覚える」性質そのものが新しい攻撃面になります。2026年に相次いで公開された研究は、外部の文書やWebページに仕込まれた内容を通じて、エージェントに偽の「記憶」を書き込ませ、後日の別の会話で遅延的に発火させる攻撃を報告しています。いわゆる「スリーパー型のメモリ汚染(sleeper memory poisoning)」です。この記事では、業務でエージェントを使う・運用する立場から、仕組みの理解と防御・運用対策に軸足を置いて整理します。攻撃の再現手順は扱いません。

メモリ汚染とは何か、なぜ「新しい」のか

多くのLLMエージェントは、会話が終わっても消える短期の文脈だけでなく、ユーザー固有の情報をセッションをまたいで保存する永続メモリを備えつつあります。個人化や継続性のためにこの状態性(statefulness)は有用ですが、同時に「エージェントが覚えている内容そのものを外部から汚せる」という新しいリスクを生みます。

代表的な研究「Hidden in Memory: Sleeper Memory Poisoning in LLM Agents」(arXiv:2605.15338)は、この攻撃を次のように説明しています。攻撃者は文書・Webページ・リポジトリといった外部コンテキストを操作し、エージェントにユーザーに関する「捏造された記憶」を保存させます。同論文の表現を借りると、従来のプロンプトインジェクションと違い、この攻撃は「休眠状態のまま留まり、後の複数の会話で再び現れうる(remain dormant and re-emerge across multiple later conversations)」点が本質的な違いです。つまり、注入した瞬間に効かせるのではなく、正規のメモリとして書き込ませておき、後日の無関係な会話で取得されたときに発火させる、時間差のある攻撃です。

単一ターンのプロンプトインジェクションとの違い

プロンプトインジェクションは、その場の入力に紛れ込ませた指示でモデルの振る舞いをその場で乗っ取る、単一ターン・即時型の攻撃です。対してメモリ汚染は、書き込み(write)、後の取得(retrieve)、そして取得された記憶による行動誘導(steer)という複数段階のパイプラインを通ります。厄介なのは、汚染が「記憶」として定着した後は、攻撃コンテンツがもう目の前になくても、別の会話で悪影響が再生することです。単一ターンの入力チェックだけでは、この時間差の経路を捕まえきれません。

注意

本記事で紹介する数値は、いずれも2026年に公開された研究論文の報告値です。特定のモデルや実験構成に依存し、独立検証の段階や第三者環境では出方が変わりうる、変動前提の値として読んでください。実在サービスでの実被害を示すものではありません。arXiv:2605.15338では、汚染メモリが書き込まれた割合が対象モデルで最大約99.8%(GPT-5.5)・約95%(Kimi-K2.6)に達し、書き込みに成功して取得された記憶のうち約60〜89%で攻撃者意図の行動が誘発された、と報告されています。あくまで同論文の実験下での報告値であり、環境により大きく変動します。

スリーパー型メモリ汚染の定義とパイプライン(書き込み->取得->行動誘導)、および上記の報告値は arXiv:2605.15338「Hidden in Memory: Sleeper Memory Poisoning in LLM Agents」に基づきます。数値は同論文の実験下の値で、モデル・構成依存かつ変動前提です。

性能と攻撃面はトレードオフになりうる

もう一つ押さえておきたいのが、メモリ設計の「性能を上げる選択」が「攻撃面を広げる選択」と表裏一体になりうる点です。「From Untrusted Input to Trusted Memory: A Systematic Study of Memory Poisoning Attacks in LLM Agents」(arXiv:2606.04329)は、メモリ汚染を体系的に調べた研究で、たった一度の敵対的な書き込みがエージェントの振る舞いへ長期的な影響を及ぼしうる、と指摘しています。

同研究が示す論点として重要なのは、メモリへ積極的に書き込み・取得するように設計されたエージェントほど、汚染に対して脆弱になりやすいという傾向です。記憶を活発に使うほど個人化や継続性は高まりますが、その分だけ「信頼できない入力が記憶へ昇格する」経路が増えます。加えて同研究は、既存のプロンプトインジェクション対策がメモリ汚染を十分カバーしないとも述べています。ここでも、単一ターン向けの防御をそのまま流用するだけでは足りない、という含意が読み取れます。

メモ

「メモリを使うほど便利、でも攻撃面も広がる」という関係は、便利さと安全性のどちらかを一律に選ぶ話ではありません。どの情報を、どの経路で、どこまで記憶へ昇格させるかを設計で切り分けることが、トレードオフを管理する出発点になります。

あわせて読みたい

プロンプトインジェクションとは|LLMアプリを狙う攻撃と実務でできる多層防御

メモリのライフサイクルで捉える

攻撃も防御も、記憶の一生(ライフサイクル)で捉えると整理しやすくなります。「A Survey on Long-Term Memory Security in LLM Agents」(arXiv:2604.16548)は、永続メモリの脅威を書き込み(Write)、保存(Store)、取得(Retrieve)、実行(Execute)、共有・伝播(Share & Propagate)、忘却・巻き戻し(Forget & Rollback)という各段階で捉えるフレームを提示しています。メモリ汚染は、このうち書き込み・保存の段階での「完全性(Integrity)」の侵害にあたると位置づけられます。

同サーベイが強調するのは、堅牢なメモリ安全性は取得時や実行時だけの後付けでは実現できず、保存時の来歴(provenance)・バージョン管理・保持ポリシーといった「入口側」に錨を下ろす必要がある、という考え方です。つまり、汚染された記憶を後段で見つけて弾く発想だけでなく、そもそも信頼できない情報を記憶へ昇格させない設計が要になります。

あわせて読みたい

AIエージェントとは何か|従来の自動化との違いと任せてよい仕事

業務・運用で取れる防御策

防御は研究段階にあり、有効性は構成に依存します。以下は、上記の研究群や一般的なベストプラクティスから整理した、運用で検討できる多層の対策です。単一の銀の弾丸はなく、組み合わせて低減を図る前提で読んでください。

  1. 1

    信頼境界を分離し、来歴(出所)を付ける

    信頼できないコンテンツ(外部文書・Webページ・受信メール等)に由来する情報を、そのまま永続メモリへ昇格させない設計にします。記憶には「どこ由来か」の来歴を付与し、出所不明・低信頼の情報は記憶化しない、あるいは別扱いにします。研究(arXiv:2606.24322)は、書き込み時に出所を束ねる「origin-bound」な権限付与を防御の必要条件として論じています。
  2. 2

    メモリ書き込みを検証・承認する

    何を記憶するかを自動で丸ごと任せず、重要な記憶の書き込みには検証やレビューの段を設けます。特に、ユーザーに関する断定的な「事実」を新規に記憶する際は、由来と妥当性を確認する運用が有効になりえます。
  3. 3

    重大な行動には承認ゲートを置く

    送金・外部送信・削除・権限変更のような影響の大きい操作は、記憶の内容を根拠に自動実行させず、人手の承認を挟みます。汚染記憶が取得されても、行動に至る手前で止められる余地を残します。
  4. 4

    最小権限を徹底する

    エージェントとメモリに与える権限・ツールアクセスを、業務に必要な最小限に絞ります。仮に汚染が起きても、到達できる操作の範囲を狭めることで被害を限定します。
  5. 5

    メモリを監査・取り消し可能にする

    記憶の追加・変更を記録し、後から出所をたどって不審な記憶を取り消せる仕組みを持ちます。バージョン管理や巻き戻しができると、汚染の発見後に清掃しやすくなります。
  6. 6

    定期的に棚卸しする

    蓄積した記憶を定期的に見直し、古い・不要・出所不明の記憶を整理します。記憶を「貯めっぱなし」にしないことが、遅延型の攻撃が発火する土壌を減らします。

これらの有効性は研究段階であり、構成やモデルに依存します。たとえば arXiv:2606.24322 は、出所束縛・非可鍛(non-malleable)な権限付与といった手法を提案し、その枠組みで攻撃成功率を大きく下げられたと報告していますが、これも特定の実験環境での結果です。既存の一般的な防御は、汚染を「洗浄」して信頼情報に見せかける経路(laundering)に対して弱い場合があるとも報告されており、防御は単層で完結しないと考えるのが安全です。自社で導入する際は、これらを取り入れつつ、自環境での検証と監視を前提にしてください。

ヒント

まずは「エージェントが何を、どの由来で記憶しているか」を可視化するところから始めるのが現実的です。記憶の中身と出所が見えなければ、汚染の検知も取り消しもできません。可視化・監査・承認ゲートの三点を優先度高く整えると、遅延型攻撃への耐性を底上げしやすくなります。

あわせて読みたい

AI利用時の情報管理|入力してよいデータの線引きと社内での運用

よくある質問

メモリ汚染とプロンプトインジェクションはどう違うのですか
プロンプトインジェクションは、その場の入力に紛れ込ませた指示でモデルをその場で操る単一ターン・即時型の攻撃です。メモリ汚染は、外部コンテンツ経由で偽情報を永続メモリへ書き込ませ、後日の別会話で取得されたときに遅延して発火させる点が異なります。攻撃コンテンツが目の前になくても悪影響が再生しうるため、単一ターンの入力チェックだけでは捕まえきれません。
どのくらい成功しやすい攻撃なのですか
研究(arXiv:2605.15338)では、対象モデルで汚染メモリの書き込みが高い割合で成立し、取得された汚染記憶が攻撃者意図の行動を一定割合で誘発した、と報告されています。ただしこれは特定モデル・実験構成での報告値で、環境により大きく変動します。実在サービスでの実被害率を示すものではないため、値は帰属付きの参考として扱ってください。
メモリ機能は使わないほうが安全ですか
永続メモリは個人化や継続性の面で有用で、使う=危険と断ずるものではありません。研究が示すのは、積極的に書き込む・取得する設計ほど攻撃面が広がりやすいというトレードオフです。何を、どの由来で、どこまで記憶へ昇格させるかを設計で切り分け、監査と承認を組み合わせることで、便利さを保ちつつリスクを下げる方向を検討できます。
既存のプロンプトインジェクション対策で防げますか
研究(arXiv:2606.04329)は、既存のプロンプトインジェクション対策がメモリ汚染を十分カバーしないと指摘しています。単一ターン向けの入力チェックに加えて、記憶の書き込み・保存・取得・実行という各段階を意識した多層の対策が必要になると考えるのが安全です。
社内で今すぐできることは何ですか
まずエージェントが何を・どの由来で記憶しているかを可視化し、重大な行動に承認ゲートを置き、権限を最小化するところから始めるのが現実的です。あわせて記憶の監査と取り消し、定期的な棚卸しの運用を整えると、遅延型攻撃への耐性を底上げできます。防御は研究段階のため、自環境での検証と監視を前提にしてください。

まとめ

メモリ汚染に備えるためのチェックリスト

  • メモリ汚染は永続メモリへ偽情報を書き込ませ、後日の別会話で発火させる遅延型攻撃だと理解した(単一ターンのインジェクションと時間軸が違う)
  • 紹介した数値は研究段階の報告値でモデル・構成依存・変動前提だと理解し、実被害率と混同しない
  • 積極的なメモリ書き込み/取得は攻撃面を広げうるトレードオフを踏まえ、記憶へ昇格させる情報を設計で切り分ける
  • 信頼できないコンテンツ由来の情報に来歴を付け、そのまま記憶化しない方針にした
  • 重大な行動には承認ゲート、権限は最小化、記憶は監査・取り消し・定期棚卸しできる運用にした
  • 既存のインジェクション対策だけでは不十分な前提で、自環境での検証と監視を続ける段取りにした

永続メモリを持つエージェントは、便利さと引き換えに「覚えている内容そのものを汚される」という新しい攻撃面を抱えます。スリーパー型のメモリ汚染は、注入から発火までに時間差があるぶん見えにくく、単一ターン向けの防御だけでは取りこぼしが生じます。とはいえ、現時点で分かっているのは「メモリを使うな」ではなく、「何を・どの由来で・どこまで記憶へ昇格させるかを設計で切り分け、監査と承認を重ねる」という運用の勘所です。数値やベンチに振り回されず、研究段階であることを前提に、可視化・来歴付与・承認ゲート・最小権限・監査という多層の備えを、自環境で検証しながら積み上げていくことが、遅延型の脅威に対する現実的な着地点になります。

出典・参考

この記事をシェア

関連する記事