三分之一的 MCP 服务器是通向云元数据的 SSRF 通道
2026 年两项生态系统扫描发现,很大一部分公开 MCP 服务器存在服务端请求伪造(SSRF)——而且星标、活跃度和「已验证」徽章都无法预测哪些是安全的。
这是什么?
模型上下文协议(MCP)是 AI 智能体与外部世界之间的连接组织:文件系统、数据库、API 和云服务。2026 年的两项独立测量工作如今表明,公开 MCP 生态系统中有相当大的一部分携带着同一类困扰服务器软件十年之久的 Web 漏洞——服务端请求伪造(SSRF)。
Trend AI Security 扫描了 GitHub、Glama、Lobehub 和 PulseMCP 上的 9,695 个 MCP 服务器,结果于 2026 年 7 月 7 日发布。研究发现 5,832 个服务器存在安全问题,其中 2,259 个被确认可被利用(不仅仅是缺失认证),共编目 4,982 个不同问题,包括 422 个 SSRF 缺陷、880 个任意文件访问缺陷、476 个命令注入缺陷以及 185 个提示注入案例。此外,BlueRock 在 2026 年 1 月对其 MCP Trust Registry 中 7,000 多个服务器的分析报告称,超过 36.7% 存在潜在的 SSRF(「无限制网络抓取」)风险。语料库不同,结论一致:在 MCP 世界里,SSRF 不是边缘情况,而是基线常态。
工作原理
MCP 服务器不仅仅是一个请求处理器。当智能体调用它的某个工具时,服务器会执行动作:抓取 URL、读取文件、运行代码。只要某个工具接受 URL 或主机参数并在不加验证的情况下抓取它,SSRF 就会出现。
BlueRock 的示例是微软的 MarkItDown MCP 服务器——一个文档转 Markdown 的转换器,在 GitHub 上约有 85,000 个星标。它的 convert_to_markdown 工具接受任意 URI 并抓取它,没有任何协议或主机限制。在仍使用旧版 IMDSv1 元数据服务的 AWS EC2 实例上,智能体(或能够操纵智能体的攻击者)可以将该工具指向云元数据端点:
convert_to_markdown("http://169.254.169.254/latest/meta-data/iam/security-credentials/")
# → 返回附加的 IAM 角色名称
# 将角色名称追加到该路径 → 访问密钥、私密密钥、会话令牌
这些返回的凭据随后可以对云 API 进行重放,从而获得受实例角色限制的账户访问权限——并且,视该角色而定,可能成为在账户内提权的路径。关键在于架构层面:这一暴露存在于工具执行层,位于 MCP 网关所检查的请求边界之下。网关可能放行一个看似有效的请求,却仍让服务器在执行期间外泄凭据。
为什么重要
更令人不安的发现关乎信任信号。Trend AI Security 的扫描报告称,服务器的受欢迎程度与其安全性之间没有显著相关性:高人气服务器(50 个及以上星标)往往风险最大,因为其影响半径更大;提交活跃度无法预测安全性;目录的「已验证」徽章几乎不起作用——已验证服务器的平均漏洞数与未验证的几乎相同。团队在选择依赖项时本能依赖的启发式指标——星标、活跃度、验证标记——在这里作为安全指标几乎毫无价值。
由于 MCP 服务器通常以启动它的用户或工作负载的权限运行,SSRF 或文件访问缺陷很少局限于工具本身。它是通向该身份所能触及的一切的跳板:云元数据、内部服务、机密。当同一个热门服务器被部署到许多组织时,单个缺陷就会变得系统性——BlueRock 与扫描作者都将其称为「按触及范围加权的严重性」。
防御
将每个第三方 MCP 服务器都视为运行在你信任边界内的不可信代码,并约束其工具可以抓取的内容:
- 出站白名单。 将工具抓取限制在明确的协议/主机白名单内(例如仅允许
https://通往已批准域名),而非采用黑名单。 - 阻断内部目标。 拒绝 RFC1918 网段(10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)、环回、链路本地地址以及云元数据 IP
169.254.169.254。 - 挫败 DNS 重绑定。 在连接之前解析主机名并将解析出的 IP 与拒绝列表比对,而不仅仅比对字符串。
- 淘汰 IMDSv1。 在每个实例上强制使用 IMDSv2(要求会话令牌);它的存在正是为了削弱 SSRF 窃取元数据的能力。并配以最小权限的实例角色。
- 优先本地 stdio。 让 MCP 服务器通过绑定到 localhost 的 stdio 运行,而不是通过 HTTP 暴露;设置请求超时、请求体大小上限,并剥离转发的
Authorization/Cookie头。 - 监控执行,而非仅监控请求。 观察工具在运行时实际做了什么;仅在网关层检查会漏掉这类缺陷触发的那一层。
- 放弃信任启发式。 不要把星标、提交速度或验证徽章当作安全信号。在连接之前审计代码或扫描服务器。
状态
| 项目 | 详情 |
|---|---|
| MarkItDown MCP 的 SSRF | 2025 年 11 月上报微软与 AWS;两家均回应称有可用的缓解方案。2026 年 1 月公开披露。未分配 CVE。 |
| 生态系统 SSRF 普遍度 | BlueRock:7,000+ 服务器中 >36.7%(2026 年 1 月)。Trend AI Security:9,695 个服务器的 4,982 个问题中有 422 个 SSRF(2026 年 7 月 7 日)。 |
| 缓解 | IMDSv2、出站白名单与执行层监控当下均可用;差距在于采用率。 |
来源:Trend AI Security 的 MCP 生态系统研究《Stars Don’t Save You》(2026 年 7 月 7 日发布)以及 BlueRock 关于微软 MarkItDown 服务器的《MCP fURI》披露(2026 年 1 月)。