テック技報最新号へ →
セキュリティ

MCP の動作確認ツール MCP Inspector を更新し、知らないサーバーにつながない(CVSS 9.6 の 2 件)

MCP Inspector は、悪意ある MCP サーバーにつないだだけで手元のコマンドを実行されうる脆弱性 2 件が見つかった。v1 系は 1.0.3、v2 系は 2.12.0 以上へ更新し、信頼できないサーバーの確認には隔離した環境を使う。

@MalwareBibleJP · 2026-10-29
#mcp#ai-agent#rce#oauth#dev-tools#supply-chain

何が起きるか

MCP Inspector(npm の @modelcontextprotocol/inspector など)は、MCP サーバーを手元で試すための開発ツールで、ローカルにプロキシーを立ててサーバーを起動・接続する。そのプロキシーには「コマンドを起動する」機能があるため、乗っ取られると開発端末で任意のコマンドが動く。公式告知では次の 2 経路が示された(どちらも CVSS v3.1 で 9.6)。

  • OAuth の経路: 認可が終わったあとの戻り先 URL から、Inspector が接続方式と起動コマンドを読み込み、自動再接続で実行してしまう。攻撃者の認可サーバーが自動で応答するので、利用者が OAuth 画面を操作しなくても成立する。
  • MCP App の経路: サーバーが提供する MCP App を表示すると、App が Inspector を別タブで開かせ、引き継がれたプロキシーの認証トークンを攻撃者に送らせる。App はプロキシーと同じオリジンで動くため接続元の確認を通ってしまい、盗んだトークンでコマンド起動を要求できる。

影響範囲と対応

経路影響するパッケージ影響バージョン
OAuthinspector, inspector-client0.13.0〜1.0.2
MCP Appinspector, inspector-client, inspector-server0.20.0〜1.0.2
  1. 使っているバージョンを確かめる(npx で都度起動している場合は、キャッシュに古い版が残っていないかも見る)。
    sh
    npm ls -g @modelcontextprotocol/inspector
    npm ls @modelcontextprotocol/inspector
  2. v1 系は 1.0.3 以上へ、v2 系は別の脆弱性も直った 2.12.0 以上へ更新する。開発元は v2 への移行を勧めている。
  3. 出どころの分からない MCP サーバーを試すときは、手元のメイン端末ではなく使い捨ての VM やコンテナで Inspector を動かし、秘密情報を置かない。
  4. 試し終わったら Inspector を止める。プロキシーを起動したままにしない。

防御の考え方

  • 「認可後の戻り先 URL に起動コマンドなどの設定を載せ、それを読んで実行する」設計は、外部から渡された値をそのまま実行するのと同じ。自作ツールでも、OAuth のリダイレクトで受け取る値は認可コードと state だけに絞る。
  • 同じオリジンで第三者の UI(ここでは MCP App)を動かすと、オリジンによる接続元確認は意味を失う。第三者のコンテンツは別オリジンかサンドボックス化した iframe に分ける。

注意点

出典

X の元の投稿を開く