首页/详情

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 代码。

泄露过程

  1. 开发团队在发布 npm 包时,误将 sourceMap 选项设为 true,导致生成的 .map 文件被一并上传至公共仓库。
  2. .map 文件映射了压缩后的 claude.min.js 与未压缩的源码目录,暴露了内部实现细节、模型调用封装以及部分安全审计代码。
  3. 安全研究员在审计 npm 包时下载了 .map,利用 Chrome DevTools 的 “Load source map” 功能成功还原了源码。

技术细节

  • sourceMap 是 Webpack、Rollup 等打包工具的常用选项,用于在生产环境调试时提供源码映射。若未在 package.json 或发布脚本中显式排除 .map,会随包一起发布。
  • 公开的源码包括对 Anthropic API 的封装层、请求签名逻辑以及部分模型推理的前置处理代码,虽不涉及模型权重,但足以让竞争对手了解实现思路。

安全影响与建议

  • 保密性风险:源码泄露可能帮助对手复制或逆向工程,削弱技术壁垒。
  • 供应链风险:攻击者可在 .map 中植入恶意代码或篡改依赖版本,进而影响下游项目。
  • 防护措施
    1. 在 CI/CD 流程中加入 .map 文件过滤或删除步骤;
    2. 使用 npm publish --ignore-scripts 并在 package.jsonfiles 字段明确列出需要发布的文件;
    3. 对所有发布的包进行自动化安全审计,检测意外包含的调试信息;
    4. 对内部源码采用加密或混淆处理,降低逆向价值。

此次事件提醒业界,在产品化过程中,除了模型本身的安全防护,构建、发布链路的细节同样是重要的攻击面。开发者应审视整个供应链,确保调试信息不泄露,以维护 AI 资产的机密性。

标签