MCP Tool Poisoningとは

MCP Tool Poisoningとは、AIに外部ツールやデータをつなぐ共通規格「MCP(Model Context Protocol)」のツール定義に、ユーザーには見えずAIには読める悪意ある指示を仕込み、AIエージェントを誤誘導して無断の操作をさせる攻撃のことです。日本語ではMCPツール汚染とも呼ばれます。

英語表記:MCP Tool Poisoning(MCP=Model Context Protocol)

日本語:MCPツール汚染

AIは「取扱説明書」を信じて動く

MCPの仕組みでは、AIはツールを使う前に、その説明文を読んで「どう使うか」を判断します。もしその説明文に悪意ある指示が紛れ込んでいると、AIはそれを正規の使い方だと信じて従ってしまうのです。外部のテキストでAIを誤誘導するプロンプトインジェクションが、ツールの定義文へ舞台を移した形といえるでしょう。MCP自体が危険なのではなく、つなぐツールの出所を確かめないと危ないという、運用の問題です。

気づきにくく、後出しもある

この攻撃のやっかいさは、被害に気づきにくい点にあります。AIは普通どおりの結果を返すので、裏で情報が抜かれていても、表からは異変が見えにくい。さらに、開発者が一度承認した後でサーバ側が説明文を悪意あるものへ静かに差し替える、“後出し”の手口も報告されています。最初に確認したから安心、とは言い切れないわけです。

企業の守り方

防ぐ側の基本は、つなぐツールの出所と中身を疑うことでしょう。ツールの説明文を透明に確認できるようにし、承認したツールはハッシュなどで“すり替え”を検知できるようにする。複数のツール提供元を一度につなぐときは、互いに干渉できないよう境界を設けたいところです。AIが読む外部由来のテキストは、すべて信用しないという前提が、結局いちばんの守りになります。

Topic取扱説明書を読むのは、人ではなくAIだけ

2025年4月、あるセキュリティ企業がこの盲点を実証しました。ごく普通の「足し算ツール」の説明文に、ファイルをこっそり外部へ送らせる隠し指示を潜ませても、利用者の画面には無害なツールとしか映らなかったといいます。急所は、ツールの完全な説明文を読むのは利用者ではなくAIだけ、という情報の非対称性です。人が読む説明書とAIが読む説明書が食い違いうる、という新しい盲点でしょう。

MCP Tool Poisoningに関するよくある質問

ふつうのプロンプトインジェクションと何が違うのですか?
仕込む“場所”が違います。通常は会話の入力に不正な指示を混ぜますが、こちらはAIがつなぐ外部ツールの説明文に隠します。利用者の画面には現れにくいぶん、より気づきにくいのが厄介な点です。
被害を抑えるには、AIの権限の話とも関係しますか?
関係します。汚染されたツールに従ってしまったとき、そのAIに与えた権限が大きいほど被害も大きくなります(Excessive Agency)。ツールの出所を確かめることと、AIの権限を絞ることは、両輪の対策になります。

あわせて読みたい記事