这个故事的主角是Anthropic,大家都知道Claude Code是他们搞出来的AI编程工具。没想到Anthropic把这个软件的源代码完全泄露了,这事儿闹得挺大。Anthropic原本是想发布一个新的npm包,结果出了岔子,给用户暴露了Claude Code的完整代码。 周二早上,安全研究员邵朝帆发现了这个问题。他把这个消息给发了出去,这下可热闹了。GitHub仓库里很快就备份了Claude Code源代码的快照,这个仓库被fork的次数已经超过41500次。这意味着源代码现在广泛流传开来,大家都可以拿到它。大家都觉得这事儿挺有意思,网络安全圈和AI圈的人也很关注。 邵朝帆分析说,这次泄露是因为Claude Code的npm包里面包含了一个映射文件。这个映射文件原本是用来把打包后的代码连接回原始源代码的,结果就直接引用了一个未混淆的TypeScript源代码。研究人员顺着这个线索去查,发现这个引用指向了Anthropic的Cloudflare R2存储桶上的一个zip压缩包。研究人员轻松地把压缩包下载下来解压就拿到了完整源代码。 这个压缩包里的内容还真不少,大概有1900个TypeScript文件呢,超过51.2万行代码。而且里面还有完整的斜杠命令库和内置工具什么的。不过Claude Code之前也不是完全没被人挖过,有个叫CCLeaks的项目早就开始逆向工程Claude Code了,还专门做了网站来曝光那些隐藏的部分。这次泄露给他们提供了不少新素材呢。 最让人觉得离谱的是,Anthropic的某个人犯了个低级错误。他在发布配置的时候把映射文件给留着了。发布映射文件本来是不推荐的做法,生产环境一般用不着它。不过也难怪这样就把源代码给暴露出来了。 软件工程师Gabriel Anhaia专门分析了这次泄露事件,他觉得这事儿值得所有人警惕一下。哪怕是最厉害的开发者也要小心自己的构建管道。Gabriel在分析报告里写道:“package.json里一个配置错误的.npmignore或者files字段就可能把所有东西都暴露出来。” 至于Anthropic怎么回应呢?他们发声明承认了错误。发言人说这次事故是因为人为错误导致的发布打包问题,不是什么安全漏洞。他们也说了没有客户数据或者凭据泄露出去。 现在的情况是这样的:最初上传Claude Code源代码到GitHub的用户后来把仓库改成托管Python功能移植版本了。他们这么做主要是怕惹上法律纠纷。不过GitHub上还是有很多fork和镜像供大家查看泄露出来的代码呢。 大家还想知道更多细节吗?我来给大家整理一下QA: 问:Claude Code源代码是怎么泄露出去的? 答:泄露是因为Anthropic在Claude Code的npm包里面错误包含了一个映射文件,这个文件指向了未混淆的TypeScript源代码。研究人员顺着这个线索下载解压就拿到了完整代码。 问:这次泄露都包含哪些东西? 答:大概有1900个TypeScript文件,超过51.2万行代码,还有完整的斜杠命令库和内置工具什么的。 问:Anthropic对这次事件怎么回应? 答:他们承认是人为错误导致的发布打包问题,不是安全漏洞。他们还强调没有客户数据或者凭据泄露出去。 还有一件事儿挺有意思的:这次事件让AI和网络安全社区都有了收获。虽然这次泄露让我们看到了直接来自Anthropic的最新版本Claude Code代码,但是并不是说以前完全保密的内容都被曝光了。