错上加错,Anthropic一刀切掉8100仓库

2026-04-02 18:40:57 作者:陈书易

一行被打错的文件,演变为8100个GitHub仓库被一刀切下架。

代码泄露之后,Anthropic选择用版权法(DMCA)快速清理扩散内容,但这次操作的影响远远超出预期——整个fork网络被连带波及。

约8100个仓库被一并处理,不仅包含泄露代码的仓库,也波及到了Claude Code相关的公开仓库及其合法fork,甚至一些开发者的个人项目。

随着大量仓库被下架,相关讨论在社交媒体上迅速发酵。

Claude Code负责人Boris Cherny出面回应,称这是一次意外操作。

目前,Anthropic已撤回大部分下架请求,仅保留针对1个仓库以及96个确实包含泄露源码的fork的处理。GitHub也恢复了对其余受影响仓库的访问权限。

01

这次事件的源头是一次内部发布流程中的失误。

周二,一位软件工程师发现,Anthropic最近一次发布中似乎意外包含了其主打产品——Claude Code命令行应用的源码访问权限。

具体来说,在Claude Code的npm发布包中,出现了一个关键文件:package/cli.js.map

这是一个 source map(源码映射文件),作用是将编译后的代码(如压缩或转译后的 JavaScript)映射回原始源码。

换句话说:只要有.map,就可以在一定程度上“还原”源码结构。

这意味着即使Anthropic并没有直接公开完整源码,但由于这一文件的存在,源码具备了被还原的可能。

情况被发现后,大量AI爱好者和开发者开始分析这些文件,试图从中了解Claude Code的内部实现方式。

同时这些文件也被分享到了GitHub上,并以各种方式传播。

结果就是,Anthropic泄露了512,000行源代码、内部模型代号和他们的产品路线图。

02

确认源码泄露后,Anthropic需要尽快清理这些已经扩散的代码,他们选择了最直接也最干脆的一种方法:DMCA(美国数字版权法)下架请求。

这种方式有着非常高效的优点:快速执行、优先保护版权方、通常不做复杂判断。

但问题在于,根据GitHub的处理逻辑,仓库如果属于同一个fork网络,就可能会被整体纳入处理范围。

而Claude Code本身存在一个公开仓库和大量的合法fork,fork之间形成了复杂的网络结构。

于是就出现了一个连锁反应:包含泄露代码的fork被标记的同时,同一fork网络中的其他仓库也被波及,官方仓库的正常fork被一并处理,一些开发者基于该项目的衍生项目也被下架。

最终,这一DMCA请求影响了约8100个仓库。

面对这一情况,Anthropic很快进行了调整:公司撤回了绝大多数DMCA请求,仅保留了1个明确包含泄露源码的仓库和96个相关fork。

GitHub也随之恢复了“被误伤”的仓库的访问权限。

不过,TechCrunch报道称,这次“清理事故”也对Anthropic带来了新的负面影响。公司正计划IPO,而上市通常意味着更高的执行力和合规要求。

如果类似情况发生在上市公司,通常可能引发股东层面的关注,甚至带来潜在的法律风险。

03

在其他的任何公司,刚刚泄露了512,000行源代码、内部模型代号和整套产品路线图的人,都免不了要拎包走人。

但Anthropic并没有这么做:团队和领导一起公开地承担了责任,认为问题不在人,而是容易出错的基础设施。任何人都有可能无意中犯同样的错误。

按照公开表述,出错环节在于打包与发布流程,手动步骤缺乏自动化约束。

因此,后续的重点在于修复流程、减少该步骤的人为操作、提升打包和发布的自动化程度。而并非对个人问责。

在技术层面,Anthropic也很快发布了新版本,对问题进行修复。

最新版本Claude Code 2.1.90移除了上一版本中的源码映射文件(导致泄露的罪魁祸首),并额外做了两类“泄露/隐私”相关的修补:取消了Get-DnsClientCache和ipconfig /displaydns的自动允许,使Claude Code 默认不再访问本地DNS缓存。

新版本还对PowerShell执行权限进行了强化,增加了权限校验逻辑并修复了多种可能的绕过路径,提升了系统在本地执行层面的安全性。

目前,Claude Code已恢复正常更新节奏,相关讨论仍在持续。(作者/袁心玥)