Anthropic旗下专有的 Claude Code 命令行工具(CLI)完整 TypeScript 源码,疑似因 npm 包配置失误,经由其 npm 注册表意外泄露。 事件最早由安全研究员邵超凡(Chaofan Shou)披露,他在社交平台 X 上发文称,“Claude Code 源代码通过其 npm 注册表中的 map 文件泄露”,并指向一份可直接下载的源码压缩包链接,该压缩包托管在 Anthropic 自身的 R2 云存储中。

打开网易新闻 查看精彩图片

据披露信息,发布在 npm 上的 @anthropic-ai/claude-code包中包含一份 source map(.map)文件,该文件记录了从编译、压缩后的 JavaScript 回溯到原始 TypeScript 源码的完整映射,从而使未混淆的完整代码库可以被直接下载和还原。 随后,有人将这份未经修改的源码备份并镜像到 GitHub 的公开仓库,在nirholas/claude-code的 backup 分支下保存。

从泄露内容来看,本次暴露的是 Claude Code 工具完整的 src/目录,约 1900 个文件、超过 51.2 万行严格 TypeScript 代码,运行环境为 Bun,并采用 React + Ink 组合构建终端界面,几乎覆盖了该 CLI 工具的所有关键子系统。 报道提到,已经确认包含在泄露文件中的核心模块包括:约 4.6 万行代码的QueryEngine.ts,负责核心大模型 API 引擎、流式输出、工具循环及 token 追踪;约 2.9 万行的Tool.ts,定义全部智能体工具类型和权限模型;以及约 2.5 万行的commands.ts,负责注册和执行工具支持的斜杠命令。

泄露的架构细节显示,Claude Code 支持约 40 种代理工具,如 BashToolFileReadToolFileEditTool以及用于生成子代理的AgentTool等,并提供大约 85 个斜杠命令,覆盖 Git 工作流、代码审查、记忆管理以及多智能体协作调度等开发场景。 源码中同时暴露了若干内部使用的特性开关(feature flag),包括PROACTIVEVOICE_MODEBRIDGE_MODEKAIROS等,显示出一系列尚未正式对外发布的产品能力和演进方向。

报道指出,source map 文件(.map)本是开发阶段常用调试工具,用于在浏览器或运行时环境中将压缩、打包后的 JavaScript 映射回原始源码,以便调试定位问题。 然而,一旦这类文件被错误地一并打包进面向生产环境的 npm 发行版本,就等于向任何熟悉路径结构的人暴露了完整的专有源码,从而在实际效果上绕过了混淆和压缩保护。 报道同时提到,这并非 Anthropic 首次遭遇类似问题,此前在 2025 年初,据称曾有一次源映射相关的暴露被修补。

由于本次泄露涉及内部 API 客户端逻辑、OAuth 2.0 认证流程、权限控制、多智能体协同以及尚未公开的功能管线,事件为 Anthropic 带来不容忽视的知识产权与安全风险。 截至发稿,Anthropic 尚未就此事件发布公开声明。 已在开发流程中集成 Claude Code 的组织应密切关注 Anthropic 后续发布的官方安全通告,及时在官方 npm 注册表中检查并更新到修补后的版本,同时避免从第三方镜像渠道获取或使用这批泄露的源码。