51万行源码泄露!Claude Code栽在.js.map上,你的项目也在裸奔吗?
愚人节“惨案” · AI独角兽的低级失误


2026年3月31日,Anthropic旗下AI编程神器Claude Code v2.1.88在npm发布时,一个59.8MB的cli.js.map文件被意外打包上传。
安全研究员仅用几分钟,就通过这个Source Map还原出:
-
51.2万行TypeScript源码、1906个源文件
-
40+工具模块、50+斜杠命令、20+未发布特性
-
核心Prompt逻辑、权限系统、“卧底模式”等商业机密
更讽刺的是:这是14个月内第二次因Source Map泄露源码(2025年2月已犯过一次)。
.js.map · 调试神器,也是泄密核弹

.js.map(Source Map)是JSON文件,作用是把压缩/转译后的生产代码,映射回你写的原始源码(TS/JSX/Vue),让浏览器DevTools能定位到原行号、原变量名。

当.map文件被打包进npm/CDN并公开时:
-
任何人可一键还原完整未混淆源码(含注释、变量名、业务逻辑)
-
暴露API地址、鉴权逻辑、加密算法、硬编码密钥
-
竞品可直接抄走核心架构、Prompt策略、工具调用机制

-
Bun构建默认生成Source Map,生产环境未关闭
-
.npmignore未添加*.map过滤规则
-
package.json的files字段未正确配置
-
未纳入CI/CD安全检查,两次踩同一个坑

Source Map泄露的3大安全死穴



1. 核心技术裸奔,商业护城河崩塌
Claude Code的Prompt工程、Agent调度逻辑、工具系统是核心竞争力,泄露后等于把“产品圣经”免费送给所有竞品(Cursor、Copilot、国内AI助手等)。
2. 攻击入口大开,业务风险飙升
-
黑客可分析权限判断、接口校验、签名逻辑,伪造请求、绕过限制
-
爬取未公开接口,批量刷数据、薅羊毛
-
发现前端漏洞,发起XSS、CSRF等攻击
3. 合规与声誉危机
-
泄露内部设计、未发布功能,引发社区信任危机(如“卧底模式”争议)
-
被迫紧急撤包、DMCA投诉,品牌形象严重受损
必做 · Source Map安全配置清单
01
立即自查
-
访问https://你的域名/xxx.js.map,看是否能下载
-
打开F12→Sources,是否能看到src/xxx.ts原文件
-
检查npm包/CDN产物,是否包含.map文件
02
构建配置
-
开发环境:source-map/inline-source-map(放心用)
-
生产环境(推荐):
Webpack:devtool: ‘hidden-source-map’(生成但不暴露)或false
Vite:build.sourcemap: false或’hidden’
Bun:build.sourcemap: ‘none’
Rollup:sourcemap: false
03
发布流程加固
-
.npmignore/.gitignore强制添加:*.map
-
package.json的files字段只包含必要产物,排除.map
-
CI/CD加入安全扫描:禁止生产包包含.map文件
-
上线前人工/自动化校验:产物中无.map
别让调试文件毁了你的项目



Claude Code事件不是个例:苹果App Store、多家大厂都曾因Source Map泄露源码。
Source Map是调试工具,不是生产标配。生产环境公开.map,就像把公司保险柜钥匙挂在大门口。
所以立即检查一下你的项目,看看你的生产环境是否还在裸奔Source Map?
夜雨聆风