MCP 的架构缺陷不是 Bug,是设计决定——而 Anthropic 不打算修

OX Security 披露 MCP STDIO 接口存在系统性 RCE 漏洞,波及 150M+ 下载。Anthropic 确认这是"预期行为",拒绝修改协议架构。

工程实践 MCP 安全 RCE 供应链安全 Agent Anthropic

四月中旬,OX Security 发布了一份名为「The Mother of All AI Supply Chains」的安全报告。这个名字不是夸张。

他们找到的问题不是某个 MCP 服务器写错了校验逻辑,而是 Anthropic 官方 MCP SDK 在所有支持语言中共同存在的架构级 RCE 缺陷——Python、TypeScript、Java、Rust,全线受影响。

更让人不安的是最后一段:Anthropic 确认这是「预期行为(expected behavior)」,并拒绝修改协议架构。

漏洞机制:STDIO 接口的设计就是直接执行命令

MCP 的 STDIO transport 接口,原本设计用来启动本地 MCP server 进程并获取其 STDIO handle,供 LLM 与之交互。

问题在于,这个接口的实现逻辑是:直接把传入的配置参数作为 OS 命令执行。

如果 MCP 配置是从用户输入或外部来源动态构造的,攻击者就能注入任意命令。服务器如果正好创建了 STDIO server 就会返回 handle;如果不是,会返回错误——但命令已经被执行了。

OX Security 在六个真实生产平台上成功执行了命令,包括:

  • LiteLLM(CVE-2026-30623,已修复)
  • LangChain、LangFlow、Flowise
  • Windsurf IDE(CVE-2026-30615,零点击,prompt injection 直接触发本地 RCE)
  • LettaAI、LangBot、GPT Researcher

共计 10+ 个 Critical/High 级 CVE,还在持续更新。

规模:150M+ 下载,7,000+ 暴露服务器

爆炸半径是真实的:

  • MCP 相关 npm/pip 包 150M+ 下载量
  • 公开可访问的 MCP 服务器 7,000+
  • 潜在受影响实例(含私有部署)估计 20 万

四种攻击路径被系统确认:

  1. 未认证 UI 注入:在流行 AI 框架的 Web 界面直接构造恶意输入
  2. 绕过加固措施:即使 Flowise 等框架声称有防护,依然被绕过
  3. 零点击 prompt injection:在 Windsurf/Cursor 等 AI IDE 中,攻击者可通过 prompt 触发本地 RCE,无需用户交互
  4. 恶意 MCP 注册表分发:测试的 11 个 MCP 注册表中,9 个被成功植入恶意”试探气球”

这第四点尤其值得重视。

“9 out of 11 MCP registries were successfully ‘poisoned’ with a malicious trial balloon.” — OX Security,The Mother of All AI Supply Chains

Anthropic 的回应:这是我们的设计

OX Security 多次建议 Anthropic 在官方 SDK 层面修复——加入 manifest-only execution 或命令白名单,这样一个协议层变更就能保护所有下游库。

Anthropic 的回复是:STDIO 执行模型属于安全的默认行为,输入清理是开发者的责任。他们既没有提出异议,也没有动作。

这与之前几个独立报告(CVE-2025-49596 MCP Inspector、CVE-2026-22252 LibreChat、CVE-2025-54136 Cursor 等)的处理方式一致——每次都是分发给下游去打补丁,根因不动。

Cloud Security Alliance(CSA)在 4 月 20 日跟进了一份研究报告,将这一问题定性为:协议架构选择(design choice)而非实现错误。

这件事的真正问题

过去几个月,关于 MCP 安全的讨论大多聚焦在「工具投毒」(tool poisoning)——攻击者在工具描述里藏恶意指令,让 Agent 代为执行。这是输入层面的攻击。

OX Security 的发现是另一个层次:MCP STDIO 接口本身就等同于命令执行接口。不需要投毒 tool description,直接构造 STDIO 配置就能 RCE。更糟糕的是,Windsurf 的 CVE 显示,攻击者甚至可以通过 prompt injection 触发配置写入,整个链路不需要用户点击任何东西。

Claude Code、Cursor、Windsurf、VS Code、Gemini-CLI 全线受影响——也就是说,任何使用这些工具开发的工程师,都在这个攻击面上。

Cloud Security Alliance 的报告对应对建议非常直接:

  • 禁止外部 IP 访问敏感服务
  • 将所有外部 MCP 配置输入视为不可信
  • 只从官方来源安装 MCP server
  • 在沙箱中运行 MCP 服务
  • 监控工具调用——特别是出现非预期的后台 URL 访问

短期而言,在 Anthropic 修改协议之前(如果他们会的话),使用 mcp-scan 做部署前扫描是目前最实用的防线。

MCP 正在成为 AI 生态的标准配件。这个问题的规模和根因决定了它不会是最后一次。