何が起きたか
Glow Labsは、(Claude Code、Cursor、Codex CLI、Claude Cowork、Claudeチャットで、Anthropic/OpenAI/xAIモデルを使用した)セッションを記録しました。AIコーディングエージェントが「GitHub MCPをセットアップ」と依頼された際、現在のサービスオーナーサーバーの代わりに非推奨でアーカイブされた参照MCPサーバーをインストールしました。セッションの98%で、エージェントはモデルのトレーニングデータから古いパッケージ名を埋め込んだように見えました。それらの参照サーバーで4つの高深刻度の欠陥が見つかり、最も深刻なのはPuppeteerサーバー内のリモートコード実行バグで、プロンプトインジェクションによってトリガーされます(エージェントは既に付与されたブラウジング権限の下でブラウザではなく任意のコマンドを実行します)。メンテナは、リポジトリが2025年5月にアーカイブされ未保守であるため、報告をスコープ外としてクローズしました。パッチは提供されませんが、パッケージはnpx経由で引き続きインストール可能です。非推奨の@modelcontextprotocol/*パッケージは2025年7月以来1,730万回以上ダウンロードされており、そのうち5つがnpmのトップMCP 100に含まれています。これまでのところ悪用は確認されていません。
なぜ重要か
これは目に見えないサプライチェーンのギャップです。これらのMCPサーバーは依存関係マニフェストに決して現れず、npxを通じて実行され、CVEもないため、SCA、EDR、ソフトウェアインベントリはすべて静かなまま、未パッチのプロンプトインジェクション到達可能なRCEが開発者のマシンに配置されます。これはモデルの「記憶」を、非推奨フィードのない未保守のパッケージマネージャーに変え、敵対的なリポジトリやプロンプトインジェクションが、AIコーディングエージェントに開発者のマシン上で脆弱なアーカイブ済みサーバーをインストール・運用させる可能性があります。
攻撃経路
コーディングエージェントがトレーニングデータから想起した非推奨のアーカイブ済みMCPサーバーを推奨/インストールします。未保守のサーバーはプロンプトインジェクション到達可能なRCE(Puppeteerブラウザドライバー)を持ち、敵対的なWebページやプロンプトインジェクションが、既に付与されたブラウザ/実行権限の下でエージェントに任意のコマンドを実行させることができます。
影響を受けるシステム
AIコーディングエージェント(Claude Code、Cursor、Codex CLI、Claude Cowork)+ 非推奨の@modelcontextprotocol/*参照MCPサーバー; Puppeteerサーバー内のプロンプトインジェクションRCEを含む4つの高深刻度の欠陥。
緩和策
MCPインストール承認基準にnpm非推奨ステータスを追加し、エージェントのインストールを承認済みサーバーレジストリに制限し、実行前フックを使用して新しくインストールされたサーバーを検査し、可能な場合はサービスオーナーの現在のサーバーに切り替え、エージェントのパッケージ選択を信頼できないものとして扱い、オペレーターの承認を要求します。