Claude Code源代码泄露,真是个草台班子!
见字如面,我是军哥!
昨天,整个技术圈炸了。
安全研究员Chaofan Shou在npm注册表上发现了一个不该存在的东西——Anthropic的Claude Code,版本2.1.88,附带了一个59.8MB的source map文件。
这个文件的作用是什么?把生产环境压缩混淆后的代码,完整映射回原始TypeScript源码。
结果就是:1900多个源文件,51.2万行代码,连开发工程师手写的注释,全部摊在了公共互联网上。
几小时内,备份仓库在GitHub上获得数千星标,Hacker News和Reddit同时冲上热榜。
这不是黑客攻击,不是内部泄密,就是发布时忘了删。
而就在五天前,Anthropic刚因为CMS配置错误泄露了近3000份内部文件。
一家把“AI安全”刻在招牌上的公司,一周之内因为两次配置失误翻车。确实是个草台班子。
1、漏得有多彻底?
一个59.8MB的.map文件,价值多少钱?对于一家估值3500亿美元、正在讨论IPO的AI公司来说,这是知识产权层面的重创。
还原出来的代码包含:长达4.6万行的QueryEngine.ts(与大模型交互的核心逻辑)、约2.9万行的工具系统定义、40多个独立工具模块,以及一套完整的六级权限验证系统。
更离谱的是,代码里还藏着一堆从未公开过的功能:
-
KAIROS:一个可在后台持续运行的自主守护进程,会在用户空闲时进行“记忆整合”,通过“夜间做梦”机制整理白天的交互碎片。
-
BUDDY系统:一个电子宠物养成系统,包含18个物种,有稀有度等级和闪光变体,闪光概率1%,陪伴开发者写代码。
-
ULTRAPLAN:可将复杂规划任务卸载到远程云容器,由Opus 4.6模型用最长30分钟进行思考。
-
Undercover Mode:专门用于在公共代码仓库操作时自动清除AI使用痕迹。
最讽刺的是最后一个——一个专门防止内部信息泄露的系统,最终没能防住整个源码库的裸奔。
2、怎么漏的?原因简单到可笑
其实技术原因不复杂。Claude Code使用Bun作为运行时和打包工具,Bun的构建器默认生成source map文件。正常发布流程中,这类文件应该通过.npmignore或构建配置被排除。但这一次,它随正式包一同上传到了npm公共注册表。
Source map本是开发阶段的调试工具,用于将压缩后的代码映射回原始源码。一旦出现在生产环境的npm包中,就等于把钥匙和锁一起寄了出去。
2025年2月,Claude Code的一个早期版本就因为同样的问题被曝光过。当时Anthropic从npm撤掉了旧版本。一年之后,同样的问题再次出现。
被同一块石头绊倒两次,哈哈~
3、这不是笑话,是警钟
很多人看到这条新闻的反应是“愚人节吗?”,或者转发一条“Anthropic你是认真的吗”。但我看到的是一个更深层的问题。
Anthropic的工程师不菜。 他们能写出4.6万行的QueryEngine,能设计出六层权限校验,能构思出“夜间做梦”这种精妙的记忆整合机制。但整个工程流水线,在“发布”这最后一公里出了问题。
这不是个人能力的问题,是系统的问题。
为什么?
在资本的裹挟下,企业追求的是速度,是市场份额,是上市时间。安全、稳定性、发布流程的规范性——这些投入大、见效慢的“基础设施”,往往被放在优先级列表的最底部。
同样的,国内大公司代码泄露的事也有很多,我这里就不点名了。
构建流水线配置?不就是一个.npmignore文件的事吗?但就是这种“小事”,能搞垮一家3500亿美元公司的信誉。
4、我反而感谢这次代码泄露
说实话,作为一个曾经写代码的人,我反而有点感谢这次泄露。
为什么?
因为它让我们看到了顶级AI产品的工程化细节,而这些细节,恰恰是教科书上学不到的。
从泄露的代码中,我看到了一些真正有价值的东西:
-
上下文处理:CLAUDE.md文件在每一轮对话中都会被重新加载,而不是只在会话开始时加载一次。每条消息都要重新读取4万个字符。这说明持久化、结构化的上下文,是从第一天起就要承载一切的基础架构。
-
并行处理:当Claude Code派生一个子智能体时,它会创建一个与父上下文完全相同的字节副本。API会对其进行缓存。五个智能体的消耗成本与一个智能体大致相当——这是根据自身API的定价模型来设计产品的思路。
-
权限设计:每一次权限弹窗都被视为配置的失败。源代码里有一个五级设置联动,还有一个自动模式,用LLM分类器自行决定权限,无需询问用户。目标是在已知、可信的工作流程中实现零中断。
-
会话连续性:每个会话都会保存到JSONL文件中,用户可以恢复、分支、继续。大多数人每次都是重新开始,这丢弃了模型已经了解到的关于项目的所有信息。
这些才是这次泄露的“真正财富”。
写在最后:
这个世界确实是草台班子。Anthropic是,你所在的公司大概率也是。
但这不是讽刺,是现实。代码永远会有bug,流程永远会有疏漏,人的注意力永远会有盲区。那个忘记删.map文件的工程师,可能连续加班了一周,可能在处理三个并行的项目,可能在发布前最后一秒还在改代码。
我们嘲笑别人翻车,是因为我们没见过自己车的底盘。下次你发布代码时,也要多加注意。
至少,别让全世界看到你的注释:)
回见~若觉得不错,请点赞或分享,分享给你身边需要的朋友们~
关于我:一个 IT 从业 20 年的互联网老兵,1 号店架构师/前饿了么/贝壳找房技术总监,我叫程军,百度可查,目前一人企业,自由职业者。
一个灵魂非常有趣的人~
需要付费修改简历或者 1 对 1 陪跑请联系我。
更多推荐



所有评论(0)