乐于分享
好东西不私藏

愚人节的“玩笑”:当恶意代码撞上源码泄露

愚人节的“玩笑”:当恶意代码撞上源码泄露

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

往期文章

Sora关停,生物AI“韧性”……Open AI 在搞“剪刀差”

文|筱陆

校对|左右 老曹

缔零科技|AI时代用户的安全执行顾问

加入群聊

⬇探讨更多前沿资讯和头脑风暴