随着人工智能技术的快速发展,AI工具的生态系统日益丰富,MCP(模型上下文协议)作为连接AI与外部工具、API和数据源的重要桥梁,其安全性备受关注。近日,安全研究团队Veria Labs揭露了MCP身份验证中的关键缺陷,导致诸如Claude Code、Gemini CLI等热门工具存在远程代码执行(RCE)风险,甚至可能被攻击者借此实现对用户计算机的全面控制。本文将系统性深入探讨这一漏洞的成因、攻击链构建过程、影响范围,以及业界应对措施和未来安全趋势,旨在帮助读者全面理解MCP认证漏洞的威胁,并提升针对类似风险的防护能力。 MCP协议的设计初衷是扩展大语言模型(LLM)应用的功能,使其能够安全地访问外部资源,如文件存储、工具和API调用。2025年初,Anthropic发布了MCP规范的新修订版本,引入基于OAuth标准的认证方案。OAuth作为跨平台广泛使用的授权协议,为MCP客户端和服务器提供了统一的身份验证框架。
然而,实际实现中出现的微妙安全弱点反倒为攻击者打开了通往用户系统的大门。 核心漏洞在于MCP客户端在OAuth流程中完全信任了MCP服务器返回的授权URL。具体表现为客户端直接使用服务器传入的授权URL执行window.open操作,而该URL实际上可以包含javascript:协议的恶意代码。这种设计缺陷使得攻击者能够通过构造恶意的授权URL,诱导客户端执行任意JavaScript代码,产生严重的跨站脚本(XSS)攻击风险。 Cloudflare的use-mcp库率先暴露了该问题,作为NPM上活跃度极高的包,其漏洞影响巨大。攻击者只需搭建伪装成合法MCP服务器的环境,向客户端推送恶意授权URL,即可劫持用户会话、篡改页面内容甚至盗取敏感信息。
Veria Labs利用Cloudflare Workers快速构建了漏洞利用的示范代码,向公众展示了恶意JavaScript被执行后的直观效果,例如弹窗提示和页面文本修改,验证了漏洞的危害性。 该XSS漏洞进一步被放大,借助Anthropic的MCP Inspector工具实现了从脚本注入到远程代码执行的跨越。MCP Inspector的架构依赖于本地代理服务与浏览器界面间通过stdio进行通信,攻击者可以通过劫持认证令牌,指令本地代理运行任意命令,进而在用户设备上执行恶意程序。此路径使得攻击面从浏览器内的脚本限制突破为操作系统级的完全控制,安全威胁陡然升级。 不止是Web客户端,命令行工具领域同样未能幸免。Claude Code和Gemini CLI是当下备受欢迎的带有MCP支持的命令行智能助手。
研究发现,这些工具在Windows平台上启动浏览器的代码存在命令注入风险。原本的URL方案验证较为基础,未能阻止注入特殊字符的恶意载荷。当调用cmd.exe或powershell.exe执行启动命令时,注入的内容被当作额外命令运行,从而实现了同样的远程执行效果。研究团队还针对PowerShell字符串模板特性设计了更为隐蔽的攻击向量,有效规避部分检测机制。 Gemini CLI使用的第三方开源库open被确认存在同类问题。该库本身并未集成严苛的输入验证,完全依赖调用方提供安全的URL参数。
然而,由于MCP客户端直接传递了未经过滤的授权URL,使得其也成为了攻击链中的薄弱环节。此次事件揭示了开源组件安全风险对整体生态的深远影响,提醒开发者在集成第三方依赖时必须严加把关。 幸运的是,多个受影响方均迅速响应。Cloudflare上线了strict-url-sanitise包,用于统一检测并过滤危险URL协议,有效阻止javascript:等恶意scheme的注入。Anthropic团队针对Claude Code做出了成熟的改进,弃用易受攻击的shell调用方式,转而调用安全的URL打开接口,彻底消除了命令注入面。Google则弃用了易受攻击的open库,选择自研实现并对PowerShell参数进行了转义处理,虽然防护尚显保守但依然是积极进展。
更具长远意义的是Anthropic对MCP TypeScript SDK的更新,将危险的URI scheme纳入黑名单,形成了自上而下的安全防护策略。由于生态内众多工具和库均依赖该SDK,升级后立刻将安全提升遍及整个MCP体系,为后续漏洞预防奠定坚实基础。 除了技术层面的补丁,防御措施还涵盖了内容安全策略(CSP)等经典Web安全技术。例如,虽然ChatGPT的客户端也存在类似XSS风险,但因其严格的CSP设置,javascript:协议被阻断,攻击难度急剧上升。此案例证明成熟的防护架构配合现代安全策略,在阻止高级攻击上依然表现出色。 此次MCP认证漏洞事件反映了AI工具逐渐与传统Web应用、操作系统服务融合时带来的安全挑战。
AI系统的生态复杂度和多样性要求厂商和开发者不仅要关注功能创新,更要牢固树立安全意识,落实安全最佳实践。漏洞曝光后行业的敏捷反应也为安全生态构建树立了良好典范。 未来,随着MCP及类似协议在AI技术中越发普及,统一、标准化且安全的身份验证机制显得尤为关键。开发者应当加强URL输入校验措施,杜绝潜在的命令注入和XSS风险。同时,建议行业加强对第三方依赖的安全审核,定期进行渗透测试,主动发现并修复安全隐患。 总体而言,这次安全事件既暴露了AI生态中尚存的薄弱环节,也展现了业界不断进步的安全防护能力。
对开发者而言,是一次宝贵的警示和学习机会;对用户而言,则意味着更加安全可信的AI产品未来正在稳步到来。在技术和安全并重的驱动下,人工智能领域的创新之路将更加平坦且可持续发展。 。