Deep Dive2026年6月13日Abcas Security Research
npm package型1,832件: npxで入るMCPの供給網リスク
詳細プロファイル集計ではnpm package型が1,832件、Git repository型が8,376件だった。npxで簡単に起動できるMCPほど、package source、version固定、install時挙動を確認する必要がある。
用語
| 用語 | 意味 |
|---|---|
| Public Registry | 公開Registryで検索可能な検査済みMCP候補 |
| 検査プロファイル根拠 | 公開候補を詳しく読むための検査プロファイル集計 |
| 確認対象 | WARN、NEED_REVIEW、RESTRICT、BLOCKのいずれかに分類され、導入前に理由を読むべき候補 |
リード
MCP設定例は、npxやuvxを一行で貼る形になりやすい。便利だが、実行時にどのversionを取得し、誰がpublishし、依存関係が何をするかを見落としやすい。
Key Findings
- 詳細プロファイル集計ではnpm package型が1,832件、Git repository型が8,376件だった。npxで簡単に起動できるMCPほど、package source、version固定、install時挙動を確認する必要がある。
- 20,629件の公開Registryと11,627件の検査プロファイル根拠を分けて読む必要がある。
- 観測事実は導入判断の入口であり、個別環境の最終承認を代替しない。
- 数値はスナップショット根拠であり、導入判断では観測日時も確認する必要がある。
データセット
| 項目 | 値 |
|---|---|
| 記事日付 | 2026-06-13 |
| Public Registry snapshot | 20,629件、2026-06-06T01:17:38.963Z時点 |
| 詳細プロファイル根拠 | 11,627行、2026-05-20/21生成 |
| 公開できる粒度 | 集計値、分布、匿名化した観測、実務上の読み方 |
観測指標
| 指標 | 件数 | 読み方 |
|---|---|---|
| npm package targets | 1,832 | npm packageとして配布される候補 |
| Git repository targets | 7,686 | GitHub repositoryを主対象とする候補 |
| Python package targets | 264 | Python packageとして配布される候補 |
観測事実
MCP設定例は、npxやuvxを一行で貼る形になりやすい。便利だが、実行時にどのversionを取得し、誰がpublishし、依存関係が何をするかを見落としやすい。 この切り口は、MCPを単なるプラグイン一覧ではなく、AIエージェントに渡す権限の集合として見るために重要である。
実務上の読み方
本番利用ではversion固定、publisher確認、lockfile、検証済みmirror、sandbox実行を検討する。 レビューでは、候補名やREADMEだけでなく、実行場所、接続先、扱うデータ、未確認事項をセットで残す。
限界
- 公開可能な集計と匿名化された観測に限定し、内部判定ロジックは扱わない。
- 数値はスナップショットであり、Registry更新により変わる。
- 特定のMCPサーバーを名指しで安全または危険と断定するものではない。
まとめ
本番利用ではversion固定、publisher確認、lockfile、検証済みmirror、sandbox実行を検討する。 この記録を残すことで、導入前レビューで同じ確認漏れを繰り返しにくくなる。
MCP Guard は、Public Registry と検査プロファイルをもとに、MCP導入前に確認すべき根拠を継続的に整理している。
