npm 上的 sourcemap,把 Claude Code 源码泄了

Claude Code 的源代码通过其 npm 包里残留的 sourcemap 文件被还原出来,一次教科书级的发布流程失误。

泄露的技术路径

事情的机制简单到尴尬:发布到 npm 的构建产物里带上了 sourcemap,而 sourcemap 的本职工作就是把压缩代码映射回原始源码,等于在加密门旁边挂了钥匙。有人注意到、还原、传播,整个过程不需要任何「攻击」。这是前端工程里被讲了十年的检查项,出现在 Anthropic 这个级别的发布流程里,只能说明一件事:发布管线的安全检查清单上少了一行,或者有那一行但没人执行。

对双方的教训

对 Anthropic,亡羊补牢的动作可以预期:撤包、清理、管线加检查。对围观的工程师,这是一次免费的合规演习:检查自家发布的包里有没有同款残留,sourcemap、内部注释、硬编码的密钥和内网地址,这类失误的普遍程度远超想象。还有一层行业背景值得一提:以混淆分发的闭源 JS 工具本来就处在「半透明」状态,决心够的人总能逆向,sourcemap 只是把门票从昂贵变成免费。把商业机密押在混淆上的公司,该重新想想架构了。

via: Hacker News