MCPサーバを気軽にコピペしていいのかという話

先日、OX Security がこんなレポートを公開した。 The Mother of All AI Supply Chains: Critical, Systemic Vulnerability at the Core of Anthropic’s MCP 要点だけ書くと、MCP サーバの設定ファイルにコピペしたコマンドが、そのまま OS 上で実行される設計になっている、という話だ。 「by design」と表現されているのが肝で、バグではない。Anthropic もその設計を認めた上で、サニタイズ(要は問題が無いかの検証)は開発者の責任だと述べている。 そもそもMCPってなんだっけ?ってなったので少しだけ調べなおしてみた。 そもそもMCP サーバとは何か Claude Code 、 GitHub Copilot Chat 、Gemini CLI等は、外部ツールと連携するために MCP(Model Context Protocol)という仕組みを使う。 設定ファイルにこう書くと、 { "mcpServers": { "example": { "command": "npx", "args": ["-y", "some-mcp-server"] } } } AI クライアントが起動時にこのコマンドを実行し、サーバとして立ち上げる。 「設定ファイルを編集しているだけ」という感覚になりやすいが、実態は OS コマンドの実行権限を設定ファイルに与えている のと同じだ。 何が問題なのか command と args に何を書いても、クライアントはそのまま実行する。入力値の検証はない。これが設計上の前提になっている。 つまり、悪意ある MCP サーバの設定ファイルを取り込んだ時点で、ユーザーが「実行した」という操作をした覚えがなくても任意のコマンドが実行される。 もう少し具体的に書くと、先ほどの設定の場合はこうなる。 AI クライアント起動 ↓ "npx -y some-mcp-server" を実行 ↓ npm から some-mcp-server を取得(-y により確認スキップ) ↓ そのままローカルで実行 ユーザーは設定ファイルを保存しただけで、パッケージの取得も実行も自動で済んでいる。 ...

April 22, 2026 · 1 分 · 乳酸菌