Claude Code 源码泄露:AI 开发者的"裸奔"时刻
说出来你可能不信,就在 3 月底,Anthropic 又摊上事儿了。
他们家的 Claude Code——那个让无数程序员又爱又恨的 AI 编程工具——源代码泄露了。是的,又泄露了。上一次是 2025 年 2 月,这次是 2026 年 3 月。同一口井掉进去两次,也是没谁了。
到底是怎么漏的?
说白了,就是发布 npm 包的时候,忘了排除 source map 文件。
这玩意儿是干啥的呢?JavaScript 开发中用来调试的,正常来说,打包发布的时候应该删掉。结果 Anthropic 硬是把一个 60MB 的 cli.js.map 文件塞进了 npm 包里。任何人下载下来,都能顺藤摸瓜把源码还原出来。
1906 个文件,512000 多行 Type Script 代码,全部暴露。代码仓库在 GitHub 上刚放出来没几个小时,就收获了 5400 + Star 和 8800 + Fork。程序员们吃瓜的热情,比写代码还高。
泄露了啥?
不看不知道一看吓一跳。根据各方分析,这次泄露把 Claude Code 的老底都揭了:
技术栈:
• 运行时:Bun
• 语言:TypeScript
• 终端 UI:React + Ink
• CLI 解析:Commander.js
• 校验:Zod v4
工具系统:40 + 个独立工具模块,什么 BashTool、FileReadTool、GrepTool、AgentTool,分得那叫一个细。
命令系统:50 + 个斜杠命令,/commit、/review、/vim、/doctor,应有尽有。
甚至还有彩蛋:代码里有个叫 BUDDY 的功能,据说是要作为愚人节彩蛋推出的”电子宠物风格 ASCII 伴侣精灵”。结果彩蛋还没发,源码先漏了。
安全问题
安全研究人员也没闲着,顺手挖了几个 Bug:
1. Plan 文件白名单匹配过宽:用 startsWith 做前缀匹配,结果 blue-fox-backup.md、blue-fox-evil.md 都能绕过权限检查。
1. 多级 Symlink 处理不完整:想”写穿 symlink 同时保留链接本身”,但只调了一次 readlinkSync,多级链接链直接凉凉。
1. WebSocket 重连回放跨运行时不一致:Node 和 Bun 两个运行时下行为不一样,可能丢消息。
说白了,不是代码写得烂,是这套权限系统太复杂了,防御层数太多,总有一层没覆盖到边边角角。
有啥影响?
对普通用户来说,没啥直接影响。泄露的是 CLI 客户端代码,不涉及模型权重,也不涉及用户数据。
但对 Anthropic 来说,同一个错误犯两次,这事儿就有点说不过去了。npm 打包配置里加个检查就能防住,结果愣是没防住。
有意思的是,华尔街对这事儿的反应,比谁都激烈。消息出来当天,美国网络安全板块股票全线下跌,Palo Alto Networks 跌了 7%,CrowdStrike 跌了 6.4%。市场担心啥?担心超强 AI 沦为黑客工具唄。
咱们能学到啥?
说到底,这就是一个教训:发 npm 包之前,永远检查一下 .npmignore 和 package.json 的 files 字段。
source map、.env、内部配置,漏出去一个就是大事故。
至于 Claude Code 用户,该用还得用,毕竟干活要紧。但下次更新的时候,记得看看他们修复了这个问题没有。
好了,今天的分享就到此结束,咱们下回见;
如果觉得文章对你有帮助,记得点.赞.转.发.收.藏喔!
夜雨聆风