愚人节的“玩笑”:当恶意代码撞上源码泄露
2026年3月31日,旧金山和朝鲜平壤之间,隔着15个小时的时差,却共享了同一个荒诞的剧本。
那一天,Anthropic的安全团队正在紧急评估Claude Code源码泄露的损失——51.2万行TypeScript代码因为一个多余的.map文件被完整暴露在互联网上。
而在地球另一端的某个机房,朝鲜黑客按下回车键,将两个恶意版本推向了npm——Axios,这个每周下载量过亿的HTTP客户端,变成了远控木马的投递管道。

一、时间线:同一天,两个“门”
3月31日0点31分。
有人用Axios主维护者jasonsaayman的账号,往npm上推送了两个新版本:axios@1.14.1和axios@0.30.4。

图源丨Github
这个没有修改axios的源代码,只在 package.json 里加了一个幽灵依赖——plain-crypto-js@4.2.1。
{"dependencies": {"follow-redirects": "^1.15.0","form-data": "^4.0.0","proxy-from-env": "^1.1.0","plain-crypto-js": "^4.2.1"}}
这个依赖本身是个陷阱:当npm安装它时,会自动触发 postinstall 钩子执行 setup.js ,进而从 sfrclak[ . ]com 下载平台特定的远控木马(RAT)
同一时刻,太平洋对岸。
Anthropic的内部告警系统可能也在闪烁。Claude Code的源码已经在外网流传。因为npm包里多留了一个.map文件,攻击者把整个代码库完整地拆解出来,包括那些标注着Mythos、Capybara、Fennec、Numbat的路线图。
任何人npm install @anthropic-ai/claude-code@2.1.88 ,解压 .map 文件后,就能还原出完整 TypeScript 源码。
3月31日3点29分,Axios恶意版本在npm上存活了大约三个小时后被下架。但伤害已经造成。

图源丨Endor Labs
Axios恶意版本传播时间线
3月31日全天。
全球开发者开始收到两则信息:
-
“紧急:Axios正在遭受活跃的供应链攻击”
-
“震惊:Claude Code源码泄露”
二、讽刺的叠加态
如果把两件事放在一起看,
我们会发现一个黑色幽默式的悖论:
Claude Code被泄露,是因为它太“透明”了。
一个59.8MB的.map文件暴露了整个源代码。Anthropic的安全防线在自己最擅长的领域——代码安全上,被一个最简单的配置失误击穿。

图源丨Github
Axios被投毒,是因为它太“信任”了。
npm生态的postinstall钩子默认自动执行,攻击者只需要骗过一个维护者账号,就能感染全球每周8300万次下载。开发者信任Axios,Axios信任它的依赖树,依赖树信任一个前一天才注册的空壳包。

图源丨Endor Labs
一个被偷家,一个被投毒。
偷Claude Code的人,
看到了Anthropic未来18个月的“作战地图”。
投毒Axios的人,让每一个安装Axios的开发者——包括那些在安装Claude Code的开发者——可能在三小时内“裸奔”。
如果有一个开发者在00:21到03:29 之间,恰好执行了npm install -g @anthropic-ai/claude-code,那么他的依赖树里就可能包含了带后门的Axios。
这意味着:Anthropic的代码被偷走的同时,
它的用户可能正在被另一伙人植入木马。
而这,发生在同一天。
三、两种“入侵”的底层逻辑
这两件事看似独立,却指向同一个结论:
现代软件生态的信任链,正在从多个方向同时断裂。
对Anthropic而言,信任链断裂在“发布环节”。
一个.map文件让源码暴露,暴露出的是:即使是AI安全领域最激进的“对齐派”,在自己的交付流水线上,也可能犯下最基础的运维错误。
对npm生态而言,信任链断裂在“依赖环节”。
Axios投毒事件的核心不是复杂的0day漏洞,
而是两个机制:
-
发布权限:一个npm token被盗,就能让全球最流行的HTTP客户端变成木马投递器。
-
自动执行:postinstall钩子让攻击者无需用户执行任何代码,只需“安装”这一个动作,就能完成感染。
Wiz的数据显示,约80%的云和代码环境中存在Axios,其中3%的环境在恶意版本存活期间执行了安装。
3%听起来很小,但考虑到Axios每周8300万的下载量,3%意味着——数百万次潜在的感染机会。

图源丨x@wesbos
四、一个未完成的“闭环”
如果我们把时间轴拉长一点,
会发现一个更耐人寻味的细节:
就在Axios投毒发生的前一周,另一个AI工具链上的关键包——LiteLLM(月下载9700万),刚刚被TeamPCP黑客组织通过被投毒的Trivy扫描器窃取了PyPI发布token,植入了凭证窃取脚本。

图源丨x@karpathy
一周之内,两个AI开发基础设施被攻击。
一周之内,Anthropic的源码被泄露。
攻击者似乎正在系统性地渗透AI开发生态:
-
偷你的代码(Claude Code)
-
毒你的工具链(LiteLLM)
-
毒你的依赖(Axios,而Claude Code也依赖它)
如果黑客们的目标是收集信息、建立持久化据点,那么一个被投毒的Axios,安装在全球数百万开发者的机器上,其中包括那些正在用Claude Code构建下一代AI应用的开发者——这意味着什么?
攻击者可能同时拿到了Anthropic的“作战地图”和它的“前线阵地”。
五、愚人节没有玩笑
3月31日之后是4月1日——愚人节。
Axios的恶意版本在3月31日凌晨被下架。
Claude Code的泄露消息在3月31日全天发酵。
到了4月1日,全球科技媒体开始报道这两件事,但标题里可能带着“愚人节”的标签——因为实在太像假新闻了。甚至有媒体顺势仿照Athropic写出Claude code 完全开源的虚假信息。

图源丨小红书
但其实,无论是Claude code 源码泄露还是Axios工具链投毒,一切都是真的。
真的有一个.map文件
让Anthropic的战略规划赤裸地暴露在互联网上。
真的有人在同一天,
一边偷走AI公司的未来,一边给整个开发生态下毒。
如果这是一个剧本,编剧大概会被批评“太刻意了”。
但现实不需要逻辑——
它只需要你打开一个终端,敲下npm install。
写在最后
Axios的恶意版本已经被下架,Claude Code的泄露代码也已被韩国开发者Sigrid Jin 充分学习,用Python写成了开源的Claw Code。但这两件事留下的问题不会消失:
当一个公司的“作战地图”被摊在桌上,同时它的“补给线”被投毒——它还能守住什么?
2026年3月31日,没有枪声,没有爆炸。
只有几行被改写的package.json,
和一个多余的.map文件。
但这一天,软件世界的信任地基,又多了一条裂缝。
END
往期文章
文|筱陆
校对|左右 老曹
缔零科技|AI时代用户的安全执行顾问
加入群聊
⬇探讨更多前沿资讯和头脑风暴⬇

夜雨聆风