乐于分享
好东西不私藏

Claude code 源码泄露,居然还有宠物系统…

Claude code 源码泄露,居然还有宠物系统…

昨天 Claude code 的的代码泄露了,咱也不知道是不是故意的。。。

事情经过:

🍦

2026年3月31日,区块链基础设施公司Solayer的实习生ChaofanShou在对Anthropic发布于npm注册表的Claude Code安装包进行常规检查时,发现包中包含了一个名为cli.js.map 的文件,大小为59.8MB。

Source Map(源代码映射)是一种开发调试工具,它建立了编译/打包后的代码与原始源代码之间的映

射关系。

在正常的生产发布流程中,SourceMap文件应当被排除在发布包之外。然而,Anthropic的CI/CD流水线在构建Claude Codev2.1.88版本时,未能正确配置 .npmignore 或 files 字段,导致 cli.js.map被一同发布到了公共npm注册表。

Source Map的格式是JSON,遵循Source Map v3规范。其核心字段包括:

• sources:原始源文件路径数组

• sourcesContent:每个源文件的完整原始内容

• mappings:Base64 VLQ编码的位置映射

当 sourcesContent 字段存在时,无需访问原始仓库即可完整还原所有源文件。Bun打包器生成的Source

Map默认包含 sourcesContent,这意味着Claude Code的全部TypeScript源码包括开发者手写的注释

都以明文形式嵌入在了这个59.8MB的JSON文件中。

社区成员使用标准工具(如 source-map npm包或 vlq 解码器)即可在数分钟内完成还原。

然后 cc 就被逆向了,它的 Agent 架构挺精妙的,但是门槛有点子高,朋友们可以看其他大佬讲解。

我要讲的是Claude Code居然还有虚拟宠物功能。。。

buddy/目录实现了一个完整的虚拟宠物系统。

最独特的设计是”确定性哈希生成”——每个用户的宠物不

是随机生成的,而是从用户ID确定性派生的。这意味着:

• 同一用户永远拥有相同的宠物

• 宠物是用户身份的”视觉指纹”

• 没有保存/加载机制——宠物从用户ID实时计算

18种物种和5级稀有度构成了宠物的”骨架”(Bones)。物种和稀有度的分配由用户ID的哈希值决定,稀有度越高的物种出现概率越低。

而且同一个物种,它的样子还不是完全一样的,属性值也是。

稀有度颜色通过RARITYCOLORS枚举定义,从常见到传说:

• Common(常见)

• Uncommon(不常见)

• Rare(稀有)

• Epic(史诗)

• Legendary(传说)

我也去抽卡了,结果抽到一个绿色的。。。

然后我收集了目前这几个物种,下文也有重新 roll 的方法。

看了@卡兹克的文章,学到了一个方法,

把这个网址发给它https://linux.do/t/topic/1873901,让它自己动。

这个虚拟宠物还会在屏幕最右边陪着你哈哈哈。

最后宠物就 Roll 出来了哈哈哈哈,

真的太有意思。

啥也不说了,

遥遥领先好吧。

晓风乾丨 大四 Base北京 AI产品在职

想缩小科技带来的信息差 分享很酷的AI玩法。

希望得到您的点赞转发爱心三连支持,

如果有更多想法或者问题欢迎后添加我微信,我拉你进群交流~