菜鸟游戏网 - 游戏让生活变快乐! 全站导航 全站导航
AI工具安装教程 新手教程 进阶教程 辅助资源 AI提示词 热点资讯 技术资讯 产业资讯 内容生成 模型技术 AI信息库

已有账号?

您的位置 : 资讯 > 其他资讯 > 立即停用!Axios 惨遭投毒!

立即停用!Axios 惨遭投毒!

来源:菜鸟下载 | 更新时间:2026-04-25

Axios投毒事件:供应链攻击进入工业化阶段 前端社区正面临一场严峻考验。近期针对npm生态

Axios投毒事件:供应链攻击进入工业化阶段

前端社区正面临一场严峻考验。近期针对npm生态的供应链攻击,其规模和专业程度远超以往。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

在CanisterWorm蠕虫持续扩散的背景下,一个更具威胁的消息被确认:广泛使用的请求库axios,其最新版本已被植入恶意代码。此次攻击标志着威胁行为体的作业模式,已从零散尝试升级为成熟的工业化攻击。

事件概述

攻击者瞄准了axios这一npm生态的核心依赖包。其每周下载量过亿,却在两个最新发布版本中被植入了后门。

受影响版本:axios@1.14.1、axios@0.30.4
安全版本:axios@1.14.0、axios@0.30.3

攻击的核心载体是一个凭空出现的依赖项:plain-crypto-js@4.2.1

该包并未在axios源码中被直接引用。其唯一作用是在安装阶段(postinstall)执行恶意载荷。这种手法避开了常规的代码审查,直接利用了依赖安装的生命周期钩子。

恶意行为分析

根据Socket AI等安全团队的分析,plain-crypto-js是一个高度混淆的投放器(dropper)。其攻击链清晰且隐蔽:

  • 在运行时解密并执行攻击指令。
  • 动态加载fs、os、execSync等核心模块,以规避静态分析。
  • 执行解码后的Shell命令,从远程服务器下载远程访问木马(RAT)。
  • 将恶意文件写入系统目录(如临时文件夹或ProgramData)。
  • 执行完毕后,用无害文件覆盖自身痕迹,实现自我清理。

这意味着,一次标准的npm install axios操作,就可能悄无声息地完成从初始投毒到建立持久化控制的完整入侵链路。

攻击特点

此次事件揭示了现代供应链攻击的几大关键趋势:

  • 本体与恶意代码分离:axios主包代码保持洁净,所有恶意逻辑被封装在独立的“幽灵依赖”中。
  • 瞄准“幻影依赖”:恶意包本身不会被import,完全依靠postinstall钩子触发,属于典型的安装时攻击。
  • 安装即触发:恶意脚本在依赖安装阶段自动执行,绕过运行时监控。
  • 攻击后自毁:执行完成后自动清理痕迹,增加事后取证的难度。
  • 跨平台兼容性:其有效载荷专门适配了macOS、Windows、Linux三大主流操作系统,力求最大范围的感染。

这种攻击模式有效规避了基于源码扫描和依赖关系分析的传统安全方案,显著提升了攻击的成功率和隐蔽性。

影响范围

鉴于axios在JavaScript生态中的基础地位,其潜在影响范围极为广泛:

  • 所有基于React、Vue、Angular等框架构建的前端应用。
  • 大量使用axios进行HTTP通信的Node.js后端服务。
  • 持续集成/持续部署(CI/CD)流水线中的构建步骤。
  • 企业内部的各种开发工具链和自动化脚本。

风险不仅限于开发者的本地工作站。恶意代码可能通过构建管道渗透至构建服务器,进而污染生产环境资产,造成供应链的二次污染与横向移动。

如何判断是否受影响

若需快速评估项目风险,请按以下步骤进行自查:

第一步,验证项目是否引入了受影响版本:

npm list axios 2>/dev/null | grep -E "1\.14\.1|0\.30\.4"
grep -A1 '"axios"' package-lock.json | grep -E "1\.14\.1|0\.30\.4"

第二步,检查恶意依赖是否已存在于node_modules:

ls node_modules/plain-crypto-js 2>/dev/null && echo "POTENTIALLY AFFECTED"

请注意:即使该目录下的package.json文件看似正常,恶意代码也可能已执行并完成自我清理。

第三步,扫描系统是否存在已知的入侵痕迹:

# macOS
ls -la /Library/Caches/com.apple.act.mond
# Linux
ls -la /tmp/ld.py
# Windows
dir "%PROGRAMDATA%\wt.exe"

若发现以上任何文件,则系统极有可能已遭入侵。

此外,必须审查CI/CD流水线的历史构建日志。若任何一次构建拉取过上述恶意版本,则整个流水线环境及其存储的所有访问凭证都应视为已失陷,需立即处置。

补救措施

确认受影响后,请立即按以下步骤进行系统化响应:

(1) 立即降级并锁定版本
首先将axios降级至已知的安全版本:

npm install axios@1.14.0
# 或
npm install axios@0.30.3

随后,在package.json中实施严格的版本锁定策略:

{
  "dependencies": { "axios": "1.14.0" },
  "overrides": { "axios": "1.14.0" },
  "resolutions": { "axios": "1.14.0" }
}

(2) 清理恶意依赖并安全重装
手动移除恶意包,并在忽略脚本执行的前提下重新安装依赖:

rm -rf node_modules/plain-crypto-js
npm install --ignore-scripts

(3) 评估环境完整性,必要时彻底重建
若在痕迹检查中发现任何远程访问木马(RAT)的迹象,最安全的做法是彻底重建受污染的环境(如虚拟机、容器或服务器)。原地清理可能无法彻底清除持久化后门。

(4) 紧急轮换所有相关凭证
这是风险缓解中最关键的一环。假设环境已失陷,必须立即轮换以下所有类型的凭证:

  • npm发布令牌(token)
  • GitHub访问令牌
  • 云服务商密钥(AWS、GCP、Azure等)
  • SSH密钥对
  • CI/CD系统中配置的所有机密信息(Secrets)
  • 项目.env文件中的敏感环境变量

(5) 全面审计CI/CD流水线
对所有执行过受影响版本安装的流水线进行彻底审计,更换其运行环境及存储的所有凭证。

(6) 强化CI/CD默认安全策略
建议在CI/CD配置中,将依赖安装命令固定为:

npm ci --ignore-scripts

--ignore-scripts参数能有效阻止postinstall等生命周期钩子中的恶意代码执行,是阻断此类攻击的关键防线。

(7) 实施网络层封锁
作为临时应急措施,可在防火墙或主机层面阻断与已知命令与控制(C2)服务器的通信:

iptables -A OUTPUT -d 142.11.206.73 -j DROP
echo "0.0.0.0 sfrclak.com" >> /etc/hosts

写在最后

axios投毒事件是一次明确的行业警报。它标志着针对开源软件供应链的攻击已进入体系化、工业化的新阶段。

从账号劫持、依赖混淆到隐蔽执行与痕迹清理,整个攻击链的每个环节都展现出高度的专业性。这要求开发者必须彻底转变“默认信任上游”的固有心态。

当前,安全实践必须从“信任”全面转向“验证”。严格执行依赖版本锁定、审慎评估每一次更新、默认禁止安装脚本执行——这些措施不再是可选项,而是保障软件供应链安全的基础必备项。在数字化体系中,供应链的任何一个脆弱节点,都可能成为导致全局性安全事件的突破口。

(事件详细分析与检测脚本可参考:StepSecurity官方分析报告

菜鸟下载发布此文仅为传递信息,不代表菜鸟下载认同其观点或证实其描述。

展开

相关文章

更多>>

热门游戏

更多>>