MCPサーバを気軽にコピペしていいのかという話
本記事について 本記事はセキュリティ研究および防御目的の情報共有を意図したものです。 観測されたIoC(IPアドレス・ドメイン)はディフェンス目的での記述であり、 攻撃手法の助長を目的とするものではありません。 記載内容の利用はご自身の責任でお願いします。 先日、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 に何を書いても、クライアントはそのまま実行する。入力値の検証はない。これが設計上の前提になっている。 ...