スレッドポイズニングとは
スレッドポイズニングとは、LLMとの会話スレッドに悪意ある指示を混ぜ、同じ会話が続く間のAIの振る舞いをずらす攻撃です。1回の入力で終わらず、長い相談履歴や共有チャットに指示が残る点が特徴です。会話の途中に貼られた小さなメモが、その後の返答全体を汚すと考えると分かりやすいでしょう。
英語原名: Thread Poisoning / ATLAS technique: Thread (AML.T0080.001)
どこが危ないのか
通常のプロンプトインジェクションは、その場の入力に注意が向きがちです。スレッドポイズニングでは、過去の発言が文脈として再利用される構図です。AIエージェントがSlackのような共有場所で動く場合、1人の投稿が後続の利用者にも影響するおそれあり。
対策は、会話を長く残さないことだけでは足りません。重要操作の前に指示の出どころを分け、外部入力と社内指示を混ぜない設計が必要になります。長い会話ほど便利ですが、長いほど汚染も残りやすいという見方が必要です。
Topic長いコンテキストは便利さとリスクを同時に伸ばす
MITRE ATLASの説明では、LLMのトークン上限が大きくなるほど、悪意ある指示がスレッド内に長く残りやすい点が示されています。長文を覚えられることは強みですが、不要な指示まで覚え続ける余地も広がる点。
現場で見るべき点
社内チャットにAIを入れる場合は、誰の発言を業務命令として扱うのかを決めること。要約、チケット作成、ファイル操作のような処理では、利用者の雑談と業務指示を同じ重さで読ませないことが要点です。
スレッドポイズニングに関するよくある質問
- スレッドポイズニングは普通のプロンプトインジェクションと違いますか?
- 近い攻撃ですが、スレッドポイズニングは会話履歴に悪意ある指示が残り、後のやり取りへ影響する点が焦点です。単発の入力だけでなく、長く続く相談履歴を管理する必要があります。
- 社内チャットAIで特に注意する場面は?
- 複数人が同じAIエージェントを使い、要約やファイル操作まで任せる場面です。雑談に見える投稿が、後続のAI処理へ混ざらないよう権限と文脈を分けます。