MCPの脆弱性と強い権限: 接続前に区別したい3つの状態
MCPのコマンド実行やファイル操作は、それだけで脆弱性とは限りません。意図された権限、境界を越える不具合、証拠不足を区別すると、更新・隔離・追加確認のどれが必要かが明確になります。
Read in EnglishMCPの公式セキュリティ方針は、設定されたコマンドを起動するstdio接続を、意図された機能として説明しています。一方、filesystemサーバーには、許可ディレクトリの境界を迂回する不具合が公表されています。同じ「ファイルに触れるMCP」でも、導入判断で必要な対応は異なります。
接続判断を変える3つの状態
- 意図された強い権限: 必要な機能でも、利用環境に対して許可が広すぎる場合があります。
- 許可した境界を越える脆弱性: 配布元の修正情報と実際の利用版を照合する必要があります。
- 検査の証拠不足: 安全とも脆弱とも確定せず、不足した確認を特定する状態です。
「コマンド実行あり」と「任意の利用者が権限外のコマンドを実行できる」は、同じ主張ではありません。導入する人が自ら許可した操作と、その許可を越えて第三者が成立させられる操作を区別することが、MCP vulnerabilityを評価する出発点です。
対応を選ぶための比較
| 確認した状況 | 導入前の対応 | 受入れに必要な証拠 |
|---|---|---|
| 作業フォルダの編集が本来の機能 | 必要なフォルダだけを実行環境へ渡す | 実行環境のマウントとOS権限で範囲が限定されている記録 |
| 許可フォルダ外へのアクセスを認める既知の不具合 | 影響版の利用停止と配布元の修正版への更新 | 配布物の版、修正告知、許可外パスが拒否される確認 |
| 起動や認証ができず動作を確認できない | 未確認の範囲を残して追加確認 | 同じ起動方法と版について不足した検査が成立した記録 |
たとえば社内文書の整理に使うMCPへ、個人のホームフォルダ全体を渡す必要はありません。承認済み文書だけを別の作業領域へ置き、実行環境から見える範囲を限定する方法があります。「このフォルダ以外を触らないで」という会話だけでは、OSの読取権限は減りません。必要な制限を実装できない環境では、その用途での接続を見送ります。
既知の脆弱性がある場合には、隔離だけで修正済みと扱わず、配布元の告知と利用版の確認も残します。逆に、検査が未完了であることを、脆弱性が発見された件数へ含めるのも不適切です。
検査結果と利用環境の照合
Registryの判定を確認するときは、対象の配布元・版・起動方法、検査日、必要な接続条件を一組として読みます。別の版や広い権限での起動へ、そのまま判定を転用しないことが大切です。MCP Guardの検査ガイドとサーバーDBは、その確認の入口になります。
確認範囲と出典
2026年9月22日に確認した公開方針と公表済みの不具合に基づく解説です。個々のMCPの再検査結果や、脆弱なサーバーの割合を示すものではありません。表の受入れ記録はMCP Guardの推奨例であり、公式仕様の必須書式ではありません。
