MCP 的架构缺陷不是 Bug,是设计决定——而 Anthropic 不打算修
OX Security 披露 MCP STDIO 接口存在系统性 RCE 漏洞,波及 150M+ 下载。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 万
四种攻击路径被系统确认:
- 未认证 UI 注入:在流行 AI 框架的 Web 界面直接构造恶意输入
- 绕过加固措施:即使 Flowise 等框架声称有防护,依然被绕过
- 零点击 prompt injection:在 Windsurf/Cursor 等 AI IDE 中,攻击者可通过 prompt 触发本地 RCE,无需用户交互
- 恶意 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 生态的标准配件。这个问题的规模和根因决定了它不会是最后一次。