文章总结: 2026年3月31日Axios组件遭遇供应链投毒攻击,1.14.1和0.30.4版本被植入恶意依赖plain-crypto-js,该依赖会在安装时从C2服务器下载执行恶意脚本实现远程控制。攻击通过入侵维护者NPM账号实施,影响范围广泛。腾讯云已更新检测规则并提供排查方法:通过命令检测受影响版本和恶意文件,建议立即降级到安全版本1.14.0/0.30.3,清理依赖和缓存,删除已落地恶意载荷。 综合评分: 85 文章分类: 供应链安全,漏洞预警,应急响应,安全工具,解决方案
Axios 供应链投毒事件响应:腾讯云已完成主动排查与风险防护升级
原创
腾讯云安全 腾讯云安全
云鼎实验室
2026年4月1日 11:36 广东
事件概述
2026 年 3 月 31 日,JavaScript 生态中使用最广泛的 HTTP 客户端组件之一 axios 遭遇严重供应链投毒,其 1.14.1 和 0.30.4 版本被植入恶意代码。攻击者通过入侵 axios 维护者的 NPM 账号(jasonsaayman),在官方发布的版本中引入了恶意依赖组件 plain-crypto-js,该组件是知名加密库 crypto-js 的仿冒包(typosquatting)。攻击采用两阶段策略:先于 3 月 30 日发布无害的 [email protected] 建立可信记录,再于 31 日发布携带恶意载荷的 4.2.1 版本,随后利用被入侵账号先后发布 axios 的两个投毒版本,实现对 1.x 和 0.x 两大版本线用户的最大范围覆盖。当开发者安装受污染的 axios 时,plain-crypto-js 的 postinstall 钩子会自动从 C2 服务器下载对应平台(Windows/macOS/Linux)的恶意脚本,写入系统临时目录并静默执行,实现远程后门控制。axios 周下载量约1亿次,被数十万个项目直接或间接依赖,此次事件波及范围极为广泛,属于供应链投毒事件。
技术分析
axios 是一个基于 Promise 的 HTTP 客户端,支持浏览器和 Node.js 环境,提供了简洁的 API 用于发送 GET、POST 等请求,并支持拦截请求和响应、转换请求和响应数据、自动转换 JSON 数据、取消请求以及客户端防御 XSRF 等功能。它凭借开箱即用的特性和良好的跨平台兼容性,成为 JavaScript 生态中下载量最高的开源组件之一。
在 axios 组件 1.14.1 及 0.30.4 版本中,攻击者通过篡改 package.json 文件,在 dependencies 字段中植入了恶意依赖 “plain-crypto-js”: “^4.2.1″。当开发者通过 npm install 安装受污染的 axios 版本时,NPM 会自动拉取并安装 [email protected]。该恶意包的 package.json 中定义了 postinstall 钩子:”postinstall”: “node setup.js”,意味着包安装完成后会立即执行同目录下的 setup.js 脚本。
setup.js 经过高度混淆,解码后针对不同操作系统执行差异化攻击逻辑,所有载荷均从同一 C2 服务器下载(http://sfrclak[.]com:8000/6202033):
- macOS:通过 do shell script 执行 curl 下载恶意文件至 /Library/Caches/com.apple.act.mond,添加执行权限后使用 zsh 在后台运行;
- Windows:通过 cmd.exe 调用 curl 下载 PowerShell 脚本至临时目录,以隐藏窗口绕过执行策略运行 powershell,随后自删除临时文件;
- Linux:通过 curl 下载 Python 脚本至 /tmp/ld.py,使用 nohup 在后台静默执行,并将输出重定向至 /dev/null。
恶意载荷执行后会与 C2 服务器建立通信,接收攻击者下发的远程指令,实现远程控制能力,并可能进一步导致凭证窃取、持久化驻留及横向移动等后续攻击风险。攻击完成后,下载的恶意脚本会自删除以隐藏痕迹。此外,攻击者在发布恶意 axios 版本前约 24 小时,先发布了无风险的 [email protected] 诱饵包,该版本完整复刻了合法 crypto-js 源码,未包含 postinstall 钩子,其唯一作用是在 NPM 上建立发布记录,避免该包在后续安全核查中显示为零发布记录的账号产物,从而绕过部分自动化安全检测机制。
注:在恶意版本暴露窗口内(约 3 小时)执行过安装、更新或构建流程,并解析到 axios 1.14.1 或 0.30.4 的直接或间接依赖项目,均应视为存在受影响风险。axios 作为 JavaScript 生态的“基础设施级”组件,被大量前端项目、Node.js 后端服务、构建工具及 CLI 工具广泛依赖,开发者应立即排查并回滚至安全版本。
影响版本
axios (npm) == 0.30.4
axios (npm) == 1.14.1
plain-crypto-js (npm) == 4.2.1
安全版本
[email protected] 及以下历史稳定版本 [email protected]
[email protected] 及后续版本 [email protected] 及后续版本
排查方法
- 恶意版本/依赖检测:
npm list axios 2>/dev/null | grep -E “1.14.1|0.30.4” && echo “AFFECTED”
npm list -g axios 2>/dev/null | grep -E “1.14.1|0.30.4” && echo “AFFECTED”
grep -A1 ‘”axios”‘ package-lock.json | grep -E “1.14.1|0.30.4” && echo “AFFECTED”
ls node_modules/plain-crypto-js 2>/dev/null && echo “AFFECTED”
- 恶意载荷落地检测:
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
dir “%PROGRAMDATA%\wt.exe” 2>nul && echo “COMPROMISED”
- 可直接使用腾讯云安全中心的AI Agent安全、腾讯云主机安全的漏洞管理等模块进行快速精准排查。
修复建议
- 降级 axios 到安全版本(立即执行)
卸载恶意版本
npm uninstall axios
安装安全版本(1.14.0 或 0.30.3)
npm install [email protected]
全局修复:
npm uninstall -g axios
npm install -g [email protected]
- 清理恶意依赖
删除 plain-crypto-js
rm -rf node_modules/plain-crypto-js
清理 npm 缓存
npm cache clean –force
重新安装(–ignore-scripts 阻止 postinstall 脚本执行)
npm ci –ignore-scripts
- 清除已落地的恶意载荷
(1) Linux:
删除恶意脚本
rm -f /tmp/ld.py
检查是否有其他持久化痕迹
grep -r “sfrclak.com” /etc/cron* 2>/dev/null
grep -r “sfrclak.com” ~/.bashrc ~/.zshrc 2>/dev/null
(2) macOS:
删除恶意文件
rm -f /Library/Caches/com.apple.act.mond
检查启动项
launchctl list | grep -i com.apple.act
(3) Windows(以管理员身份运行 PowerShell):
删除恶意文件
Remove-Item “$env:PROGRAMDATA\wt.exe” -Force -ErrorAction SilentlyContinue
检查计划任务
Get-ScheduledTask | Where-Object {$_.TaskName -like “*wt*”} | Unregister-ScheduledTask -Confirm:$false
腾讯云安全响应
腾讯云主机安全与云防火墙已于事件公开后第一时间完成检测规则、IOC 与恶意域名拦截策略更新,支持客户对受影响资产进行快速定位、风险处置及持续防护。
1. 腾讯云主机安全已支持Axios供应链投毒威胁的事前脆弱性风险检测、事后恶意请求自动拦截:
-
事前检测:
主机安全漏洞管理>应急漏洞模块,支持一键扫描云上主机中安装的 Axios 组件版本,识别存在供应链投毒风险的脆弱性版本,并输出受影响资产清单与修复建议。
-
事后拦截:
当受感染的Axios组件向恶意 C2 服务器(sfrclak.com)发起请求时,主机安全将实时告警及自动拦截恶意请求,阻断数据窃取或远程控制指令下发,有效遏制实际危害。
2. 腾讯云防火墙已支持对Axios供应链投毒威胁的事后恶意请求自动拦截:
-
事后拦截:
当被植入恶意代码的 Axios 组件向 C2 服务器(sfrclak.com)发起通信时,云防火墙可实时监控并识别其 DNS 解析请求。一旦检测到该恶意域名,将立即阻断其解析,从而切断攻击链路,有效阻止后续恶意指令的下发、敏感数据外泄等高风险行为。
END
更多精彩内容点击下方扫码关注哦~
关注云鼎实验室,获取更多安全情报
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:云鼎实验室 腾讯云安全 腾讯云安全《Axios 供应链投毒事件响应:腾讯云已完成主动排查与风险防护升级》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论