MCPマルウェアリスク
STDIO MCPサーバーが管理されていない攻撃面を作成する仕組み - RCEにつながるサプライチェーン攻撃、rug pull攻撃、そして「ローカル」が「データ漏洩から安全」を意味しない理由。
2種類のMCPサーバー
MCPプロトコルは、AIクライアントをツールサーバーに接続するための2つのトランスポートメカニズムをサポートしています:
STDIO (Standard I/O) - AIクライアントがユーザーのマシン上でローカルプロセスを起動します。クライアントとサーバーはプロセスのstdin/stdoutパイプを介して通信します。サーバーコードはユーザーの完全な権限、ファイルシステムアクセス、ネットワークアクセスでローカルに実行されます。
HTTP (Streamable HTTP / SSE) - AIクライアントがHTTPを介してリモートサーバーに接続します。サーバーは管理されたインフラストラクチャ上で実行され、すべての通信は観察、フィルタリング、制御可能なネットワークを通過します。
現在利用可能なほとんどのMCPサーバー - npxやuvxでインストールされるもの - はSTDIOトランスポートを使用しています。これには重大なセキュリティ上の影響があります。
サプライチェーン攻撃 → リモートコード実行
STDIO MCPサーバーの最も重大なリスクは、1つをインストールすることがユーザーのマシンで任意のコード実行を許可するのと同等だということです。npx / uvxの実行モデルは、AIツールに適用された「curl | bash」アンチパターンです:
- lockfileなし、ハッシュ検証なし、署名チェックなし
- 各呼び出しで新しく公開された悪意のあるバージョンをサイレントに取得可能
- 起動されたプロセスはファイルシステム、ネットワーク、環境への完全なアクセスを持つ
これは既に実際の攻撃につながっています:
- postmark-mcp (2025年9月) - 最初の悪意のあるMCPサーバーが発見。タイポスクワッティングnpmパッケージが全メールを攻撃者ドメインにサイレントBCC。
- Shai-Hulud worm (2025–2026) - 自己複製npmワームがClaude Code、Cursor、Windsurfに悪意のあるMCPサーバーを注入。487組織で14,000以上のシークレットを漏洩。
- mcp-remote RCE (CVE-2025-6514) -
mcp-remoteパッケージ(437K以上のダウンロード)の重大なCVSS 9.6脆弱性。MCPクライアントに対する最初の文書化されたフルRCE。 - MCPの体系的欠陥 (2026年4月) - OX Securityが~200KのMCPサーバーインスタンスで任意のRCEを可能にする脆弱性を公開。Anthropicはパッチを拒否し、「想定された動作」と述べた。
「ローカル」はデータ漏洩から安全を意味しない
人気のMCPサーバー(GitHub、Slack、Notion、Linear、データベース)の大多数は、リモートHTTP APIの薄いローカルラッパーです。開発者がnpx @modelcontextprotocol/server-githubを実行すると、以下を行うローカルプロセスが起動します:
- GitHubのAPIへのアウトバウンドHTTPS呼び出し
- 環境にPersonal Access Tokenを保持
- ファイルシステムとネットワークへの完全なアクセス
- 他のHTTPSリクエストと区別がつかないトラフィックを生成
ネットワーク監視の観点から、「ローカル」はデータ漏洩から安全を意味しません。STDIOトランスポートは、AIクライアントがプロセスとどのように通信するかを記述するだけで、そのプロセスがネットワークで何をするかについては何も言いません。
「Rug pull」攻撃
MCPサーバーは、ユーザーが承認した後にツール定義を変更できます:
- サーバーが最初の接続でクリーンで無害なツール定義を返す
- ユーザーがレビューして承認
- その後の
tools/list呼び出しで、サーバーが漏洩指示を含む変更された定義を返す - AIエージェントが新しい指示を正当なものとして扱う
MCPプロトコルには、初期ハンドシェイク後にスキーマの整合性を検証するメカニズムがありません。
なぜこれがシャドーITなのか
セキュリティリーダーの観点から、STDIO MCPサーバーは統治不能です:
| 機能 | STDIOサーバー | 管理されたHTTPサーバー |
|---|---|---|
| ネットワークレベルのブロック | 不可能(アウトバウンドHTTPS) | プロキシ/ファイアウォールでブロック |
| 認証の取り消し | 各マシンで認証情報を探す | IdP/ゲートウェイで即時 |
| 監査ログ | なし | すべてのツール呼び出しを記録 |
| DLP/コンテンツ検査 | 不可能 | ゲートウェイがすべてのトラフィックを検査 |
| サプライチェーン管理 | 任意のnpmパッケージが実行 | 検証済みレジストリ、バージョン固定 |
| 認証情報のローテーション | 手動、マシンごと | 自動、一元化 |
| ポリシーの適用 | なし | RBAC、レート制限、地域制限 |
Qualysはこの脅威クラスを"MCP Servers: The New Shadow IT for AI"と命名しました - 従業員が企業APIへの特権アクセスを持つ未検証のソフトウェアをインストールし、セキュリティチームから完全に見えない状態。
Edison Watchがこれらのリスクを軽減する方法
Edison WatchはAIクライアントとMCPサーバーの間にセキュリティゲートウェイとして位置します:
- 依存関係の固定 - 初回実行時にMCPサーバーパッケージのバージョンをロックし、サイレントなサプライチェーン更新を防止
- 隔離 - 新しいMCPサーバーは管理者が明示的に承認するまで隔離
- ポリシーエンジン - CELベースのルールがトランスポートに関係なくデータの流れを制御
- Lethal Trifectaの適用 - プライベートデータアクセス + 信頼できないコンテンツ + 外部通信が単一セッションで収束する場合に漏洩をブロック
- 監査ログ - すべてのツール呼び出しがインシデント対応のための完全なコンテキストとともに記録

