网易首页 > 网易号 > 正文 申请入驻

Axios 2小时53分钟惊魂:100亿次日下载的库被插了"幽灵

0
分享至


3月31日凌晨,全球JavaScript开发者经历了一场集体冷汗。axios——这个每周下载量超过1亿次的HTTP请求库——被攻陷了。攻击窗口只有2小时53分钟,但足以让任何在此期间执行npm install的人,系统里多出一个远程控制木马。

这不是源代码被篡改的传统剧本。攻击者玩了一手更阴的:axios的代码本身干干净净,恶意逻辑藏在一个新增的"幽灵依赖"里。安全公司StepSecurity的分析师事后感叹:「axios本身零行恶意代码——这正是这次攻击最危险的地方。」

供应链攻击的"信任套利"

现代软件工程建立在层层外包的信任之上。你的项目依赖A库,A库依赖B库,B库又依赖C库——这条链条可以延伸十几层,而你对底层代码的审查接近于零。攻击者深谙此道:与其硬闯你家大门,不如在快递包裹里塞东西。

这次axios事件就是教科书级的"信任套利"。攻击者没有碰axios的核心代码,只在package.json里加了一行:plain-crypto-js@4.2.1。这个包名看起来人畜无害,甚至蹭了知名库crypto-js的命名风格。但当开发者运行安装命令时,它的postinstall钩子(安装后自动执行的脚本)悄然部署了一个跨平台远程访问木马(RAT)。

你的系统信任npm,npm信任axios的发布账号,axios的发布账号这次信任了一个来路不明的依赖——信任链条的末端,恶意代码获得了执行权限。

这种攻击模式的可怕之处在于检测难度。传统的代码审计工具扫描axios仓库,结果是一切正常。安全扫描器检查依赖列表,plain-crypto-js这个名字不会触发任何已知漏洞告警。直到StepSecurity的人工分析发现异常, poisoned版本已经在线2小时53分钟。


2小时53分钟,足够发生什么

攻击时间线精确到分钟:3月31日00:21 UTC,攻击者控制了axios主要维护者jasonsaayman的npm账号,修改注册邮箱为ProtonMail地址,发布axios@1.14.1和axios@0.30.4。03:15 UTC,StepSecurity发出警报,npm紧急下架这两个版本。

窗口期不到3小时,但考虑到axios的周下载量,潜在暴露范围极其可观。更麻烦的是CI/CD系统的自动化特性——许多公司的构建管道会在凌晨自动拉取最新依赖,运行测试,部署到预发布环境。攻击窗口恰好覆盖了这个自动化高峰。

攻击者的命令控制服务器(C2)指向sfrclak.com。目前尚不清楚有多少系统实际建立了连接,但安全建议毫不含糊:如果你在窗口期内安装过axios,假设你的系统已被完全控制。

这次账号接管的具体手法尚未完全公开。axios的合法发布通常使用OIDC可信发布者(Trusted Publishers)机制,与GitHub Actions绑定,无需人工输入npm token。但axios@1.14.1的发布记录显示,这次推送使用了手动token——攻击者要么窃取了维护者的npm凭证,要么绕过了OIDC流程。

依赖树的"黑暗森林"

开发者面对的现实是:你直接控制的代码可能只占项目的5%,其余95%是第三方依赖。而这些依赖又有自己的依赖,形成一棵深不见底的树。npm的依赖解析机制会扁平化处理,但安装脚本(postinstallpreinstall)会在下载时立即执行,此时依赖树还没完全解析完毕。


这意味着恶意代码可以在你还没看清完整依赖图谱之前,就已经运行完毕。

axios事件暴露了一个长期被忽视的盲区:我们对"直接依赖"的审查已经流于形式,对"间接依赖"更是近乎放弃。攻击者不需要让自己成为热门库,只需要让自己成为热门库的依赖——或者像这次一样,让热门库"临时收养"自己。

StepSecurity的检测之所以有效,是因为他们监控了npm包的元数据变化:版本号跳跃、维护者邮箱变更、发布机制切换。这些信号比代码本身更早暴露异常。但对于没有部署类似监控的个人开发者和小团队,发现攻击的唯一方式可能是系统已经出现异常行为。

防御的困境与可能的出路

供应链攻击的防御是个成本不对称的博弈。攻击者只需要找到一个薄弱环节,防御者需要加固整条链条。目前业界探索的方向包括:锁定依赖版本(lockfile)、签名验证、可复现构建、运行时沙箱——但每种方案都有覆盖盲区或实施成本。

axios团队事后启用了npm的双重认证,并审查了发布流程。但更大的问题依然存在:当开源维护者的个人账号成为单点故障,整个生态的安全边界在哪里?

这次攻击的C2域名sfrclak.com注册于攻击前数天,目前已被多家安全机构标记。但攻击者显然准备了备用方案——如果这次没有被快速发现,plain-crypto-js可能会以不同版本号、不同包名再次出现。

对于读到这里的开发者,最直接的行动是检查你的lockfile:如果axios版本锁定在1.14.1或0.30.4,立即降级并轮换所有可能暴露的密钥。如果你的CI/CD管道在3月31日凌晨有自动构建记录,那台构建服务器需要被当作已沦陷处理。

但更深的问题或许是:当"零行恶意代码"本身成为攻击特征,我们习以为常的"信任但验证"原则,究竟该验证什么、如何验证?下一次攻击者把窗口期压缩到1小时以内,或者选择周下载量只有百万级、但同样关键的库,现有的检测机制还跟得上吗?

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
马伊琍公布喜讯不到24小时,文章高调求"复合" 姚笛才是笑到最后

