
近日,Anthropic意外泄露了其AI编码助手Claude Code的大部分源代码。随后,安全研究人员在审查中发现一个致命高危漏洞:当Claude Code处理超过50条子命令的复合命令时,会静默绕过用户配置的拒绝规则。
这一漏洞位于bashPermissions.ts文件中。正常情况下,开发者可以配置“禁止运行curl”或“禁止运行rm”等规则防止数据外泄或误操作。但当一条shell命令通过&&、||或分号连接超过50个子命令时,Claude Code会跳过逐子命令的安全分析,直接执行恶意载荷。例如,在50个正常命令后加上“rm”,原本应被阻止的操作将无声通过。
漏洞根源在于Anthropic为解决UI卡顿而设置的分析上限:系统只对前50个子命令进行安全检查,超出部分回退到“询问用户”模式。代码注释称50条已“足够慷慨”,但这一假设未考虑AI提示词注入攻击。攻击者只需构造一个恶意开源仓库,指示AI生成超长命令链,将危险指令放在第51位及之后,即可窃取SSH密钥、云凭证等敏感信息。该缺陷已影响超过50万名开发者。
令人意外的是,Anthropic实际已开发出能正确检查任意长度命令的tree-sitter解析器,代码已写好并测试通过,却从未交付给客户。所幸该问题已得到修复,根据4月4日公告,最新发布的Claude Code v2.1.90中已解决这一漏洞。安全研究团队提醒,开发者不应依赖拒绝规则作为安全边界,应限制Claude Code的shell访问权限并审计外部仓库。
原创文章,作者:聆听,如若转载,请注明出处:https://www.kejixun.co/article/749400.html