时间:26-04-25
在软件供应链安全中,某些核心依赖的可靠性被视为理所当然,如同电力网络——其存在感往往在彻底中断时才被察觉。2026年3月,Node.js生态中HTTP客户端axios的恶意版本发布,正是这样一次对数字基础设施信任基石的精准打击。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
Axios作为现代Web开发的事实标准,其周下载量稳定超过3亿次,渗透于全球数百万应用的后端服务与前端交互层。此次攻击的威胁等级之所以被显著放大,在于攻击者并未采用蛮力破坏,而是通过身份凭证窃取与依赖混淆的组合技,将远程访问木马(RAT)直接植入至开发流水线的最深处。
综合StepSecurity与Aikido的安全报告,攻击链的构建体现了高度的专业性:
攻击目标锁定axios的1.14.1及0.30.4版本。入侵路径采用了供应链攻击的经典模式:攻击者首先窃取了核心维护者账户的NPM发布令牌,从而完全绕过了基于GitHub Actions的自动化安全审查。载荷投递机制则更为隐蔽:恶意代码被封装在一个名为plain-crypto-js@4.2.1postinstall脚本自动执行,完成第二阶段木马的部署。
整个攻击流程可视为一次针对开源生态安全弱点的战术级渗透。
StepSecurity的追踪报告揭示了一个关键细节:在发布恶意版本前约18小时,攻击者先行推送了一个干净的plain-crypto-js@4.2.0版本。此举旨在规避依赖关系扫描工具对新发布包(零历史包)的异常检测。这种“先建立信誉,后发动攻击”的策略,有效利用了当前安全工具对包声誉评估的时间窗口漏洞。
当开发者执行npm install axios时,恶意依赖包被拉取并触发postinstall脚本。该脚本会向命令与控制服务器发起请求,根据被感染机器的操作系统类型,动态下载对应的第二阶段RAT载荷。
更具威胁性的是其反取证设计。Aikido的分析确认,该恶意脚本在执行完成后会立即进行自我删除。这意味着,事后在node_modules目录中进行静态文件扫描很可能无法发现直接证据,攻击痕迹已被主动清理。
目前已识别的恶意文件驻留路径包括:
/tmp/ld.py/Library/Caches/com.apple.act.mond%PROGRAMDATA%\wt.exe基于现有技术指标,可对攻击者的战术意图及事件的行业警示进行深度推演。
StepSecurity明确指出,此次恶意发布完全规避了axios项目配置的GitHub Actions工作流。这强烈暗示攻击源头并非仓库权限被攻破,而是维护者本地开发环境中的NPM令牌遭窃。泄露途径可能包括成功的钓鱼攻击、或设备早已感染的信息窃取型恶意软件。
此案例暴露了NPM生态的一个系统性风险:即便账户启用了双因素认证,具有发布权限的自动化令牌一旦在端点设备上泄露,整个发布流程的安全边界便宣告失效。
尽管本次攻击尚未归因至特定APT组织,但其手法与近期活跃的威胁团伙存在战术重叠。例如,TeamPCP组织曾利用类似凭证窃取手段,在Trivy的CI/CD管道中部署CanisterWorm;Python的PyPI仓库也持续面临大规模库劫持与投毒攻击。
有理由推断,专业攻击者已建立起标准化的攻击流水线:“端点凭证窃取 -> 发布账户控制 -> 针对高价值上游库投毒 -> 横向移动与数据渗透”。Axios凭借其巨大的下游影响面,成为了这条流水线近期最成功的攻击目标之一。
此次事件的影响远超开发者群体。任何使用Node.js作为后端服务的在线平台——包括金融服务、电商系统与物联网应用——其服务器若拉取了受污染版本,都可能成为内网渗透的起点,最终导致敏感数据外泄。
对于技术团队,应立即采取以下缓解与加固措施:
npm list axios命令,并严格检查package-lock.json或yarn.lock文件,确认是否引入了受污染的1.14.1/0.30.4版本及恶意依赖plain-crypto-js。参考来源:https://www.stepsecurity.io/blog/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan