動的コード実行機能を持つMCPサーバーはなぜ高リスクになりやすいのか: 134件の観測結果
動的コード実行機能を持つ134サーバーを分析した結果、同じ脅威群が繰り返し観測され、77.6%がBLOCKだった。外部コマンド実行や外部通信が重なると、リスクはさらに集中した。
用語
| 用語 | 意味 |
|---|---|
| 動的コード実行機能 | 実行時にコードを評価・実行できる能力 |
| 外部コマンド実行機能 | シェルや子プロセスを起動できる能力 |
| 共起 | 複数の脅威や機能が同じサーバーで同時に観測されること |
| BLOCK率 | そのグループのうちBLOCK判定になった比率 |
リード
MCPサーバーの中でも、動的コード実行機能を持つサーバーは特に注意が必要である。理由は単純ではない。単に「コードを動かせるから危ない」という話ではなく、入力処理、権限、外部通信、実行結果の扱いが一つのサーバーに集中しやすいからだ。
本稿では、2,867の固有MCPサーバーのうち、動的コード実行機能が観測された134件と、外部コマンド実行機能が観測された62件を対象に、どの脅威群が繰り返し現れたかを整理する。
Key Findings
- 動的コード実行機能を持つ134サーバーでは、同じ5つの脅威パターンが全件で観測された。
- 134サーバーのうち、104サーバー(77.6%)がBLOCKだった。
- 外部コマンド実行機能を持つ62サーバーでは、Shell RCE と Argument Injection が全件で観測された。
- 動的コード実行機能と外部コマンド実行機能が同時に観測された9サーバーは全件BLOCKだった。
- 動的コード実行機能を持つサーバーの約2割で、外部通信系の機能も重なっていた。
データセット
| 項目 | 値 |
|---|---|
| 全体母集団 | 2,867固有MCPサーバー |
| 動的コード実行機能が観測されたサーバー | 134 |
| 外部コマンド実行機能が観測されたサーバー | 62 |
| 観測期間 | 2026年4月 |
134サーバーで繰り返し観測された脅威群
動的コード実行機能を持つ134サーバーでは、次の5つの脅威パターンが全件で観測された。
| 脅威パターン | 観測比率 |
|---|---|
| Shell RCE | 100% |
| Function Hijacking | 100% |
| PleaseFix Attack | 100% |
| Prompt Injection | 100% |
| Insecure Plugin Design | 100% |
ここで言えるのは、「今回のデータでは、これら5つが同じグループで揃って観測された」という事実である。
これは攻撃が実際に行われた証拠ではないが、少なくとも動的コード実行機能を持つサーバーが、複数の攻撃面を同時に持ちやすいことは示している。
追加で重なりやすかった脅威
134サーバーの一部では、さらに別の脅威も重なっていた。
| 追加脅威 | 観測比率 | 関連しやすい能力 |
|---|---|---|
| SSRF | 22.4% | 外部データ取得 |
| Path Traversal | 14.9% | ローカルファイル読み取り |
| Data Exfiltration | 14.2% | 外部送信 |
| Indirect Theft | 14.2% | 外部送信 |
| Clawdrain | 6.7% | 大量リソース消費 |
| MITM | 6.7% | 安全でないネットワーク公開設定 |
| DNS Rebinding | 6.7% | 安全でないネットワーク公開設定 |
| Argument Injection | 6.7% | 外部コマンド実行 |
つまり、動的コード実行だけでも攻撃面は広いが、外部通信やファイル操作が加わると、別系統の脅威がさらに重なりやすくなる。
外部コマンド実行機能を持つ62サーバー
外部コマンド実行機能を持つ62サーバーでは、次の傾向が観測された。
| 脅威パターン | 観測比率 |
|---|---|
| Shell RCE | 100% |
| Argument Injection | 100% |
| Path Traversal | 46.8% |
| Data Exfiltration | 21.0% |
| Indirect Theft | 21.0% |
| SSRF | 17.7% |
外部コマンド実行は、動的コード実行よりも狭い能力に見えるが、引数処理やファイルパス処理のミスがそのまま攻撃面になりやすい。
このため、Argument Injection と Path Traversal が比較的高い比率で重なった。
2つの実行系能力が同時にある場合
動的コード実行機能と外部コマンド実行機能が同時に観測されたサーバーは9件だった。
その9件は、今回のデータでは全件がBLOCKだった。
これは「2つの実行系能力があると必ず危険」という一般法則ではない。
ただし、少なくとも今回のデータでは、複数の実行系能力が同じサーバーに集中したとき、レビュー上の警戒度は大きく上がっている。
3つの設計パターン
今回の観測では、動的コード実行機能を持つサーバーは大きく3つに分かれた。
1. 単機能型
103サーバー、全体の約77%。
コードを実行する能力を主機能として持つが、他の能力は比較的少ない。
2. 実行 + 通信型
約2割。
コード実行に加えて外部通信を持つため、SSRF や Data Exfiltration と結びつきやすい。
3. 多機能統合型
9サーバー、約7%。
コード実行、外部コマンド、ファイル操作、外部送信などが一つに集約されていた。今回のデータでは、この型が最も強くBLOCKに寄っていた。
実務上の読み方
導入判断の観点では、次の順で見るのが実用的である。
- 動的コード実行があるか
- 外部コマンド実行があるか
- 外部送信や外部取得が重なっているか
- ファイル操作まで一体化しているか
機能が増えるほど便利に見えるが、そのぶん攻撃面もつながる。
特に「実行」「送信」「書き込み」が同居するサーバーは慎重に扱うべきである。
限界
- 本稿は、今回の観測データに基づく傾向分析であり、攻撃の実行事実を証明するものではない。
- サンドボックス実装の質までは評価していない。
- 動的コード実行機能が観測されなかったサーバーにも、別経路の実行能力が潜んでいる可能性はある。
- 個別サーバー名は本稿の主旨ではないため公開していない。
まとめ
2,867の固有MCPサーバーのうち、動的コード実行機能が観測された134件では、同じ脅威群が強く集中していた。さらに外部コマンド実行や通信系能力が重なると、リスクはより複合化した。
この結果が示すのは、コードを実行できること自体よりも、実行能力が他の機能と一体化したときの危険さである。MCPサーバーの設計では、機能の分離と権限境界の明確化が重要になる。
MCP Guard は、MCPサーバーの実行系機能と脅威シグナルの共起を継続的に観測している。
