Axios供应链投毒事件响应:腾讯云已完成主动排查与风险防护升级

admin 2026-04-02 03:58:34 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 2026年3月31日Axios组件遭遇供应链投毒攻击,1.14.1和0.30.4版本被植入恶意依赖plain-crypto-js,该依赖会在安装时从C2服务器下载执行恶意脚本实现远程控制。攻击通过入侵维护者NPM账号实施,影响范围广泛。腾讯云已更新检测规则并提供排查方法:通过命令检测受影响版本和恶意文件,建议立即降级到安全版本1.14.0/0.30.3,清理依赖和缓存,删除已落地恶意载荷。 综合评分: 85 文章分类: 供应链安全,漏洞预警,应急响应,安全工具,解决方案


cover_image

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] 及后续版本

排查方法

  1. 恶意版本/依赖检测:

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”

  1. 恶意载荷落地检测:

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”

  1. 可直接使用腾讯云安全中心的AI Agent安全、腾讯云主机安全的漏洞管理等模块进行快速精准排查。

修复建议

  1. 降级 axios 到安全版本(立即执行)

卸载恶意版本

npm uninstall axios

安装安全版本(1.14.0 或 0.30.3)

npm install [email protected]

全局修复:

npm uninstall -g axios

npm install -g [email protected]

  1. 清理恶意依赖

删除 plain-crypto-js

rm -rf node_modules/plain-crypto-js

清理 npm 缓存

npm cache clean –force

重新安装(–ignore-scripts 阻止 postinstall 脚本执行)

npm ci –ignore-scripts

  1. 清除已落地的恶意载荷

(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 供应链投毒事件响应:腾讯云已完成主动排查与风险防护升级》

评论:0   参与:  0