Axios 被投毒,速查!
Axios 被投毒了
今天npm生态发生了一起相当严重的安全事件,波及范围之广,足以让每一个开发者心头一紧。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
没错,备受信赖的HTTP客户端库Axios,遭到了供应链投毒攻击。中招的是1.14.1和0.30.4这两个版本。要知道,Axios的周下载量超过1亿次,这个量级的包出事,影响几乎是全网覆盖的。
更令人咋舌的是攻击速度:从下手到完成污染,攻击者针对1.x和0.x两条主线,总共用了不到两个小时。
事件经过
这次攻击的手法并非直接硬闯,而是采用了“毒源感染”的策略,显得颇为狡猾。
时间线拉回到3月30日下午。攻击者首先发布了一个看似正常的包:plain-crypto-js@4.2.0。这像是一次常规的投石问路。
真正的转折发生在几小时后。3月31日00:00左右,恶意版本plain-crypto-js@4.2.1被发布出来,这才是那个真正的“毒包”。
接下来,攻击进入了关键阶段:
攻击者已经成功控制了Axios主要维护者jasonsaayman的npm账号。他们不仅修改了账户邮箱为ifstap@proton.me,还将原维护者彻底锁在账号之外。
掌握了发布权限后,攻击者直接使用npm CLI手动发包,绕过了常规的GitHub Actions自动化流程:
- 00:21,发布
axios@1.14.1 - 01:00,发布
axios@0.30.4
这两个被污染的版本中,都被悄无声息地添加了一行依赖声明:plain-crypto-js@4.2.1。
所以,整个攻击链条其实非常清晰:plain-crypto-js作为“毒源”负责提供恶意负载,而被投毒的axios则凭借其巨大的用户基数,成为绝佳的“扩散放大器”。
恶意代码在干嘛
所有核心恶意逻辑都藏在plain-crypto-js@4.2.1这个包里。
当这个包被安装时,会触发postinstall脚本。该脚本会执行一段经过混淆的代码,其首要任务是连接到一个名为C2(命令与控制)的服务器——地址是sfrclak.com:8000,并从中下载第二阶段的攻击载荷。
接着,恶意代码会根据操作系统类型,投递不同的远程访问工具(RAT):
- macOS:接收一个伪装的二进制文件。
- Windows:执行一段隐藏的PowerShell脚本。
- Linux:在
/tmp目录下释放一个Python脚本。
执行完毕后,攻击载荷还会进行“自毁”,清除运行痕迹。这意味着,如果你事后去检查node_modules目录,很可能看不出任何异常。识别此类攻击最可靠的依据,往往是锁定文件(lockfile)。
影响范围
只要你在3月31日这个特定的时间窗口内,执行过npm install安装或更新依赖,你的系统就存在中招的风险。
这种风险不仅限于开发者的本地机器,同样波及持续集成(CI)环境和生产服务器。供应链攻击的可怕之处正在于此——它沿着依赖链条无差别蔓延。
还需要注意的是,即使npm官方事后删除了这些恶意包,如果你的项目锁文件(如package-lock.json或yarn.lock)已经锁定了这两个受污染的版本,威胁依然存在。
怎么处理
首先,立刻检查你的项目是否正在使用Axios的1.14.1或0.30.4版本。
如果不幸命中,建议的处理方式不是简单升级,而是彻底清理:删除整个node_modules目录和锁文件(lockfile),然后重新安装依赖。同时,务必在package.json中将Axios显式固定到一个已知的安全版本。
如果怀疑机器可能已经执行了恶意代码,那么这就需要按照正式的安全事件来响应了:立即隔离受影响系统、更换所有相关的访问凭证(如API密钥、密码),并进行全面的磁盘扫描与安全检查。
相关攻略
早些时候,聊过 Python 领域那场惊心动魄的供应链攻击 当时就有人感叹,虽然 Ja vaScript 生态的开发者们对这类攻击套路早已不陌生,但亲眼见到如此规模的“投毒”事件,还是头一遭。 然而,属于前端世界的至暗时刻,终究还是卷土重来了。 并且,这一次对手的手段,远比以往更加隐蔽、更加狠辣。这
Axios 被投毒了 今天npm生态发生了一起相当严重的安全事件,波及范围之广,足以让每一个开发者心头一紧。 没错,备受信赖的HTTP客户端库Axios,遭到了供应链投毒攻击。中招的是1 14 1和0 30 4这两个版本。要知道,Axios的周下载量超过1亿次,这个量级的包出事,影响几乎是全网覆盖的
Axios 惊现恶意版本:一场针对前端生态的精准供应链攻击 2026年3月30日,一场针对前端生态的“地震”发生了。作为每周下载量超亿次、最为主流的HTTP客户端库,Axios被曝出在npm官方仓库中植入了两个恶意版本:axios@1 14 1 和 axios@0 30 4。这可不是普通的安全漏洞,
早些时候,聊过 Python 领域那场惊心动魄的供应链攻击。当时我就感叹,虽然我们 JavaScript 开发者对这类套路烂熟于心,但亲眼目睹这种规模的“投毒”还是头一次。 早些时候,聊过 Pyth
轻量级 HTTP 请求库,支持声明式处理复杂请求,兼容 axios fetch XHR 适配器,可无缝集成各类前端项目。 前端 HTTP 请求库新选择,轻量化+高性能,对标 Axios 核心竞争力。
热门专题
热门推荐
集线器插电源必须严格遵循“先断电、再接线、后上电”的安全闭环流程 这可不是什么多余的步骤,而是电气工程领域的硬性规定。其依据清清楚楚地写在IEEE 802 3以太网标准和各大主流设备厂商的技术文档里。具体来说,如果给集线器带电插拔RJ45网线,虽然不一定立刻“冒烟”,但极有可能冲击到PHY芯片,造成
拓扑排序失败是算法实现中常见的问题。代码逻辑看似正确,但运行时可能陷入停滞或输出序列不完整,无法得到有效的拓扑顺序。这通常是由于图中存在环路依赖,导致算法无法找到入度为零的起始节点,从而使整个排序流程中断。 具体是哪些环节容易导致拓扑排序失败呢?我们来逐一分析排查。 为什么拓扑排序失败?先检查入度数
旧金山的秋天,向来是科技行业思潮涌动的季节。而今年10月13日至15日,这座城市将再次成为全球创新者的焦点——比特币世界碘伏大会2026即将在莫斯科尼西馆拉开帷幕。这场盛会不仅是前沿技术的风向标,更是连接顶尖创始人、投资者与科技领袖的关键网络节点。 大会亮点和主题 作为年度科技盛事,比特币世界碘伏大
想在 Sublime Text 4 里用上 Sync Settings 同步你的配置?这事儿能成,但得先跨过两道坎:插件版本得是 v3 0 或更高,同时你的 ST4 内核也得是比较新的版本。好消息是,2026 年主流发行版基本都达标了。很多朋友遇到的“装不上”、“菜单不出现”、“点了没反应”,十有八
SATA硬盘连接主板:接口顺序真有讲究吗? 给主板接SATA硬盘,这事儿本身其实挺自由的。从物理层面看,只要接口对得上,线也插稳了,你随机找个孔插进去,电脑基本都能认出来。不过话说回来,如果你想追求更高的开机效率、更清晰的维护思路,那在接口选择上还真得花点小心思。一个核心建议是:把安装操作系统的那块





