npm 上 axios 库遭攻击:供应链安全危机凸显

📅 发布时间:2026/7/3 14:40:53 👁️ 浏览次数:
npm 上 axios 库遭攻击:供应链安全危机凸显
axios 恶意版本上线攻击范围波及广泛2026 年 3 月 31 日StepSecurity 发现 npm 上发布了两个广泛使用的 axios HTTP 客户端库的恶意版本axios1.14.1 和 axios0.30.4。攻击者利用被劫持的 axios 主要维护者的 npm 凭证绕过该项目正常的 GitHub Actions CI/CD 管道手动发布了受污染的软件包。这两个恶意版本注入了新依赖 plain-crypto-js4.2.1其唯一目的是执行 postinstall 脚本充当跨平台的远程访问木马RAT植入器目标是 macOS、Windows 和 Linux 系统。axios 是 JavaScript 生态系统中最流行的 HTTP 客户端库每周下载量超过 3 亿次此次攻击影响范围巨大。精心策划的攻击从账户劫持到恶意依赖部署攻击者首先攻破了 axios 项目主要维护者的 jasonsaayman npm 账户将注册电子邮件更改为 ifstapproton.me。利用该账户攻击者在 1.x 和 0.x 发布分支上同时发布恶意版本使受影响项目数量最大化。在发布受后门攻击的 axios 版本之前攻击者预先在 npm 上部署了恶意软件包 plain-crypto-js4.2.1由单独的一次性账户 nrwise 发布。该软件包伪装成 crypto-js包含 postinstall 钩子和证据销毁机制。攻击者将 plain-crypto-js: ^4.2.1 作为运行时依赖添加到 axios1.14.1 和 axios0.30.4 中当开发者运行 npm install 时会自动触发 postinstall 脚本启动植入器。攻击时间线步步为营的恶意布局攻击提前约 18 小时进行准备恶意依赖在 axios 发布之前就已在 npm 上部署。2026 年 3 月 30 日 05:57plain-crypto-js4.2.0 发布作为干净的诱饵包23:59plain-crypto-js4.2.1 发布添加恶意有效负载。3 月 31 日 00:21axios1.14.1 发布01:00axios0.30.4 发布。约 03:15npm 撤销了这两个版本的发布03:25npm 对 plain-crypto-js 实施安全冻结04:26发布安全占位符 plain-crypto-js0.0.1-security.0。技术漏洞与防守失误安全防线的缺口此次攻击暴露出多个安全问题。攻击者获取了维护者账户的长期经典 npm 访问令牌绕过了合法版本使用的 OIDC 可信发布机制。npm 平台在账户安全验证和软件包审查方面存在不足未能及时发现异常发布。同时开发者在使用第三方库时缺乏有效的安全检测手段难以察觉隐藏的恶意依赖。行业警示与防御升级筑牢安全防线此次事件为整个行业敲响了警钟凸显了供应链安全的重要性。企业应加强对维护者账户的安全管理采用多因素认证等措施防止账户被劫持。在使用第三方库时要建立严格的安全审查机制对依赖进行深入分析及时发现和排除潜在的安全风险。同时加强对安全工具的使用如 StepSecurity Harden-Runner 等提高对异常行为的检测能力。编辑观点此次 axios 库攻击事件揭示了软件供应链安全的脆弱性。企业和开发者需高度重视加强安全管理和技术防护共同筑牢行业安全底线避免类似事件再次发生。