メモリポイズニングとは
メモリポイズニングとは、AIエージェントが保持する永続的なメモリや文脈(会話履歴や参照データベースなど)を汚染し、その後の動作を誤った方向へ誘導する攻撃です。いったん不正な情報を記憶に紛れ込ませれば、後の判断がじわじわとゆがめられてしまう。AIに長期記憶を持たせる仕組みが広がる中で、新たな弱点として注目されています。
英語表記:memory poisoning
なぜ厄介なのか
最大の特徴は、時間差で効くことです。普通のやり取りを装って不正な情報をAIの記憶に忍ばせておき、数日後や数週間後、まったく別の場面でそれが呼び出されて初めて悪さをします。その場のやり取りが終われば影響が消えるプロンプトインジェクションと違い、汚染が記憶に居座り続けるのが恐ろしい点。仕込まれた瞬間には実害が出ないため、原因の特定が遅れがちです。セキュリティ団体OWASPも、AIエージェントの主要な脅威の一つ(ASI06)として整理しています。
データポイズニングとの違い
名前が似たデータポイズニングと混同しないことが大切です。データポイズニングはAIを「育てる」段階=訓練データを汚す攻撃、メモリポイズニングはAIが「働いている」段階=運用中の記憶を汚す攻撃です。汚すタイミングが「訓練時」か「実行時」かが決定的な違い。前者はモデルそのものに毒を仕込み、後者は完成したAIの記憶に毒を盛る、とイメージすると整理しやすいでしょうか。
どう防ぐか
防御の柱は、記憶に入れる情報と取り出す情報をうのみにしないことです。メモリへの書き込み・読み出し時の検証、情報の出所(来歴)の記録、信頼度に応じた扱い、そしてAIが本来持つはずのない前提を語り出していないかの監視。こうした多層の対策が有効とされます。AIエージェントを業務に使うなら、「記憶は自動で正しくなるもの」と思わず、汚染されうる前提で見張る運用が、安全な活用への近道になるでしょう。
Topic専門家が呼ぶ「待ち伏せする攻撃」
この攻撃には「待ち伏せする攻撃(the attack that waits)」という呼び名があります。毒は仕込まれた瞬間には何も起こさず、関連する話題が出るその時までじっと待ち続けます。たとえるなら、書類の山にこっそり一枚だけ偽のメモを挟んでおくようなもの。普段は誰も気づかず、ある日その案件が動き出した瞬間に、偽のメモが意思決定を狂わせます。すぐに発覚しないからこそ厄介で、AIの記憶を扱うときの怖さを言い当てた呼び名といえるでしょう。
メモリポイズニングに関するよくある質問
- データポイズニングと何が違うのですか?
- 片方はAIを作る前の教材を汚し、もう片方は完成して動いているAIの記憶を汚します。学習の段階を狙うか、稼働中を狙うかが分かれ目です。名前は似ていますが攻撃のタイミングが正反対です。
- なぜすぐに気づけないのですか?
- 仕掛けた直後は何の異変もなく、しばらく経って関連する場面が来たときに初めて作動するためです。原因と結果が時間的に離れているため、追跡が難しくなります。
- 企業はどんな備えをすればよいですか?
- AIの記憶を頭から信じないことが出発点です。記憶に出入りする情報を検査し、どこから来た情報かを残し、エージェントが妙な思い込みを語り始めないか見張る運用が効果的とされます。