供应链攻击:Axios 遭到入侵。这就是到底发生了什么以及我们做了什么。

Axios 供应链攻击:发生了什么并立即修复供应链攻击后:Axios 遭到入侵。这就是到底发生了什么以及我们做了什么。首先出现在Spritle软件上。

来源:Spritle 博客

供应链攻击悄悄地在全球开发人员的计算机上安装了远程访问木马。我们在几个小时内就在我们的堆栈中找到了它 - 这是我们的完整回复,以及您现在需要做的事情。

  • axios@1.14.1 和 axios@0.30.4 是通过 npm 上被劫持的维护者帐户发布的
  • 他们悄悄安装 plain-crypto-js@4.2.1,这是一个 RAT 滴管,可以窃取您的秘密
  • 恶意版本于 2026 年 3 月 31 日 (UTC) 存活了大约 2 小时
  • 立即降级到 axios@1.14.0 或 axios@0.30.3 并轮换所有凭据
  • 我们审核了公司的每个项目,通知了客户,并触发了完整的凭证轮换
  • 实际发生了什么

    2026 年 3 月 31 日,攻击者向 npm 注册表发布了两个中毒版本的 axios(全球下载次数最多的 npm 软件包之一,每周安装量超过 1 亿次)。

    这不是一个误植或流氓分叉。攻击者劫持了 axios 主要维护者之一的 npm 帐户。他们将注册电子邮件更改为匿名 ProtonMail 地址,并通过 npm CLI 手动推送恶意版本 - 完全绕过了项目的正常 GitHub Actions CI/CD 管道。没有相应的 GitHub 标签。没有 SLSA 出处证明。没有源代码更改。整个包中的唯一修改是 package.json 中的一个新行:对 plain-crypto-js@4.2.1 的依赖。

    是什么让这种攻击变得令人讨厌

    没有触及 axios 源代码。传统的基于差异的代码审查无法捕获它。除非您检查新的、意外的依赖项,否则攻击是不可见的。

    攻击时间线

  • 2026 年 3 月 30 日 — 05:57 世界标准时间
  • 攻击者发布 plain-crypto-js@4.2.0,这是合法 crypto-js 库的干净副本。零恶意代码。目的:建立发布历史来欺骗自动扫描仪。

  • 2026 年 3 月 30 日 — 23:59 世界标准时间
  • 恶意 plain-crypto-js@4.2.1 已发布。在 setup.js 中包含混淆的 RAT dropper。 Socket 的自动检测会在 6 分钟内标记它。

  • 2026 年 3 月 31 日 — 00:21 世界标准时间
  • /tmp/ld.py