Anthropic 确认将不会修复 CVE-2026-30623,这是一个存在于 Model Context Protocol (MCP) SDK 中的严重命令注入漏洞,导致超过 200,000 个已部署实例面临风险。依赖 MCP 进行工具集成的开发者应将此漏洞视为即时风险。
为什么该漏洞至关重要
MCP 允许由大语言模型 (LLM) 驱动的应用通过标准化协议调用外部工具。所有四个官方 SDK 都包含一个 STDIO 传输方式,它会接收来自模型的任意文本并将其直接传递给宿主 shell。CVE-2026-30623 漏洞允许恶意模型(或被篡改的工具描述)注入任何宿主进程可以执行的命令。Anthropic 表示这种行为是刻意设计的,并拒绝发布修复程序,这意味着该漏洞将保留在目前约 1.5 亿次 SDK 下载的供应链中。
攻击者可以做什么
- 命令注入 (Command injection) – 任何能够编辑服务器配置文件的人都可以在宿主机器上运行 shell 命令,从而可能获得完整的系统访问权限。
- 工具投毒 (Tool poisoning) – 通过在工具描述中嵌入恶意指令,攻击者可以诱骗模型将敏感数据(如云凭据)发送到外部端点。
- 弱身份验证 (Weak authentication) – 对 1,400 个 MCP 服务器的调查发现,38.7% 的服务器完全没有身份验证,使得注入路径极易被触达。
- 低信任评分 (Low trust scores) – 在已索引的 MCP 服务器中,仅有 12.9% 符合社区的高信任标准,这表明大多数服务器在运行时的安全防护极低。
这些攻击向量共同构成了一个可以大规模利用的供应链攻击面,尤其是在 MCP 服务器从公共 SDK 仓库自动配置的环境中。
即将到来的规范变更——以及为什么它们现在无济于事
一个新的 MCP 规范候选版本定于 7 月 28 日发布。它将授权机制推向 OAuth 2.1 和 OpenID Connect,并增加了对标准负载均衡器后方服务器的支持。虽然这些变更改进了安全模型,但它们并不能追溯修复那 200,000 个易受攻击实例所使用的 STDIO 传输方式。它们也无法阻止开发者在规范更新后发布被投毒的工具描述。
开发者今天如何降低风险敞口
- 审计基于 STDIO 的服务器 (Audit STDIO-based servers) – 如果你无法控制启动 MCP 服务器的配置文件,请将其视为不可信,并避免使用 STDIO 传输方式。
- 检查工具元数据 (Inspect tool metadata) – 仔细检查每个工具的描述,查看是否存在可能导致数据外泄的隐藏命令或 URL。
- 忽略流行度指标 (Ignore popularity metrics) – 高安装量并不保证实现过程的安全;请将每次部署都视为独立的风险。
- 验证 OAuth 2.1 的采用情况 (Validate OAuth 2.1 adoption) – 验证服务器是否真正实现了 OAuth 2.1 和 OpenID Connect,而不仅仅是声称“兼容 MCP”的状态。
后续关注点
请密切关注实现指南以及任何针对 STDIO 传输方式的后续补丁。在此之前,最安全的做法是用受控程度更高的传输层替换 STDIO,或者迁移到不依赖该漏洞代码路径的其他工具调用框架。
底线: Anthropic 的决定留下了一个庞大且易于利用的攻击面。无法保证 MCP 服务器完整性的开发者必须放弃使用 STDIO 传输方式,并仔细审查每个工具描述,以防止其系统成为恶意命令的通道。
来源: https://dev.to/gentic_news/mcps-cve-2026-30623-anthropic-wont-fix-stdio-command-injection-mh6
