说到目前最强的 AI 程序开发工具,Claude Code 绝对是很多人心目中的第一,它能直接在终端机中理解你的代码、帮你写新功能、修 Bug、甚至处理 Git 工作流程,让不少开发者用过之后就回不去了。 也正因为Claude Code这么强,很多人都对它背后是怎么运作的非常好奇,而就在昨天,Anthropic居然不小心把Claude Code的完整源代码给泄漏出来了,而且规模不小,整整约51万行代码、将近1,900个文件全部曝光,同时也揭露不少还没公开的功能。
更重要的是,发现这泄漏的开发者,很快就在GitHub上发布重写的claw-code项目,上线仅2个小时就冲破5万颗星。
最早发现这个泄漏的人是Chaofan Shou,他是Solayer Labs的实习生,昨日凌晨在X上发文并附上下载连结,在Anthropic来得及反应之前,这篇贴文的浏览量就已经突破1,600万次,源代码也迅速被大量开发者下载和分析:
这次泄漏的内容可说相当丰富,不只有还没正式推出的功能,还透露Claude Code的核心运作细节。
根据开发者和安全研究人员的分析,源代码中藏了 44 个功能开关(Feature Flags),其中几个比较有趣的包括:
- Kairos:尚未发布的自主代理模式,具备背景常驻功能,会定期写入记忆日志,甚至有一个叫做「/dream」的技能,用来进行记忆蒸馏,还能订阅 GitHub Webhook 事件并每 5 分钟自动刷新。
- Buddy 伙伴系统:类似电子鸡的 AI 宠物功能,共有 18 种物种、不同稀有度和 RPG 属性,会根据用户 ID 来决定分配到哪一只。 不过考量到发现时间点接近愚人节,推测可能只是 Anthropic 内部的愚人节彩蛋。
- Undercover Mode(卧底模式):这功能会自动过滤掉 Anthropic 内部的代号和机密信息,防止工程师在使用 Claude Code 贡献开源项目时,不小心把内部代号泄漏出去。 代码中还特别强调没有强制关闭选项,显示 Anthropic 对代号外泄相当重视。
此外,源代码还揭露了反蒸馏机制,毒化那些试图通过拦截API流量,来训练自家模型的竞争者资料。 不过这些保护机制其实不难绕过,有经验的开发者大概一个小时内就能找到方法。
核心运作细节部分,可以参考 Claude Code Harness Engineering,这是基于泄漏的源代码内容,整理出来的一个技术分析教程网页:
Anthropic 发现泄漏后,虽然迅速将 npm 上的套件下架,并对 GitHub 上的镜像仓库发出 DMCA 侵权通知要求移除,但一位名叫 Sigrid Jin 的开发者,很快以 Python 进行「无尘室重写(Clean-room Rewrite)」,也就是参考源代码的架构设计,但完全用自己的程式码重新撰写「claw-code」项目。 由于这属于全新的创作而非直接复制,因此在法律上能够规避 DMCA 版权下架的要求:
上线 2 小时就获得超过 5 万颗星,现在更快要 6 万:
至于这次泄漏的原因,Anthropic 在发布 Claude Code 的 npm 套件(版本 2.1.88)时,不小心把一个 59.8MB 的 JavaScript Source Map 文件一起打包进去了。
Source Map 是一种「对照表」,它能把压缩后的代码还原回原始的开发版本,通常只会在内部调试时使用,不应该出现在公开发布的版本中。 而这次Anthropic使用的打包工具 Bun,在正式发布模式下没有自动排除 Source Map,才导致这起泄漏事件。 据了解,这其实是 Bun 的已知问题,早在 3 月 11 日就有人在 GitHub 上回报过。
根据Business Insider报导,Anthropic官方将这次事件定调为「因人为疏失造成的发布打包问题」,并强调没有任何客户资料或帐号凭证遭到外泄。 但值得注意的是,这已经是 Anthropic 一周内的第二次资料外泄事件。 几天前,Anthropic 才被人在一个公开的资料缓存中发现到,尚未公开的 AI 模型和其他文件。