MCP协议曝设计级RCE漏洞,Anthropic拒绝改架构安全公司 OX Security 近日披露,Anthropic 主导的开放协议 MCP(Model Context Protocol,AI 代理调用外部工具的事实标准)存在设计层面的远程代码执行漏洞。攻击者可在任何运行有漏洞 MCP 实现的系统上执行任意命令,拿到用户数据、内部数据库、API 密钥和聊天记录。漏洞不出在实现者的编码失误,而在 Anthropic 官方 SDK 处理 STDIO 传输时的默认行为,Python、TypeScript、Java、Rust 四个语言版本都中招。
STDIO 是 MCP 的一种传输方式,让本地进程通过标准输入输出通信。官方 SDK 里的 StdioServerParameters 会按配置里的命令参数直接启动子进程,开发者如果没额外做输入清洗,任何能走到这一步的用户输入就会变成系统命令。OX Security 把攻击面归成四类:配置界面直接注入命令;拿白名单里允许的命令加行标志绕过清洗(例如 `npx -c <命令>`);在 IDE 里用提示注入改写 MCP 配置文件,让 Windsurf 这类工具无需用户交互就跑起恶意 STDIO 服务;以及借 MCP 市场的 HTTP 请求偷偷塞进 STDIO 配置。
OX Security 给的数字:受影响软件包累计下载超 1.5 亿次,公开可访问的 MCP 服务器超 7000 台,合计暴露最多 20 万个实例、涉及 200 多个开源项目。团队累计提交 30 余份责任披露、拿到 10 个以上高危或严重级 CVE,覆盖 LiteLLM、LangFlow、Flowise、Windsurf、GPT Researcher、Agent Zero、DocsGPT 等 AI 框架与 IDE;测试过的 11 家 MCP 包仓库里有 9 家能被这种手法塞进恶意配置。
披露后,Anthropic 回应称这是「预期行为」(by design),STDIO 的执行模型属于「安全的默认设计」,并把输入清洗的责任划给开发者,拒绝在协议或官方 SDK 层面改动。DocsGPT、LettaAI 等厂商已自行发补丁,Anthropic 参考实现的默认行为未变。
MCP 已是 AI 代理接外部工具的事实标准,OpenAI、Google、微软都在跟进。根子没修的情况下,任何沿用官方 SDK 默认方式接 STDIO 的 MCP 服务,即使自己没写错一行代码,也可能成为攻击入口。
信源:
https://thehackernews.com/2026/04/anthropic-mcp-design-vulnerability.html