打开网易新闻 查看精彩图片

3月31日,Anthropic意外泄露了Claude Code的大部分源代码。一周后,安全研究人员在这堆代码里挖出一个设计精巧的"后门"——不是程序员故意留的,是性能优化顺手埋的雷。

漏洞藏在bashPermissions.ts文件的第2162行。简单讲:Claude Code允许开发者配置"禁止运行rm"这类拒绝规则,但当一条命令通过&&、||或;连接超过50个子命令时,系统会直接跳过安全检查。

打个比方:你家门口装了人脸识别,单个人进出都查。但要是来了一队50人的旅游团,保安嫌麻烦,从第51个人开始直接放行。Anthropic的工程师确实在代码注释里写了理由——"50条已经很慷慨了,正常用户不会拆分那么散"。

问题是,AI不是"正常用户"。

攻击者只需构造一个开源项目,让Claude生成一条超长命令流水线,把恶意操作藏在第51个位置。前面50个true命令当掩护,后面的rm、curl或者数据外泄操作就能长驱直入。研究团队实测:窃取SSH密钥、云凭证、API Token,路径清晰可行。

更讽刺的是,Anthropic早就写好了修复方案。他们开发的tree-sitter解析器能正确处理任意长度的命令,代码写完、测试通过,就躺在同一个仓库里——但从未合进正式版本。这像极了产品经理天天挂在嘴边的"技术债":方案有了,排期没有。

4月4日,Anthropic在v2.1.90版本里补上了这个洞,官方措辞很技术:"解析失败回退导致的deny rules降级"。超过50万开发者曾经暴露在风险下,而他们的安全策略其实从未生效,只是没人告诉他们。

Claude Code是Anthropic增长最快的产品,年经常性收入估计达25亿美元。它的权限系统被企业安全团队当作核心边界——AI能执行shell命令,但得按规则来。当这个边界无声失效,开发者就像戴着没通电的电子手环,以为被监控着,实则自由落体。

研究团队的后续建议很务实:别再把拒绝规则当铜墙铁壁,限制AI的shell权限到最小范围,监控异常出站连接,运行前审计CLAUDE.md文件。毕竟,你永远不知道第51个命令里藏着什么。

Adversa AI表示这只是第一份报告。泄露的代码库还在被逐行审视,更多发现正在路上。