文章总结: 知名JavaScript库Axios遭遇严重供应链攻击,攻击者发布了恶意版本[email protected]和[email protected],通过隐藏依赖植入跨平台远程访问木马(RAT)。文章提供了详细的排查方法与修复方案,包括检查依赖版本、删除恶意脚本,并建议降级至安全版本、锁定依赖、轮换敏感凭证及加强长期防护措施,以规避此类风险。 综合评分: 85 文章分类: 供应链安全,应急响应,恶意软件,网络安全,应用安全
紧急预警!Axios 遭供应链攻击,恶意版本植入跨平台 RAT,手把手教你排查修复
原创
洞悉安全团队 洞悉安全团队
洞悉安全团队
2026年3月31日 13:38 浙江
近日,知名 JavaScript HTTP 客户端库 Axios 曝出严重供应链攻击事件,攻击者劫持核心维护者的 npm 账户,发布了 [email protected] 和 [email protected] 两个恶意版本,通过注入隐藏依赖 [email protected] 投放跨平台远程访问木马(RAT),波及 macOS、Windows、Linux 全系统,且恶意程序会自我清理销毁证据,隐蔽性极强。
Axios 每周 npm 下载量超 3 亿次,广泛应用于 Node.js 和浏览器应用,此次攻击覆盖其 1.x 和 0.x 两大版本分支,一旦安装恶意版本,系统极有可能被完全攻破,敏感凭证、数据面临泄露风险。本文将重点梳理 漏洞排查方法 ,并附上完整修复方案,建议所有使用 Axios 的开发者和团队立即自查!
PART 01
核心风险点
恶意版本并非在 Axios 源码中植入病毒,而是通过添加 无实际业务调用的隐藏依赖 [email protected] 触发攻击:该依赖的 postinstall 会自动执行恶意脚本,连接攻击者的指挥控制服务器(C2),下载对应系统的 RAT 程序,执行后还会删除恶意脚本、替换干净的配置文件,常规检查难以发现痕迹。
PART 02
已确认恶意包信息
-
[email protected]
-
[email protected]
-
[email protected]
PART 03
紧急排查:三步确认是否中招
第一步:检查项目中是否安装了 Axios 恶意版本
适用于所有使用 Axios 的项目,通过命令行快速验证, 任意命令检测到结果即表示受影响 :
- 检查项目依赖的 Axios 版本
npm list axios 2>/dev/null | grep -E “1.14.1|0.30.4”
- 从 package-lock.json 中验证版本
grep -A1 ‘”axios”‘ package-lock.json | grep -E “1.14.1|0.30.4”
第二步:检查是否存在恶意隐藏依赖
plain-crypto-js 并非 Axios 的合法依赖, 该目录存在即表示恶意脚本已执行 (即使其中的 package.json 是干净的,也为恶意程序自我清理后的结果):
ls node_modules/plain-crypto-js 2>/dev/null && echo “POTENTIALLY AFFECTED”
第三步:检查系统中是否存在 RAT 木马残留文件
恶意程序会在对应系统留下持久化 / 临时文件,不同系统执行以下命令检测, 检测到文件即表示系统已被攻破 :
- ✅ macOS 系统
ls -la /Library/Caches/com.apple.act.mond 2>/dev/null && echo “COMPROMISED”
- ✅ Linux 系统
ls -la /tmp/ld.py 2>/dev/null && echo “COMPROMISED”
- ✅ Windows 系统(打开 cmd.exe 执行)
dir “%PROGRAMDATA%\wt.exe” 2>nul && echo COMPROMISED
PART 04
额外排查:CI/CD 流水线溯源
若你的项目使用 CI/CD(如 GitHub Actions、GitLab CI 等)自动构建, 需检查流水线日志 ,确认是否有执行 npm install拉取过上述恶意版本。只要流水线安装过,该运行环境即视为被攻破,需立即处理。
PART 05
全网修复:发现漏洞后立即执行这些操作
若上述排查发现任意异常, 请按以下步骤优先修复 ,最大程度降低损失,步骤不可跳过!
降级 Axios 至安全版本并锁定,防止二次引入
根据项目使用的 Axios 分支,执行对应降级命令, 并在配置文件中添加锁定规则 ,避免依赖解析时再次拉取恶意版本:
1.x 分支用户(降级至 1.14.0)
npm install [email protected]
```
0.x 分支用户(降级至 0.30.3)`
npm install [email protected]
配置文件锁定(package.json 中添加)
{“dependencies”: { “axios”: “1.14.0” }, // 0.x分支替换为0.30.3″overrides”: { “axios”: “1.14.0” },”resolutions”: { “axios”: “1.14.0” }} ““
彻底删除恶意依赖
立即删除 plain-crypto-js 依赖,并通过 --ignore-scripts重新安装,防止其他恶意包的 执行:
rm -rf node_modules/plain-crypto-jsnpm install –ignore-scripts
系统被攻破?立即重建,切勿原地清理
若排查发现系统中存在 RAT 木马残留文件(第三步排查结果为 COMPROMISED), 请将该系统视为完全被攻破 :
-
不要尝试手动删除木马文件,无法彻底清除;
-
立即停止使用该系统,从 可信的干净镜像 / 备份 重建系统环境;
-
重建后切勿复用原系统的任何配置文件、缓存文件。
全量轮换敏感凭证,防止信息泄露
只要恶意版本在系统 / 流水线中执行过, 所有敏感凭证都存在泄露风险 ,需立即轮换以下所有内容:
-
npm 访问令牌、Git 仓库密钥、SSH 私钥;
-
云服务凭证(AWS、GCP、Azure 等)、服务器登录密码;
-
CI/CD 流水线中的所有密钥、环境变量(.env 文件);
-
数据库、消息队列等中间件的访问凭证。
拦截攻击者 C2 服务器,阻断通信
在网络层 / 域名层屏蔽攻击者的指挥控制服务器,防止其继续向系统下发指令,不同系统执行对应操作:
- Linux 防火墙拦截 IP
iptables -A OUTPUT -d 142.11.206.73 -j DROP
- macOS/Linux 修改 hosts 屏蔽域名
echo “0.0.0.0 sfrclak.com” >> /etc/hosts
CI/CD 流水线长期防护
将作为 CI/CD 流水线的固定安装策略,防止后续供应链攻击通过 postinstall 执行恶意脚本:
npm ci –ignore-scripts
PART 06
长期防护:避免再次遭遇供应链攻击
此次 Axios 攻击是针对 npm 顶级包的高复杂度供应链攻击,攻击者提前 18 小时布置恶意依赖、劫持官方账户、销毁攻击痕迹,普通开发者难以提前识别。建议从以下方面做好长期防护:
-
依赖版本锁定 :使用 package-lock.json/yarn.lock 锁定所有依赖的版本,禁止自动更新至未验证的版本;
-
新包冷却期 :对新发布的 npm 包设置 3-7 天冷却期,避免立即引入刚发布的包,给安全检测留时间;
-
网络出口限制 :在 CI/CD 流水线和开发环境中,限制 Node.js 进程的出站网络连接,仅允许访问可信域名;
-
持续监控依赖 :使用专业的供应链安全工具(如 StepSecurity),实时监控 npm 包的异常发布,及时发现恶意包;
-
定期审计依赖 :通过
npm``audit、snyk 等工具定期审计项目依赖,清理无实际使用的冗余依赖。
PART 07
总结
此次 Axios 供应链攻击影响范围广、隐蔽性强,安装过 [email protected]/0.30.4 的系统均存在被攻破风险,请所有开发者和团队立即执行排查操作,发现问题后第一时间修复。
供应链攻击已成为开源生态的主要安全威胁,作为开发者,除了及时响应紧急预警,更要建立常态化的依赖安全管理机制,从 “被动修复” 转向 “主动预防”,才能最大程度规避此类风险。
深度剖析 Node.js 环境下的 SSRF 漏洞:从原理挖掘到防御体系构建
实战复盘:严苛 WAF 防护下的 SQL 注入绕过思路与实现
捷报!洞悉安全斩获漏洞盒子全明星擂台赛大魔王擂台区胜利!
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:洞悉安全团队 洞悉安全团队 洞悉安全团队《紧急预警!Axios 遭供应链攻击,恶意版本植入跨平台 RAT,手把手教你排查修复》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论