两种流行的恶意版本
axios
HTTP 客户端库在 2026 年 3 月 30 日至 31 日期间发布到 npm,原因是攻击者入侵了维护者的帐户。受影响的版本如下:
axios@1.14.1
和
axios@0.30.4
在 macOS、Windows 和 Linux 等操作系统上的开发者机器上安装了远程访问木马 (RAT)。
Axios 是使用最广泛的 JavaScript HTTP 客户端之一,也是使用 Vite、Inertia 或任何基于 Node 的构建管道的 Laravel 项目中常见的依赖项。
发生了什么
根据
StepSecurity博客文章
攻击者劫持了 axios 主要维护者的 npm 帐户(
jasonsaayman
他们将注册邮箱更改为 Proton Mail 地址。利用此权限,他们发布了两个新版本,每个版本都添加了一个虚假的依赖项:
plain-crypto-js@4.2.1
。
那个包裹伪装成合法的
crypto-js
但包含一个混淆的库
postinstall
脚本 (
setup.js
它充当跨平台远程访问木马(RAT)投放器。axios 本身唯一修改的文件是
package.json
85 多个源文件中的所有其他文件都与干净版本完全相同。
攻击是如何进行的
攻击者从未修改过 Axios 的源代码。相反,两个发布分支都只增加了一个新的依赖项: plain-crypto-js@4.2.1 代码库的任何部分都没有导入它。该软件包存在的唯一目的是运行一个安装后脚本,该脚本会将一个跨平台远程控制木马(RAT)部署到开发者的机器上。
攻击计划非常精准。在 axios 正式发布前 18 小时,攻击者使用一个独立的 npm 账户发布了 plain-crypto-js 的纯净版本,以建立发布历史记录并规避新包扫描器的警报。随后,恶意程序 4.2.1 版本发布。两个发布分支在 39 分钟内相继被攻击。攻击者预先构建了三个平台特定的有效载荷。该恶意软件在执行后会清除自身,并替换为一个干净的 package.json 文件,以阻碍取证检查。
StepSecurity 与 Socket 一起发现了此次入侵事件,并称其为有史以来针对排名前 10 的 npm 包发起的最复杂的供应链攻击之一。
这会如何影响 Laravel
这不是 Laravel 的漏洞,而是 宣布 他们正在采取积极措施保护社区免受此次供应链攻击,并告知民众:
如果您在过去 24 小时内安装或更新了 axios,请扫描您的计算机。
以下是 Laravel 所做的:
- 在 Laravel/Laravel 中将 axios 固定到安全版本
- laravel/installer 现在默认使用 `--ignore-scripts` 参数运行包安装。
- 已在 Laravel Cloud 上屏蔽攻击者的域名
Pushpak 还分享了 迅速的 您可以使用它来扫描本地计算机,检查是否存在任何易受攻击的安装。
你应该怎么做
如果您已安装
axios@1.14.1
或者
axios@0.30.4
在它们可用期间,对任何运行过的机器进行处理
npm install
已被入侵。StepSecurity建议:
- 移除有毒包裹并将其固定到安全版本上(
axios@1.14.0或者0.30.3) - 检查上述文件路径中是否存在 RAT 痕迹。
- 轮换受影响计算机上的所有凭据和令牌
- 重新格式化受损系统





