为省 Token 牺牲安全!Claude Code 泄露源码被挖出首个高危漏洞
- 高危漏洞被发现—安全研究机构Adversa AI在审查泄露的Claude Code源代码时,发现当AI编程助手处理超过50条子命令的复合命令时,会静默绕过所有安全过滤规则,导致恶意代码可被植入。
- 漏洞源于性能妥协—Anthropic工程师为优化UI性能,将安全分析上限设为50条,认为正常用户不会输入超长命令,但忽略了AI提示词注入攻击可突破这一假设。
- 影响超过50万开发者—该漏洞波及50余万开发者,作为Anthropic年经常性收入达25亿美元的核心产品,权限系统失效威胁企业安全防线。
- 官方已紧急修复—Anthropic于4月4日发布Claude Code v2.1.90版本,将修复描述为“解析失败回退导致的deny rules降级”,漏洞已被堵上。
- 安全建议—安全团队建议开发者勿过度依赖AI工具的安全规则,需审计未知仓库的CLAUDE.md文件并限制Shell访问权限。
Claude Code漏洞:第51条命令会静默绕过所有安全规则
安全研究机构Adversa AI在审查意外泄露的Claude Code源代码时,发现一个致命高危漏洞:当该工具处理超过50条子命令的复合命令时,会静默绕过用户设置的所有安全过滤规则。
漏洞细节
漏洞复现很简单:第51条命令可以是“隐身”的恶意代码。Claude Code是Anthropic旗下增长最快的AI编程助手,允许开发者通过命令行直接管理代码库。为了防止敏感数据外泄,系统内置了权限校验(如禁止执行curl或rm)。然而研究人员发现:如果攻击者在一串命令中通过&&或;连接超过50条子命令,Claude Code将不再对后续命令进行逐一审查。为什么是50条?因为UI界面卡顿,工程师只分析了前50条,超出部分回退到“询问用户”模式。
攻击路径
攻击者只需构造一个包含恶意CLAUDE.md文件的开源仓库,诱导开发者运行。AI可能会在前50条生成无害命令,而在第51条植入窃取SSH密钥或API Token的指令,系统将直接默认放行。攻击路径清晰:利用AI提示词注入突破人类行为假设。
原因:性能妥协
这一漏洞的产生并非技术无能,而是源于一次“性能妥协”。内部工单记录显示,Anthropic内部编号为CC-643的工单中,工程师发现对超长复合命令进行逐条安全分析会导致UI界面卡顿。开发团队当时认为正常用户不会输入50多条子命令,因此将50设为分析上限,超出部分回退到“询问用户”模式。然而,他们忽略了AI提示词注入攻击可以轻易突破这一人类行为假设。
讽刺:修复方案曾被“锁”在仓库里
Adversa AI的报告指出,Anthropic实际上早已开发出一套基于tree-sitter的新型解析器,无论命令多长都能正确校验安全规则。这套成熟的代码就躺在源码仓库中并经过了测试,但出于某种原因,从未被应用到实际交付给客户的生产版本中。群里在传,这相当于自己造了把锁却放在抽屉里不用。
影响与修复
目前该漏洞已波及超过50万开发者。作为Anthropic产生的年经常性收入达25亿美元(约172.3亿元人民币)的核心产品,权限系统的失效意味着企业安全团队建立的最后一道防线已然崩塌。值得庆幸的是,在源码泄露事件引发的“全民审计”压力下,Anthropic已于4月4日发布了Claude Code v2.1.90版本。有开发者看到公告中将此修复描述为“解析失败回退导致的deny rules降级”,目前该漏洞已被正式堵上。
安全建议
研究团队提醒广大开发者,不要过度依赖AI工具自带的拒绝规则作为唯一的安全边界。在使用Claude Code运行任何未知仓库前,请务必审计CLAUDE.md文件,并将其Shell访问权限限制在最小必要范围内。接下来,开发者需要警惕:即使在Claude Code修复后,其他AI编程助手也可能存在类似的命令数量或长度上限漏洞,这会让依赖单一AI安全边界的团队感到不安,而最受益的是提供独立代码审计和沙箱运行的服务商。