一项研究揭秘了MCP服务器的安全问题。
研究人员对1899个开源MCP服务器进行了史上首次大规模安全扫描,结果让人担忧:7.2%的项目泄露密钥或违反访问规则,5.5%遭受工具投毒攻击。
这项研究来自最新发布的论文《Model Context Protocol (MCP) at First Glance》,研究团队使用SonarQube和早期的MCP扫描器,对GitHub上的数据进行了深度挖掘。
MCP的快速崛起
MCP(Model Context Protocol)是Anthropic在2024年底推出的通用协议,旨在标准化AI应用如何使用外部工具。
简单来说,它让大模型能够调用各种API、访问数据库、操作文件系统。
自发布以来,MCP迅速成为事实标准:Python包每周下载量180万次,NPM包更是高达690万次。

微软、OpenAI、Google、Cloudflare等巨头也都纷纷拥抱这一标准。
研究团队的动机案例展示了MCP如何解决框架碎片化问题——同一个Stripe支付工具,在不同AI框架中需要重复实现。

MCP通过标准化接口,让工具能够跨框架复用。
健康但脆弱
研究显示,MCP服务器在某些方面表现出色:

从开发指标看,MCP服务器展现出强劲活力。
提交速度达到每周5.5次,远超传统开源软件的2.5次。持续集成采用率为42.2%,略高于传统项目的40.3%。构建成功率高达90%,而传统项目仅为70%。
但这种表面的健康掩盖了深层问题。
八种漏洞模式
研究团队识别出8种独特的漏洞模式,其中「凭证暴露」最为普遍,影响了3.6%的服务器:

更令人担忧的是工具投毒(tool poisoning)——这是MCP特有的安全威胁。攻击者可以操纵AI模型使用恶意工具,从而窃取凭证、执行恶意代码。
研究人员在代码中发现了触目惊心的安全问题:
OPENAI_API_KEY":"sk-Wo********g5"
genai.configure(api_key='AIza****-****1zn4')
"private_key":"-----BEGIN PRIVATE KEY-----\***\n-----END PRIVATE KEY-----\n"
这些明文存储的API密钥和私钥,一旦泄露可能造成巨大经济损失。
代码质量堪忧
维护性分析同样不容乐观。66%的MCP服务器包含关键或阻塞级别的代码异味:

其中「高认知复杂度」问题最严重,影响了59.7%的服务器——这意味着代码难以理解和维护。
14.4%的服务器存在严重bug,包括数组操作问题(6.2%)、参数不匹配(3.1%)和类型结构问题(2.9%)。

挖掘出的MCP服务器比官方和社区服务器多出66%的代码异味和67%的bug。
工具的盲区
研究揭示了一个关键问题:传统安全工具严重低估了MCP的风险。
SonarQube只能检测到7.2%的漏洞,远低于PyPI(46%)和NPM(40%)生态系统的检出率。而专门的mcp-scan工具虽然能发现工具投毒,但部署困难,且仍在早期阶段。
更糟糕的是,研究人员手动发现了一些工具都无法检测的问题。比如apple-notes-mcp需要完全磁盘访问权限,godot-mcp默认启用了敏感操作的自动批准。
生态警钟
这项研究为整个MCP生态系统敲响了警钟:
对研究者而言,需要开发MCP专用的安全分析工具,并将MCP特有威胁纳入标准漏洞数据库。
对开发者来说,必须采用主动的安全实践,集成静态安全测试,使用环境变量管理凭证。
对使用者而言,在部署第三方MCP服务器前必须进行安全审计,避免下游风险传播。
对注册中心维护者,应该建立标准化的治理机制,实施自动化漏洞扫描和撤销工作流。
在上周YC AI Startup School的演讲中,Andrej Karpathy 也提到,我们必须「让AI保持在控制之下」(keep the AI on the leash)。
他警告说:
当我看到诸如「2025年是AI代理之年」这样的说法时,我非常担心……这是代理的十年。
Karpathy的观点恰好呼应了这项研究的发现。
当我们赋予AI更多自主权时——比如通过MCP让它们能够调用工具、访问系统——安全问题就从理论变成了现实。他主张构建「增强系统,就像钢铁侠战衣,而不是完全自主的钢铁侠机器人」,强调人类监督的重要性。

而在AI的「部分自主」时代,每一行代码、每一个工具调用,都可能成为系统的阿喀琉斯之踵。
论文地址: https://arxiv.org/html/2506.13538v4
(文:AGI Hunt)