攻击方式:
- 攻击者劫持了 axios 维护者的 npm 账号,绕过 GitHub 正常流程,直接向 npm 仓库发布了恶意版本:
axios@1.14.1和axios@0.30.4微博。 - 这两个版本新增了恶意依赖
plain-crypto-js@4.2.1(该包在 axios 发布前几分钟才被创建)GitHub。 plain-crypto-js内含postinstall脚本(setup.js),安装时自动拉取外部的木马文件。
恶意行为:
- Windows:执行 VBScript + PowerShell 下载并运行木马
- macOS:执行 AppleScript 植入后门
- Linux:运行 Python 脚本建立 C2 远控连接
- 执行后自动删除痕迹、伪造干净文件,隐蔽性极强
影响范围:
- axios 周下载量超1.5 亿~3 亿,波及几乎所有前端 / Node.js 项目
- 只要你在3 月 31 日后安装 / 升级到 1.14.1 或 0.30.4,就已中招。
如何自查
看项目里面有没有 axios@1.14.1和axios@0.30.4的版本,有就中招
如果中招了,什么ssh密钥啊,都全部轮换一下
后续我们在安装的时候,锁死axios的版本
npm install axios@1.14.0 --save-exact
如果package.json里面是这样的
"axios": "^1.6.8",
会在后续npm install的时候自动安装最新的版本,赶紧把^去掉,锁死版本
这就是供应链攻击最可怕的地方
相比上周的apifox供应链攻击,这次的axios供应链攻击,影响面可以说的非常大了