Hacker News 中文摘要

RSS订阅

从MCP到Shell:MCP认证漏洞导致Claude Code、Gemini CLI等多款软件远程代码执行风险 -- From MCP to shell: MCP auth flaws enable RCE in Claude Code, Gemini CLI and more

文章摘要

文章揭示了MCP认证漏洞如何通过恶意服务器控制用户电脑,主要利用Claude Code等工具的未验证授权URL缺陷实现远程代码执行,可导致安装恶意软件等严重后果。

文章总结

标题:从MCP协议漏洞到远程代码执行:Claude Code与Gemini CLI的安全隐患

核心发现: Veria Labs安全团队在测试中发现,主流AI编程工具(包括Claude Code和Gemini CLI)因MCP协议的身份验证缺陷,可能被恶意服务器利用实现远程代码执行(RCE)。攻击者可通过诱导用户连接恶意MCP服务器,完全控制受害者计算机。

漏洞根源: 2025年3月,Anthropic发布的MCP协议修订版引入OAuth认证框架时,多数客户端未验证服务器提供的授权URL。攻击者可构造包含恶意代码的URL(如javascript:或命令行注入),通过以下路径实现攻击: 恶意MCP服务器 → 发送伪造授权URL → 客户端执行URL → 系统沦陷

关键案例: 1. Cloudflare use-mcp库(npm周下载量3.6万+) - 漏洞位置:直接执行服务器提供的window.open(authUrlString) - 攻击效果:通过XSS可窃取用户会话,实现账户接管

  1. Anthropic MCP Inspector
  • 漏洞升级:结合stdio传输协议,XSS可升级为RCE
  • 攻击链:窃取本地代理令牌 → 通过子进程执行任意命令
  1. Claude Code & Gemini CLI
  • 漏洞机制:Windows平台通过cmd.exe/powershell.exe启动URL时的命令注入
  • 攻击演示:成功执行calc.exe,验证RCE可行性

防御措施: - ChatGPT:通过严格CSP策略阻止javascript:执行 - Claude网页版:采用服务端重定向规避客户端代码执行 - 厂商修复: • Cloudflare推出URL消毒专用包 • Anthropic改用rundll32规避shell调用 • Google重构URL打开逻辑

行业响应时间线: • 6/19-6/30:Cloudflare完成use-mcp漏洞修复 • 7/12-7/31:Anthropic处理Claude Code漏洞并奖励$3700 • 9/04:Google将Gemini CLI漏洞标记为已知问题

安全建议: 1. 实施严格的URL方案验证(禁用javascript:等危险协议) 2. 采用CSP等深度防御策略 3. 优先使用Anthropic更新的MCP TypeScript SDK(已内置危险URI黑名单)

附录: 完整PoC代码已开源(verialabs/mcp-auth-exploit-pocs),包含各漏洞的演示视频。该研究获得Cloudflare、Anthropic和Google漏洞赏金计划认可,展现AI生态安全协作的重要性。

(注:全文经过技术细节提炼,删除重复案例和冗余时间节点,保留关键漏洞原理、影响范围和修复方案,字数控制在中文技术简报常见篇幅。)

评论总结

以下是评论内容的总结,平衡呈现不同观点并保留关键引用:

对MCP的批评观点

  1. 认为MCP缺乏创新性

    • fennecbutt:"它并不是增强工具调用的根本性架构变革,只是被赋予了一个花哨的名字"
    • behnamoh:"MCP并不优雅,更像是一个黑客行为,忽视了几十年的网络开发/安全最佳实践"
  2. 安全性质疑

    • behnamoh:"我已禁用所有MCP服务器,直到这个安全噩梦完全解决"
    • 0xbadcafebee:"AI公司写的每行代码看起来都像无薪实习生写的"

对MCP的中立/辩护观点

  1. 实用价值认可

    • fennecbutt:"为工具调用提供通用结构确实很方便,但不是革命性的"
    • electric_muse:"MCP可能会改变世界,提供众多优势,尽管伴随风险"
  2. 安全问题的责任归属

    • mehdibl:"更多是Claude Code/Gemini实现的问题而非MCP本身"
    • Jimmc414:"MCP服务器应像PyPI包一样,执行非受信代码本就存在风险"

对技术本质的探讨

  1. 关于提示注入的根本问题

    • eranation:"LLM无法完全区分数据与指令,提示注入是固有难题"
    • eranation:"就像人类可能被钓鱼攻击欺骗一样,没有100%的解决方案"
  2. 发展阶段的类比

    • electric_muse:"MCP现在就像1903年的莱特飞机,新技术总伴随风险"
    • electric_muse:"协议中的能力协商握手非常强大,是现有技术的新颖应用"

对漏洞修复的评价

  • Jimmc414:"批评谷歌的修复'不够健壮'有些苛刻,他们确实立即解决了特定攻击向量"
  • greysteil:"2300美元就是如今利用可信攻击向量的RCE行价吗?"(讽刺性评论)

关键分歧点在于:MCP是真正的技术创新还是包装过时的工具?其安全风险是协议设计缺陷还是实施问题?多数评论者认同需要改进,但对严重程度和解决前景看法不一。