由于 Source Map 文件配置错误,Anthropic 在 npm 上意外泄露了其 Claude Code CLI 工具的完整 TypeScript 源代码。
📝 详细摘要
安全研究员 Chaofan Shou 发现,Anthropic 的 @anthropic-ai/claude-code 软件包 2.1.88 版本包含一个 source map (.map) 文件,该文件暴露了未经混淆的完整 TypeScript 源代码。此次泄露归因于发布打包过程中的人为失误,导致代码库被迅速归档到 GitHub 上。本文解释了技术原因——Bun 默认生成 source map 的机制,并为开发者提供了实用的预防策略,例如使用 .npmignore、在 package.json 中进行显式白名单配置,以及在发布前使用 npm pack 对软件包进行审计。
💡 主要观点
- 通过 npm source maps 导致完整源代码暴露 公共 npm 仓库中配置错误的 .map 文件指向了托管在云存储上的原始、未经混淆的 TypeScript 源文件,从而导致整个代码库泄露。
💬 文章金句
- 这是一个由人为失误导致的发布打包问题,而非安全漏洞。
- 一个配置错误的 .npmignore 或 package.json 中的 files 字段就可能导致一切泄露。
- 预防此类问题并不复杂:将 *.map 添加到 .npmignore,在 package.json 的 files 字段中维护显式白名单,或者在发布前运行 npm pack --dry-run 来审计包含的文件。
📊 文章信息
AI 评分:87
来源:InfoQ
作者:Steef-Jan Wiggers
分类:人工智能
语言:英文
阅读时间:4 分钟
字数:942
标签: Anthropic, Claude Code, 安全泄露, npm, Source Maps