马伊琍公布喜讯不到24小时,文章高调求"复合" 姚笛才是笑到最后

小椰的奶奶
2026-04-11 00:25:15
清算开始了!内塔尼亚胡,好日子到头了!

清算开始了!内塔尼亚胡,好日子到头了!

大嘴说天下
2026-04-10 22:07:14
53条中日航线3月取消全部航班

53条中日航线3月取消全部航班

每日经济新闻
2026-04-10 13:01:04
赵子琪回应《乘风2026》被淘汰:我一点都不难过,不会再来;此前孙怡队长对决输给阚清子,赵子琪垫底出局

赵子琪回应《乘风2026》被淘汰:我一点都不难过,不会再来;此前孙怡队长对决输给阚清子,赵子琪垫底出局

鲁中晨报
2026-04-11 09:36:09
央视紧急提醒!手机绑银行卡,这2个设置不开,钱没了都不知道

央视紧急提醒!手机绑银行卡,这2个设置不开,钱没了都不知道

娱乐圈见解说
2026-04-10 09:19:37
标120W的充电器实际功率仅22.5W,商家:120W是产品型号

标120W的充电器实际功率仅22.5W,商家:120W是产品型号

极目新闻
2026-04-11 00:53:31
照顾患癌母亲的24岁女研究生确诊肠癌晚期:已收到爱心捐款10余万元,病情稳定期盼返校

照顾患癌母亲的24岁女研究生确诊肠癌晚期:已收到爱心捐款10余万元,病情稳定期盼返校

红星新闻
2026-04-10 16:55:18
巴基斯坦预警机紧急升空!以色列偷袭计划落空,中方战术果然高

巴基斯坦预警机紧急升空!以色列偷袭计划落空,中方战术果然高

十三级台阶
2026-04-11 09:09:36
1-1!姆巴佩遭点球争议,巴尔韦德难救主,皇马连续3场不胜

1-1!姆巴佩遭点球争议,巴尔韦德难救主,皇马连续3场不胜

我的护球最独特
2026-04-11 05:04:38
如愿以偿!郑丽文终于见到了大陆行最重要的人物!

如愿以偿!郑丽文终于见到了大陆行最重要的人物!

阿龙聊军事
2026-04-10 18:02:00
6月1日起,包工头彻底告别舞台!建筑圈大洗牌,5000万工人迎巨变

6月1日起,包工头彻底告别舞台!建筑圈大洗牌,5000万工人迎巨变

普陀动物世界
2026-04-10 21:35:49
一车牌号带8888的奔驰S450L疑似作为陪葬品下葬,官方通报

一车牌号带8888的奔驰S450L疑似作为陪葬品下葬,官方通报

界面新闻
2026-04-10 16:53:21
白岩松批评全红婵近况曝光,下场大快人心

白岩松批评全红婵近况曝光,下场大快人心

孤芳自赏的小李
2026-04-10 14:01:18
辽宁一车牌号带8888的奔驰S450L疑似作为陪葬品下葬,当地民政局:已了解,正在核实

辽宁一车牌号带8888的奔驰S450L疑似作为陪葬品下葬,当地民政局:已了解,正在核实

台州交通广播
2026-04-10 14:45:26
和刘翔离婚后,她离开上海,和母亲相依为命,如今35岁仍是单身

和刘翔离婚后,她离开上海,和母亲相依为命,如今35岁仍是单身

往史过眼云烟
2026-04-10 15:00:17
命中了!以色列彻底失控了!

命中了!以色列彻底失控了!

财经要参
2026-04-11 05:50:03
又有官二代要坑爹?找茬刁难服务人员,并威胁:你知道我爹是咱们区的谁吗?

又有官二代要坑爹?找茬刁难服务人员,并威胁:你知道我爹是咱们区的谁吗?

小萝卜丝
2026-04-10 18:37:25
时隔35年!广东东莞樟木头上网络平台热搜,真相令人震惊

时隔35年!广东东莞樟木头上网络平台热搜,真相令人震惊

南方健哥
2026-04-10 23:13:49
争议?姆巴佩被打脸+流血!主裁拒判点球 皇马官方:西甲暗箱操作

争议?姆巴佩被打脸+流血!主裁拒判点球 皇马官方:西甲暗箱操作

我爱英超
2026-04-11 06:15:26
曝爱尔眼科医院院长猥亵女经理,强行搂抱,细节曝光,已被停职

曝爱尔眼科医院院长猥亵女经理,强行搂抱,细节曝光,已被停职

180视角
2026-04-10 14:27:07
2026-04-11 12:08:49
码上闲叙
码上闲叙
有态度网友ytd
1589文章数 10关注度
往期回顾 全部

科技要闻

阿尔忒弥斯2号成功溅落,隔热罩惊险过关

头条要闻

"迟重瑞与陈丽华年轻时合影"热传 当事女子:张冠李戴

头条要闻

"迟重瑞与陈丽华年轻时合影"热传 当事女子:张冠李戴

体育要闻

换帅之后,他们从降级区冲到升级区

娱乐要闻

浪姐7淘汰 该走的没走,不该走的走了

财经要闻

从日本翻身看:这次谁能扛住高油价?

汽车要闻

焕新极氪007/007GT上市 限时19.39万起

态度原创

时尚
教育
手机
家居
游戏

推广中奖名单-更新至2026年3月31日推广

教育要闻

电气专业直接就业还是考研?

手机要闻

橙色版OPPO Find X9 Ultra手机渲染图曝光

家居要闻

复古风格 自然简约

《eFootball》下载量突破10亿次 经典大师联赛回归

无障碍浏览 进入关怀版