3月31日,星期二。
我本来以为,这天就是个普通的星期二。
结果早上起来一看——AI编程圈,同一天爆了两件事。
一个是OpenClaw中毒,一个是Claude源代码泄露。
两件事看着不相关,但底层逻辑是同一个:你的开发环境,远没有你以为的那么安全。
Axios被投毒
先说OpenClaw中毒这件事。
你在指定的时间里(见下文事件时间线)可能装了新版OpenClaw,或者跑过npm install——然后你的机器就被装了远控木马。 —— 出事的是Axios。
一个36亿次年下载量的JavaScript HTTP库,它是JavaScript 生态里最核心的,没有之一。

事件回顾
3月30日深夜,攻击者注册了恶意域名sfrclak.com,用盗来的npm维护者账号,手动发布了axios@1.14.1和axios@0.30.4。
过程是这样的:
postinstall触发 -->> setup.js运行 -->> 检测你的操作系统 -->> 从攻击者服务器拉取对应平台的payload
4小时窗口期:npm官方4小时后才下架了恶意版本。听起来很快,对吧?
但4小时,够一个训练有素的攻击者做很多事了。
Axios 投毒事件时间线(北京时间)3月30日 23:59:12:攻击者发布恶意依赖包plain-crypto-js@4.2.1,该包为真正的恶意载荷,通过postinstall脚本执行远程控制代码 。3月31日 00:00 左右:攻击者利用被盗的 Axios 核心维护者账号(jasonsaayman),绕过 CI/CD 流程,手动发布被污染的 Axios 版本:axios@1.14.1、axios@0.30.4这两个版本在 GitHub 仓库中无对应记录,属“幽灵发布”。3月31日 00:05:41:自动化安全工具 Socket.dev 检测到异常包 plain-crypto-js@4.2.1 并发出告警 。3月31日 04:00:00:npm 官方下架恶意包 plain-crypto-js、axios@1.14.1 和 axios@0.30.4,终止进一步传播
更让人不安的是:这次被攻破的是npm。npm。
它是JavaScript生态的命脉。结果只需要盗一个账号,就能向数亿开发者的机器植入木马。
不需要0day漏洞。不需要复杂的社会工程学。
只需要一个密码,和人们对Axios这个词无条件信任。
任何npm包的postinstall,都可以是你机器被入侵的入口。
你以为你装的是axios。其实你装的是一个进门电梯。
Claude源代码泄露
就在同一天,Claude的源代码被人扒出来放到了网上。
具体细节还在核实,但消息一出,圈子里瞬间炸了。

美国大模型头部公司Anthropic因构建配置失误,意外通过npm注册表中的源映射文件泄露了Claude Code(编程工具)源代码。据披露,Claude Code npm 软件包包含一个57MB的源码映射文件,该文件泄露了约1900个TypeScript源码文件,代码总行数超过51.2万行,涵盖完整代码库、工具、命令以及尚未发布的功能。Anthropic核心基座模型依然完全闭源,未受影响。
同一天发生两起安全事故,种种迹象表明,AI公司的代码资产,正在成为新的攻击目标。
你们AI公司的代码有多值钱,黑客心里最清楚。
训练数据、模型权重、Prompt模板、CoT推理链……这些东西一旦泄露,不只是商业损失那么简单。
攻击者拿到Claude的代码,可以干什么?
研究模型能力边界。分析安全护栏的实现方式。甚至可能发现还没修的漏洞。
每一行泄露的代码,都是下一步攻击的原料。
OpenClaw中毒,是供应链攻击。
Claude泄露,是内部人员/第三方管控失败。
表面上看是两回事。但它们都指向同一个问题:
AI时代的攻击面,已经从「你能看到的入口」,扩大到了「你根本不知道存在的供应链」。
你小心你的服务器,没用。
你要小心你装的每一个npm包,你用的每一个AI工具背后的公司。
这些链条上的任何一个节点破了,你的环境都不再安全。
自检自查
下面你到自己的OpenClaw服务器上赶紧检查一下,确保没有中招:
第一,检查你的node_modules里有没有axios@1.14.1或@0.30.4。有的话,立刻回退到安全版本(1.13.6及以下是安全的)。
# 1. 检查恶意域名反连grep -r "sfrclak.com\|callnrwise.com" /var/log/ 2>/dev/null# 2. 检查恶意axios版本find /root -path "*/node_modules/axios/package.json" | xargs grep '"version": "1.14.1"\|"version": "0.30.4"'# 3. 检查恶意包是否存在find . -path "*/node_modules/plain-crypto-js" -type d 2>/dev/null# 4. 检查可疑网络连接ss -tnp | grep -E "142\.11\.196|142\.11\.199"
运行结果:
第二,封禁已知恶意域名和IP:
sfrclak.comcallnrwise.com142.11.196.73142.11.199.73
第三,重新审视你的postinstall策略。能不用就不要用,必须用的包要锁定版本。
可以让OpenClaw小龙虾自己检查:

最后,别觉得这些事离你很远。
你觉得你是安全的,有时候只是没人来打你。
请关注,多多交流:
![]() | ![]() |
夜雨聆风
