MCP协议被曝「心脏出血」:20万台服务器裸奔,Anthropic说不用修
上周安全圈出了一条大新闻,但好像没引起太多人注意。
4月15日,以色列网络安全公司OX Security发布了一份报告,指出Anthropic主导开发的MCP(模型上下文协议)存在架构层面的设计缺陷,可导致远程代码执行。影响范围:超20万台AI服务器、超3.2万个代码仓库。
这意味着什么?
意味着如果你是开发者,你的AI应用正在用MCP连接各种工具和数据源,那攻击者可能通过这个漏洞,直接访问你应用里的数据库、API密钥、聊天记录——甚至可以在你的服务器上执行任意代码。
好家伙。
要知道,MCP是Anthropic在2024年11月推出的开源标准,目的是让AI大模型无缝连接各种外部工具和数据源。这个协议已经被大量开发者采用,成为AI应用开发的事实标准之一。
然后你告诉我这个标准有「架构级」漏洞?
更离谱的是,Anthropic的回应:拒绝修复。
官方说「运行正常」。
说实话,看到这个回应的时候,我一度以为我看错了。你一个安全漏洞影响了20万台服务器,你说「运行正常」?
OX Security的研究员显然不这么认为。他们多次联系Anthropic,要求从架构层面修复这个问题,但都被拒绝了。Anthropic的立场是:这不是bug,是设计决策。
什么设计决策会让远程代码执行变成「正常」行为?
我仔细研究了一下OX的报告,问题的根因在于MCP的STDIO传输机制。简单来说,就是MCP在处理外部工具调用的时候,没有对输入进行充分的隔离和校验,导致恶意构造的输入可以突破边界。
这听起来很耳熟——就像十年前的SQL注入、XSS攻击,都是因为没有对输入进行充分的校验。
历史总是重复。
现在的问题是:作为开发者,你应该怎么办?
短期内,建议检查一下你的应用是否使用了MCP,尤其是那些直接暴露在公网上的应用。如果使用了,看看能不能加上额外的输入校验层。
长期来看——这个得看Anthropic的态度。如果他们继续拒绝修复,那开发者社区可能需要自己fork一个分支来修。但这又带来了碎片化的问题。
说实话,这件事让我对Anthropic的印象打了不少折扣。
不是说他们不能有bug——任何复杂系统都可能有安全漏洞。但发现问题后选择「说运行正常」而不是积极修复,这不是一个负责任的开发者应该有的态度。
毕竟,MCP不是你Anthropic的私有协议,它是整个AI开发生态的基础设。你可以用「开源」来免责,但不能用一个「运行正常」来糊弄开发者。
建议所有使用MCP的开发者,仔细评估一下这个漏洞对你的影响。如果你的应用处理的是敏感数据,更要多加小心。
至于Anthropic——希望他们能重新考虑这个立场。20万台服务器不是小数目。
别让「开源」变成「开漏」。