ログイン中: ゲストモード

Research2026年4月4日Abcas Security Research

どの機能構成が高リスクと結びつきやすいか: 2,867件のMCPサーバー観測

2,867の固有MCPサーバーを分析した結果、動的コード実行機能と安全でないネットワーク公開設定が最も高いBLOCK率を示した。複数の高リスク機能が重なると、BLOCK率がさらに上がる傾向が見られた。

用語

用語意味
機能構成スキャンで観測されたサーバーの機能のまとまり
固有サーバー同一サーバーへの複数回スキャンを正規化して重複を除いた単位
BLOCK率その機能構成を持つサーバーのうち、BLOCK判定になった比率
共起2つ以上の機能が同じサーバーで同時に観測されること

リード

MCPサーバーのリスクを考える際、重要なのは「何という名前のサーバーか」よりも「どのような機能を持っているか」である。ファイル操作、外部送信、動的コード実行、外部コマンド実行といった機能は、それぞれ異なる攻撃面を作る。

本稿では、2,867の固有MCPサーバーを対象に、11種類の公開向け機能分類と PASS / WARN / BLOCK 判定の関係を整理した。目的は、内部分類を見せることではなく、どの機能構成が高リスクと結びつきやすいかを読者に伝えることである。

Key Findings

  1. 安全でないネットワーク公開設定を持つ71サーバーのうち、67サーバーがBLOCKだった。BLOCK率は94.4%。
  2. 動的コード実行機能を持つ134サーバーのうち、104サーバーがBLOCKだった。BLOCK率は77.6%。
  3. 2,867サーバーのうち、**明確な高リスク機能が観測されたサーバーは484件(16.9%)**だった。
  4. 高リスク機能が複数重なると、BLOCK率はさらに上がる。今回のデータでは、13の機能ペアでBLOCK率100%が観測された。
  5. 高リスク機能が直接観測されなかったサーバーでも、WARNは多く、「高リスク機能が見えない = 低リスク」ではない。

データセット

項目
分析対象2,867固有MCPサーバー
観測期間2026年4月
公開向け機能分類11種類
高リスク機能が観測されたサーバー484件(16.9%)
高リスク機能が直接観測されなかったサーバー2,383件(83.1%)

11種類の公開向け機能分類

機能分類内容サーバー数全体比
ローカルファイル読み取りローカルファイルの参照1445.0%
外部データ取得Webや外部APIからの取得1445.0%
動的コード実行実行時にコードを評価・実行1344.7%
外部送信外部サービスへのデータ送信883.1%
安全でないネットワーク公開設定TLS検証不足や危険なバインド設定712.5%
ローカルファイル書き込みファイル生成・更新682.4%
外部コマンド実行シェルや外部プロセスの起動612.1%
サーバー間リレー他サーバーや別系統への呼び出し381.3%
ローカルファイル削除ファイル削除270.9%
大量リソース消費高負荷処理やループ的消費160.6%
広いOAuth権限要求機能に比べて広すぎる認可要求20.1%

機能別のBLOCK率

機能分類サーバー数PASSWARNBLOCKBLOCK率
安全でないネットワーク公開設定71046794.4%
動的コード実行13426410477.6%
ローカルファイル削除27721866.7%
外部コマンド実行612014065.6%
大量リソース消費1662850.0%
外部送信8823224348.9%
ローカルファイル書き込み6822133348.5%
サーバー間リレー3812101642.1%
外部データ取得14455335638.9%
ローカルファイル読み取り14454365437.5%

何が特に危険か

1. 安全でないネットワーク公開設定

今回のデータでは、危険な公開設定が観測された71サーバーのうち94.4%がBLOCKだった。
この種の問題は、単独でも強いリスク要因だが、他の操作機能と重なるとさらに危険になる。

2. 動的コード実行

134サーバーのうち77.6%がBLOCKだった。
動的コード実行は、入力処理、権限境界、外部通信、実行結果の扱いが同時に問題になりやすく、MCPサーバーの中でも特に注意が必要な機能である。

3. 読み取り系も無害ではない

ローカルファイル読み取りと外部データ取得のBLOCK率は約4割だった。
他の機能より低く見えても、攻撃面が小さいとは言えない。読み取り機能は、Path Traversal や SSRF の入口になりやすい。

共起するとリスクが上がる組み合わせ

今回のデータでは、13の機能ペアでBLOCK率100%が観測された。代表例は以下。

組み合わせサーバー数BLOCK率
動的コード実行 + 外部コマンド実行9100%
動的コード実行 + ローカルファイル書き込み8100%
動的コード実行 + 安全でないネットワーク公開設定9100%
外部コマンド実行 + 外部送信9100%
ローカルファイル読み取り + 外部送信18100%

ここで重要なのは、「単独で危険な機能」よりも「組み合わせで攻撃面がつながる機能」の方が、実務上はさらに厄介だという点である。

高リスク機能が見えないサーバーは安全か

そうではない。

高リスク機能が直接観測されなかった2,383サーバーの判定は次の通りだった。

判定件数比率
PASS61525.8%
WARN1,71872.1%
BLOCK472.0%

直接的な攻撃面が観測されなくても、出所の不透明さ、権限要求の過大さ、通信設定の不備などで WARN になるケースは多い。
したがって、目立つ高リスク機能がないことは、低リスクの証明ではない。

実務的な読み方

MCPサーバーの選定では、次の順で見るのが実用的である。

  1. 動的コード実行や外部コマンド実行があるか
  2. 外部送信やサーバー間リレーがあるか
  3. 危険な公開設定がないか
  4. それらが単独か、複数重なっているか

個票を1つずつ精査する前に、この順で絞り込むとレビュー効率が大きく変わる。

限界

  1. 本稿は公開向けに抽象化した機能分類であり、内部実装そのものを説明するものではない。
  2. 小さい母数の分類は参考値であり、例えば広いOAuth権限要求は2件のみである。
  3. BLOCK率100%の組み合わせは今回のデータでの観測結果であり、将来の全データで同じ比率を保証するものではない。
  4. 3つ以上の機能が重なったときの分析は、今後の別記事で扱う。

まとめ

2,867の固有MCPサーバーを観測した結果、動的コード実行安全でないネットワーク公開設定が最も強くBLOCKと結びついていた。さらに、高リスク機能が複数重なると、BLOCK率は一段と上がった。

MCPサーバーを評価する際は、「人気かどうか」や「用途が便利かどうか」よりも、まずどの機能が同居しているかを見るべきである。リスクは単一機能より、組み合わせで増幅しやすい。


MCP Guard は、MCPサーバーの実検出データを継続的に蓄積し、機能構成と脅威傾向の関係を追跡している。