技術的な説明
OX Security の研究者たちは、Model Context Protocol (MCP) の STDIO トランスポート(AI エージェントをローカルツールに接続するデフォルト方式)が受け取った任意のオペレーティングシステムコマンドをサニタイゼーションなしに実行することを発見しました。設定とコマンド間には実行境界が存在しません。悪意のあるコマンドは既に実行された後でのみエラーを返します。OX Security はエコシステムをスキャンし、STDIO トランスポートがアクティブなパブリック IP 上の 7,000 サーバーを発見し、合計で約 200,000 個の脆弱なインスタンスと推定しました。研究チームは 6 つのライブプロダクションプラットフォーム(有料顧客を持つ)で任意のコマンド実行を確認し、LiteLLM、LangFlow、Flowise、Windsurf、Langchain-Chatchat、Bisheng、DocsGPT、GPT Researcher、Agent Zero、LettaAI など複数の製品にわたって 10 以上の高度または重大な CVE を生成しました。
攻撃経路
4 つの悪用ファミリーが特定されました:(1) AI フレームワークウェブインターフェースを通じた認証なしのコマンドインジェクション(LangFlow および LiteLLM に対して実証);(2) OX が Flowise および Upsonic のようなツール内の引数インジェクション(npx -c)経由でコマンドホワイトリストをバイパスした強化回避;(3) AI コーディング IDE 内のゼロクリックプロンプトインジェクション(悪意のある HTML がローカル MCP 設定ファイルを修正)—Windsurf(CVE-2026-30615)はゼロのユーザー操作が必要でしたが、Cursor、Claude Code、および Gemini-CLI はユーザー承認を要求しますが UI での実行結果を表示しません;(4) MCP レジストリを通じた悪意のあるパッケージ配布(OX が 11 のレジストリに無害な概念実証を提出し、9 つがセキュリティレビューなしで受け入れました)。このセキュリティの問題はコーディングバグではなく、Anthropic の MCP 仕様のデザインデフォルトであり、すべての公式言語 SDK(Python、TypeScript、Java、Rust)に伝播しました。
影響を受けるシステム
デフォルト STDIO トランスポートを使用するすべての MCP デプロイメント。確認された脆弱な製品には、LiteLLM(パッチ済み)、LangFlow(部分的にパッチ済み)、Flowise(強化回避)、Windsurf(CVE-2026-30615 パッチ済み)、Langchain-Chatchat、Bisheng、DocsGPT、GPT Researcher、Agent Zero、LettaAI、Upsonic、Cursor、Claude Code、Gemini-CLI、NextChat(ChatGPTNextWeb、CVE-2026-7644)、および少なくとも 7 つの追加の単一著者 GitHub MCP サーバーが含まれます。Anthropic は動作がデザインどおりであることを確認し、プロトコルを変更することを拒否し、STDIO の実行モデルをセキュアデフォルトとしてキャラクタライズし、入力サニタイゼーションを開発者の責任として説明しました。OX Security は、200,000 人の開発者が入力を正しくサニタイズすることを期待することがシステム的な問題であることに異議を唱えます。重大なギャップは以下の通りです:すべてのベンダーパッチが彼らの製品を修正しますが、パッチは MCP プロトコルの STDIO 動作を変更しません。今日 LiteLLM にパッチを当て、明日新しい MCP STDIO サーバーを設定するセキュリティディレクターは、同じセキュアでないデフォルトを継承します。
緩和策
直ちに実施すべき対策:MCP STDIO をコネクターではなく、特権実行サーフェスとして扱い、デフォルト拒否ポリシーを適用し、特定のコマンドをホワイトリスト化し、サンドボックスコントロールをデプロイし、ダウンストリーム入力検証がスケールで機能することを前提としないこと。IDE デプロイメント(Cursor、Claude Code、Gemini-CLI、Windsurf)の場合:ベンダーがプロンプトインジェクションからコンフィグ修正へのチェーンにパッチを適用したことを確認し、ユーザー承認前に UI で設定変更が実行結果を表示するかどうかを確認します。AI フレームワークデプロイメント(LiteLLM、LangFlow、Flowise など)の場合:ベンダーパッチを直ちに適用しますが、パッチがプロトコル設計ではなく製品固有のバグを修正することを認識します。MCP デプロイメント監査を実施します:環境内のすべての STDIO トランスポートを特定し、それらが持つ OS レベルのアクセスをマップし、最小権限とネットワークセグメンテーションを適用します。長期的には:実行可能な場合は SSE(サーバー送信イベント)トランスポートへの移行を検討してください。ただし、これはユニバーサルにサポートされていません。コミュニティサーバーのインストールを開発者に許可する場合は MCP レジストリの提出を監視してください。11 のレジストリのうち 9 つがセキュリティレビューなしで概念実証を受け入れました。