AIコーディングツールを使っているなら、その足元が揺らいでいる可能性がある。Claude Code、Cursor、Windsurf——これらが共通して依存するMCP(Model Context Protocol)に、アーキテクチャレベルの設計欠陥が発見されたというのだ。200以上のオープンソースプロジェクト、1億5000万超のダウンロード、7000以上の公開サーバーを抱えるエコシステム全体が影響を受ける。問題の核心は、コーディングミスではない。Anthropicの設計判断そのものだ。そしてAnthropicはOx Securityの報告を受けながら、「expected behaviour(想定された動作)」と回答し、修正を拒否している。これが何を意味するか——開発者がこの事実を知らないまま構築を続けているという現実だ。

AD

MCPとは何か:1年で業界標準になった「AIの共通言語」

2024年11月、AnthropicはMCP(Model Context Protocol)を公開した。LLM(大規模言語モデル)が外部システム、ツール、データソースと接続するための共通プロトコルで、異なるAIツール間でコンテキストを共有するためのインフラ層に相当する。USBポートがどのデバイスにも接続できるように、MCPはどのAIエージェントでも同一の方法で外部サービスを呼び出せるよう設計された。

リリースから約1年半で、この規格は業界の事実標準になった。Claude Code、Cursor、Windsurf、GitHub Copilot、さらにGemini-CLIまで、主要なAIコーディング環境がこぞってMCPを採用したのは、開発者が求めていた「ツール連携の共通言語」を初めて具体的な形で提供したからだ。7000以上の公開MCPサーバーが存在し、エコシステムは急拡大した。

急速な普及の背景には、実装の手軽さがある。公式SDKはPython、TypeScript、Java、Rustの4言語で提供され、開発者は数十行のコードで独自のMCPサーバーを構築できる。だがその手軽さの裏に、設計レベルの問題が潜んでいた。Ox SecurityがMCPの調査を開始した2025年11月、それは表面化することになる。

STDIOインターフェースの欠陥:「エラーが返っても、コマンドは実行される」

欠陥の所在は、MCPのSTDIOインターフェースにある。STDIOとは標準入出力のことで、MCPサーバーが起動する際にOSコマンドを直接受け渡す仕組みだ。問題はその検証ロジックにある。つまり、サーバーの起動が失敗した場合でも、渡されたOSコマンドは実行されてしまうのだ。

Ox Securityの研究者チームはこう説明する。「悪意あるコマンドを渡すと、エラーが返る。そしてコマンドはそれでも実行される。サニタイズも警告もない」。エラーレスポンスが返ってくるため、正常に拒否されたと錯覚しやすい。しかし実態は、コマンドが静かにバックグラウンドで走っている。

mcp-stdio-bypass-diagram2.webp

この欠陥がとりわけ深刻なのは、言語やランタイムを選ばない点だ。Python、TypeScript、Java、Rust——4つすべての公式MCP SDKに、同一のアーキテクチャ判断が組み込まれている。Ox Securityの主任研究者Moshe Siman Tov Bustanはこう述べた。「これは従来のコーディングエラーではない。Anthropicの公式MCP SDKにアーキテクチャの設計判断として組み込まれており、MCPの基盤上で開発する開発者は、知らないうちにこのリスクを継承している」。

AD

4類型の攻撃ベクターと10件超のCVE

Ox Securityが特定した攻撃経路は4つに分類される。第1がUIインジェクション——認証前・認証後いずれの段階でも、コマンドインジェクションが可能なパターンだ。第2はハードニングバイパスで、セキュリティ強化策を迂回する手法。第3と第4が特に注目される。

ゼロクリックプロンプトインジェクション(CVE-2026-30615)は、ユーザーの操作なしに悪意あるコマンドが実行される経路で、Windsurf、Claude Code、Cursor、Gemini-CLI、GitHub Copilotすべてに影響するとされる。ユーザーが何もしなくても攻撃が成立するという点で、実害につながる可能性が最も高い類型だ。

悪意あるコードが埋め込まれたMCPサーバーがマーケットプレイスに公開されていた場合、それをインストールした開発者のAIエージェントが次にそのサーバーを自動呼び出しした瞬間、ローカルマシンのOSコマンドが実行される。開発者は何の入力もしていない。シークレットファイルの読み込み、SSH秘密鍵の外部送信、リポジトリ全体のコピーといった被害が、通常の開発作業の流れの中で静かに完結する。

マーケットプレイスポイズニングは、MCPサーバーの配布チャネル自体を汚染する手法だ。Ox Securityの自己報告によると、調査した11のMCPマーケットプレイスのうち9か所への侵入テストに成功したという。この数字はOx Security単独の報告であるため独立検証を要するが、研究者が11か所中9か所で侵入に成功したという結果は、MCPエコシステムの配布層に系統的な審査の不在があることを示している。

少なくとも10件のCVEが割り当てられており、CVE-2026-30623(LiteLLM、Criticalレベル)、CVE-2025-65720(GPT Researcher)、CVE-2026-30624(Agent Zero)、GHSA-c9gw-hvqq-f33r(Flowise)などが含まれる。Ox Securityは30件超の責任ある開示(Coordinated Vulnerability Disclosure)を実施しており、影響を受けるプロジェクトは200以上にのぼるとしている。

Anthropicが「仕様」と回答した意味:業界が直視すべき構造的問題

2026年1月7日、Ox SecurityはAnthropicに正式な脆弱性報告を提出した。Ox研究者によると、Anthropicは回答の中で「expected behaviour(想定された動作)」と述べ、修正を行わない姿勢を示したという。報告から9日後にAnthropicがSECURITY.mdを更新した内容は、「STDIOアダプターは慎重に使うこと」という1行の追記のみだった。The Registerがコメントを求めたところ、Anthropicは回答しなかった。

Ulster UniversityのITセキュリティ専門家Kevin Curranはこう評価する。「この研究は、AIインフラの基盤のセキュリティに衝撃的な空白が存在することを露わにした(This research exposes a shocking gap in the security of the foundational infrastructure of AI)」。Anthropicの「仕様」という回答が示すのは、問題の深さだ——パッチを当てれば解決する話ではなく、アーキテクチャの根幹を再設計しない限り、リスクは構造的に残り続ける。

開発者の立場から見ると、選択肢は限られる。MCPを使い続けるなら、STDIOインターフェースに渡す入力のサニタイズを自前で実装する必要がある。しかし公式SDKがそのリスクをデフォルトで引き受けている以上、「気をつけて使う」という対策は本質的な解決にならない。1億5000万超のダウンロードが示す普及速度と、「修正しない」というベンダーの判断——この組み合わせが何をもたらすか、業界全体が答えを出さなければならない局面だ。


Sources