一个安全研究团队发现,Anthropic的模型上下文协议(MCP)存在一个根本性问题。他们反复请求修复,得到的回复是:系统运行正常,谢谢关心。

结果?10个高危漏洞、1.5亿次下载量受影响、20万台服务器面临完全接管风险——而协议的设计者拒绝修改架构。

打开网易新闻 查看精彩图片

事件现场:一场持续数月的拉锯战

2025年11月,Ox安全研究团队开始向Anthropic提交漏洞报告。这不是普通的程序错误,而是协议层面的设计问题。

团队核心成员Moshe Siman Tov Bustan、Mustafa Naamnih、Nir Zadok和Roni Bar在博客中描述了整个过程:「我们反复要求Anthropic修补根本问题,但反复被告知协议运行正常。」

他们的研究涉及30多次负责任的披露流程。一周后,Anthropic悄然更新了安全政策——这似乎是面对AI漏洞时的标准操作模式。

新政策警告:MCP适配器,特别是STDIO(标准输入/输出)类型的,应谨慎使用。研究团队补充道:「这一改变没有修复任何问题。」

The Register就此事向Anthropic求证,未获回应。

核心概念图:MCP的STDIO机制为何危险

要理解这个漏洞,需要先看清MCP的工作方式。

MCP是Anthropic开发的开源协议,让大语言模型、AI应用和智能体能够连接外部数据、系统以及彼此。它支持多种编程语言——Python、TypeScript、Java、Rust——意味着任何使用官方SDK的开发者都继承了这一漏洞。

关键机制在于STDIO作为本地传输层。AI应用通过STDIO将MCP服务器作为子进程启动。理论上,这应该是一个受控的通信通道。

但实际运行逻辑是:如果命令成功创建STDIO服务器,返回句柄;如果命令不同,则在执行后返回错误。

漏洞就在这里。研究人员指出:「实际上,它允许任何人运行任意操作系统命令。」

攻击者可以注入用户控制的命令,直接在服务器上运行,无需认证或净化。这可能导致系统完全沦陷,任何具有公开界面的AI框架都面临风险。

逐层拆解:四种攻击路径

Ox团队识别出四类可利用的漏洞模式。

第一类是未认证和已认证的命令注入。攻击者输入的命令绕过所有安全检查直接执行。这是最直接的接管路径。

第二类涉及路径遍历和参数注入。通过操纵文件路径或命令参数,攻击者可以访问受限资源或执行非预期操作。

第三类是服务器端请求伪造(SSRF)。AI应用通常被信任访问内部资源,攻击者可以利用这种信任横向移动。

第四类是权限提升。一旦获得初步立足点,漏洞链可以被利用来获取更高权限。

研究团队特别强调,这些不是理论上的可能性。他们已经确认多个流行开源项目受影响。

受影响项目清单:从LangFlow到GPT Researcher

LangFlow,IBM的开源低代码AI应用和智能体构建框架,所有版本均受影响。研究人员于1月11日向LangFlow披露,目前尚未分配CVE编号。

GPT Researcher,一个开源AI研究智能体,同样存在漏洞。这类工具通常被赋予广泛的信息收集权限,一旦被攻破,攻击者可以操纵整个研究流程。

更广泛的威胁在于MCP生态的扩张速度。超过1.5亿次下载的软件包依赖这一协议,数百万下游用户暴露在风险中。

如果Anthropic在根源上修复,这些风险可以被一次性消除。但「预期行为」的定性让补丁变得不可能。

设计哲学冲突:安全与便利的边界

这场争议的核心是一个老问题:协议设计应该优先考虑什么?

STDIO机制的选择反映了Anthropic的工程取向。本地子进程通信简单、高效、跨平台兼容——对于快速构建AI应用极具吸引力。

但安全研究者看到的是另一面:任何能够影响AI应用输入的实体,都获得了在底层系统执行代码的能力。在AI智能体越来越自主的时代,输入源的边界正在模糊。

智能体可以浏览网页、读取邮件、处理用户上传。每一个输入渠道都成为潜在的攻击向量。MCP的STDIO设计将这些向量直接连接到操作系统命令层。

「预期行为」的回应暗示Anthropic将责任推给了实现者。协议提供机制,安全由使用者保证——这是经典的安全责任分散策略。

但问题在于MCP的官方SDK没有提供安全的替代方案。开发者要么接受风险,要么放弃使用官方工具链。

行业模式:AI漏洞的披露困境

Ox团队的经历并非孤例。AI领域的安全披露正在形成某种固定模式。

研究者报告漏洞。厂商悄然更新文档而非修复代码。漏洞继续存在,只是被标记为「已知限制」。CVE编号被分配给具体实现,而非根本设计。

这种模式对生态的影响是碎片化的。每个项目单独打补丁,标准本身保持不变。1.5亿次下载的代码库继续携带相同的基础风险。

研究人员在30页的技术论文中提供了缓解建议:输入净化、命令白名单、最小权限原则。但这些都需要每个实现者自行落实,无法通过协议更新统一解决。

对于使用MCP的开发者,当前的实际选择有限。审查所有依赖的MCP服务器代码,在隔离环境中运行,监控异常进程行为——这些措施增加了工程负担,与MCP承诺的「即插即用」体验背道而驰。

为什么这件事值得持续关注

Anthropic在AI安全研究方面投入了大量资源,其宪法AI和对齐研究被广泛引用。这种背景下,对基础协议安全性的态度形成了有趣的对比。

MCP的设计选择可能源于对开发者体验的优先考虑。在竞争激烈的AI基础设施市场,易用性是关键的差异化因素。但安全债务不会消失,只会转移和累积。

20万台服务器的风险数字来自研究团队的评估,基于公开下载统计和典型部署模式。实际暴露面可能更大——MCP的跨语言特性意味着许多内部系统同样脆弱,只是未被统计。

协议层面的修复窗口正在收窄。随着MCP被更多项目采纳,向后兼容的约束会越来越强。现在被标记为「预期行为」的设计,未来可能更难改变。

对于科技从业者,这个案例提供了一个观察点:AI基础设施的安全模型如何形成,谁有权定义「预期行为」的边界,以及研究者与厂商之间的权力动态如何影响整个生态的风险分布。

当智能体获得越来越多的自主权,它们所依赖的协议安全性将从后台问题变成核心议题。MCP的争议或许只是这个转变的早期信号。

如果协议设计者不拥有安全责任,那么谁应该拥有?当1.5亿次下载的代码库建立在一个有争议的架构之上,下游开发者是否有足够的信息做出知情选择?