【ツールポイズニング】
ツールポイズニング とは?
最終更新:
💡 道具の説明書に、別の命令を紛れ込ませる
AIが読むツールの説明文などへ悪意ある指示を仕込み、利用者の意図と異なる行動へ誘導する攻撃です。MCPツールで報告されており、間接的なプロンプトインジェクションの一種です。
📌 このページのポイント
- AIが読むツールの説明文などに悪意ある指示を仕込む
- 間接的なプロンプトインジェクションの一種
- 成功すると情報の漏えいや不正な操作につながり得る
- 説明の変更確認・最小権限・重要操作の承認を組み合わせる
ツールの説明書に毒を盛るってこと?
比喩としてはそうだよ。ツールが何をするかを説明する文章へ、利用者が頼んでいない行動の指示を仕込むんだ。AIがその指示まで従うべき命令として扱うと、危険な操作へ誘導されることがある。
MCPと関係があるの?
追加したら必ず被害が出るの?
必ずではないよ。モデルやクライアントの扱い、使える権限などで結果は変わる。ただ、利用者には短い説明だけが見え、AIには詳しい指示が渡る場合もあるから、追加したツールの内容を確認することが大切だね。
署名があれば安全なツール?
署名は、信頼する署名者から来たか、署名後に改ざんされたかを確認する助けになる。説明の中身が無害かまで保証するものではないよ。ツールの版や説明のハッシュを固定し、変更があったら確認し直すことも対策になるんだ。
ほかにどんな対策をするの?
必要なツールだけを使い、読み書きや送信の権限を絞ろう。重要な操作では入力や送信先を人が確認し、操作ログも残す。外部の説明を利用者の指示と同じように扱わない工夫を含め、複数の対策を組み合わせることが大切だよ。
まとめ:ざっくりこれだけ覚えればOK!
「ツールポイズニング」って出てきたら「道具の説明文に悪意ある指示を仕込む攻撃」と思えばだいたいOK!
📖 おまけ:英語の意味
「Tool Poisoning」 = ツールへの毒盛り・汚染
💬 Toolは道具、Poisoningは毒を盛ること。AIに見せるツールの説明へ、悪意ある指示を紛れ込ませる比喩だよ。