供应链攻击中的远程访问木马:Axios事件深度技术复盘
4/26/2026 · 2 min
一、事件背景与攻击链概述
2023年曝光的Axios供应链攻击事件中,攻击者通过入侵第三方JavaScript库的构建环境,向Axios的npm包中注入了远程访问木马(RAT)。该木马在版本1.6.3中被发现,影响了大量直接或间接依赖Axios的前端项目。攻击链分为三个阶段:首先,攻击者利用CI/CD管道的凭证泄露,获得了对npm发布权限的控制;其次,在合法版本中嵌入恶意载荷;最后,通过npm分发至全球开发者。
二、RAT植入技术分析
2.1 载荷混淆与隐藏
攻击者将RAT载荷隐藏在axios/lib/helpers/combineURLs.js文件中,通过Base64编码和动态eval()执行来规避静态检测。载荷仅在特定用户代理(User-Agent)下激活,例如当请求头包含axios/前缀时,木马才会执行核心逻辑。
2.2 远程控制与数据窃取
木马建立反向Shell连接至攻击者控制的C2服务器(IP: 185.234.72.18),使用HTTPS加密通信以绕过网络监控。窃取的数据包括环境变量、SSH密钥、AWS凭证以及package.json中的项目元数据。
三、隐蔽通信与持久化机制
3.1 域名生成算法(DGA)
为避免C2域名被静态封禁,木马采用DGA算法,每日根据日期和种子值生成多个备用域名。例如,2023年10月25日生成的域名为api-update-axio[.]com。
3.2 持久化技术
木马通过修改~/.bashrc和~/.npmrc文件实现持久化。每次终端启动时,自动加载恶意脚本;同时,在npm的postinstall钩子中注册自身,确保每次安装依赖时重新激活。
四、检测与防御建议
4.1 供应链安全审计
- 对所有第三方依赖进行完整性校验(如npm的
integrity字段)。 - 使用
npm audit和Snyk等工具定期扫描已知漏洞。 - 锁定依赖版本,避免自动更新至被污染的版本。
4.2 运行时监控
- 部署EDR(端点检测与响应)系统,监控异常进程行为,如
node进程发起反向Shell连接。 - 对网络流量进行深度包检测(DPI),识别DGA域名和异常TLS指纹。
4.3 最小权限原则
- CI/CD管道使用临时凭证,并启用多因素认证(MFA)。
- npm发布令牌(token)设置有效期,并限制为仅发布权限。
五、总结
Axios事件再次证明,供应链攻击已成为RAT传播的高效途径。防御需要从代码依赖、构建管道到运行时环境的全链路协同。开发者应建立“零信任”的依赖管理策略,将安全左移,从源头阻断攻击。