Claude 大模型源码意外泄露:npm source‑map 配置失误引发的安全警示
InfoQ 中文2026/04/10 19:00机翻/自动摘要/自动分类
0 阅读
内容评分
技术含量
7/10
营销水分
3/10
摘要
Anthropic 的 Claude 大模型源码因 npm source‑map 配置失误被意外公开。泄露的 `.map` 文件映射了压缩代码与内部实现,使外部可逆向恢复源码,暴露了 API 封装和安全审计逻辑。文章解析泄露过程、技术细节,并给出防止类似供应链泄露的最佳实践建议,强调模型产品化的全链路安全。
正文
近日,Anthropic 开发的对话式 Claude 的部分源码在 GitHub 上被公开,原因并非恶意攻击,而是一次 npm source‑map 配置错误导致的意外泄露。泄露的文件主要是 dist/claude.js.map,其中包含了指向内部源码的路径信息,使得外部人员能够通过 source‑map 逆向恢复原始 TypeScript/JavaScript 代码。
泄露过程
- 开发团队在发布 npm 包时,误将
sourceMap选项设为true,导致生成的.map文件被一并上传至公共仓库。 - 该
.map文件映射了压缩后的claude.min.js与未压缩的源码目录,暴露了内部实现细节、模型调用封装以及部分安全审计代码。 - 安全研究员在审计 npm 包时下载了
.map,利用 Chrome DevTools 的 “Load source map” 功能成功还原了源码。
技术细节
sourceMap是 Webpack、Rollup 等打包工具的常用选项,用于在生产环境调试时提供源码映射。若未在package.json或发布脚本中显式排除.map,会随包一起发布。- 公开的源码包括对 Anthropic API 的封装层、请求签名逻辑以及部分模型推理的前置处理代码,虽不涉及模型权重,但足以让竞争对手了解实现思路。
安全影响与建议
- 保密性风险:源码泄露可能帮助对手复制或逆向工程,削弱技术壁垒。
- 供应链风险:攻击者可在
.map中植入恶意代码或篡改依赖版本,进而影响下游项目。 - 防护措施:
- 在 CI/CD 流程中加入
.map文件过滤或删除步骤; - 使用
npm publish --ignore-scripts并在package.json的files字段明确列出需要发布的文件; - 对所有发布的包进行自动化安全审计,检测意外包含的调试信息;
- 对内部源码采用加密或混淆处理,降低逆向价值。
- 在 CI/CD 流程中加入
此次事件提醒业界,在产品化过程中,除了模型本身的安全防护,构建、发布链路的细节同样是重要的攻击面。开发者应审视整个供应链,确保调试信息不泄露,以维护 AI 资产的机密性。