我们数了多少,怎么数的
候选池 26,823 个 MCP server,其中 13,089 个可达并成功抓取 manifest, 6,846 个需认证、6,816 个不可达、70 个限流、2 个超时。 最终进入分级的是 13,120 条(含 31 条保留行)。
这是一份可复算的静态风险分级报告。每个 server 都有分数、有证据行号、有可下载的 CSV。 不卖焦虑,不卖「独家数据」——卖的是别人能照着你的方法重算一遍,结论对得上。
下面每一页的数字都来自同一次冻结运行(2026-10-12),可直接用报告附带的 CSV 复算。没有估算,没有区间,没有「约」。
候选池 26,823 个 MCP server,其中 13,089 个可达并成功抓取 manifest, 6,846 个需认证、6,816 个不可达、70 个限流、2 个超时。 最终进入分级的是 13,120 条(含 31 条保留行)。
分母为 13,120 条交集样本;六类为非互斥标注,同一 server 可命中多类。
同时命中 EXEC + NET + CRED + FS 四族的 server 共 29 个, 这 29 个全部落在 A 级——组合命中不是相加,是相乘。
| 风险族组合 | 数量 | A 级 |
|---|---|---|
| EXEC+NET+CRED+FS | 29 | 29 |
| EXEC+CRED+FS | 10 | — |
| EXEC+NET+CRED | 85 | — |
| NET+CRED+FS | 81 | — |
| NET+CRED | 1,976 | — |
| NONE(四族全不命中) | 6,643 | 21 |
| 工具数 | server 数 | 占比 |
|---|---|---|
| 1–5 | 4,051 | 30.88% |
| 6–20 | 5,714 | 43.55% |
| 21–50 | 2,911 | 22.19% |
| 51–200 | 401 | 3.06% |
| 201–500 | 36 | 0.27% |
| >500 | 7 | 0.05% |
工具数不是风险本身,但它是暴露面乘数——scale 维度在总分里占 0–15 分。
io.github.mcp-dir 在 Top20 中占 5 席,全部 A 级, 合计 20 个零参数破坏性工具——调用时不需要任何参数就能触发破坏性动作。
| server | 零参数破坏性 | 分数 |
|---|---|---|
| mcp-dir/superlogica-mcp | 7 | 48.27 |
| mcp-dir/zapsign-mcp | 5 | 40.65 |
| mcp-dir/omie-mcp | 3 | 43.42 |
| mcp-dir/mfit-mcp | 3 | 38.38 |
| mcp-dir/guru-mcp | 2 | 61.99 |
完整版含全部 878 个挂载破坏性工具的 server 名单与逐条工具签名。
| 一级维度 | 可观测信号 | 命中数 |
|---|---|---|
| 网络可达 | URL / endpoint 参数、任意 host | 4,262 |
| 凭证与密钥 | token / secret / key 参数 | 3,732 |
| 描述层投毒 | 工具描述注入指令 | 2,876 |
| 供应链 | 依赖版本漂移 / rug-pull | 1,007 |
| 文件系统 | path / file / dir 参数 | 748 |
| 命令执行 | exec / shell / eval 语义 | 620 |
四族(EXEC / NET / CRED / FS)是可静态观测的部分;描述层投毒与供应链漂移单列,因为它们的证据不在参数签名里。
CSV 里每一行都带 evidence_line_start 与 evidence_line_end,指向该 server 的 manifest 抓取记录。 加上 evidence_sample,你可以不看我们的结论,直接看原始文本。
| 字段 | 用途 |
|---|---|
| evidence_line_start | 证据起始行 |
| evidence_line_end | 证据结束行 |
| evidence_sample | 原文片段 |
| reach / rigor / scale / credd | 四维分项,可独立复算 |
| 维度 | 区间 | 构成 |
|---|---|---|
| reach | 0–40 | EXEC 20 / NET 8 / CRED 7 / FS 5 |
| rigor | 0–30 | 无必填率×15 + 无约束率×8 + 自由文本×7 |
| scale | 0–15 | 工具数分档 |
| credd | 0–15 | 凭证参数密度 |
grade = A if score >= 50 or has_zeroparam_destructive_tool = B if score >= 30 = C otherwise
硬条件那一行是为什么:29 个四族全命中的 server 全部 A 级,其中有一部分分数没到 50——但零参数破坏性工具存在,就不该降级。
116-check manual audit methodology——116 条人工审计规则,逐条判定。 配套的自动 scanner 只做 14 项检查,用来预筛候选,不做最终定级。
这条边界必须说清楚:报告里的 A/B/C 是人工规则判定的结果,不是 scanner 打分。两者数字不可互换引用。
| 易混项 | 正确口径 |
|---|---|
| 229,539 vs 229,827 | 前者 live tool,后者含 288 retained 行的总行数 |
| 13,120 vs 13,089 | 前者进入分级(含 31 保留行),后者可达抓取数 |
| 25,143 · 10.95% | 高后果判定口径,按 BP 定义,不重算 |
| 六类风险非互斥 | 同一 server 可命中多类,百分比相加不等于 100% |
| 878 vs 2,424 | 前者挂载破坏性工具的 server 数,后者工具实例数 |
| A/B/C 不按分数切 | A 级含硬条件通道,不是纯分数排序 |
交付包内含 full_grading.csv(13,120 行全量分级)、rankings.csv(Top100)、 atlas_final.json(数据快照)与 VERIFY.md(第 0 节断言的实际执行输出)。
sha256sum full_grading.csv wc -l full_grading.csv awk -F, 'NR>1{c[$0]}' # 按 grade 列聚合
VERIFY.md 里的每一条断言都带命令和原始输出。对不上,就是我们对不上——没有第二种解释。
数据(分级结果、CSV、快照):ODC-BY 1.0,署名后可用于任何用途,含商业用途。
方法(评分规则、116 条审计规则、脚本):CC0 1.0,放弃一切权利,随便用。
免责:本报告为对公开 MCP server 清单的静态分析,不构成安全认证、合规背书或对任何具体服务可用性的保证。
分级不是打标签,是逐条规则判定。三条线分开写,方便你反对我们。
硬条件:存在零参数破坏性工具——不需要任何参数就能触发写、删、执行、外发。分数没到 50 也照样 A。
有可观测的暴露面,但需要调用方主动传入危险参数,或破坏性动作有前置约束。
四族全不命中,或无任何危险参数签名。注意:C 级不等于安全,只等于这份静态规则没看见。
完整版 CSV 共 26 列:标识、来源、分级、四维分项、六类风险布尔、组合族、工具数、零参数破坏性计数、证据行号区间、证据样本、抓取状态、口径标记。
数据 ODC-BY 1.0、方法 CC0 1.0,许可永久有效。付款后授权凭证发到邮箱,含完整 CSV、数据快照与复算脚本。
填一个能收信的邮箱。支付完成后,授权凭证与下载链接发到这个邮箱。
支付渠道:微信支付。下单后显示二维码与跳转链接,扫码即付。
上面的订阅拿到的是全量公开快照,自助下单、即时交付。下面三档是项目制交付,含人工复核与书面报告,按项目报价、签署后开票。
发邮件到 wangguigui@correctover.com,写明 server 数量、关注的风险类目、交付时间要求。一个工作日内回书面报价单与交付排期。项目制交付签署后开票,不走上面的自助支付通道。
分级结果、CSV、数据快照可商用、可再分发、可二次加工。要求:署名 Correctover 并保留来源链接。
评分规则、116 条审计规则、复算脚本进入公有领域。你可以拿去改、拿去卖,不用提我们。
购买不改变许可——许可本来就是这样。付费买的是已经跑完的完整数据和省掉的复算时间,不是买独占。