Axios npm hack 利用假 Teams 错误修复劫持维护者账户
Source: Bleeping Computer
对 Axios HTTP 客户端的供应链攻击
图片:Axios 供应链攻击
事件概述
- 目标: 流行的 Axios HTTP 客户端的开发者。
- 方法: 与北朝鲜威胁组织(UNC1069)相关的社会工程攻击。
- 结果: 两个恶意版本的 Axios(
1.14.1和0.30.4)被发布到 npm 注册表,形成供应链攻击。
恶意包的工作原理
| 包 | 恶意负载 | 受影响平台 |
|---|---|---|
plain-crypto-js(注入到受损 Axios 发行版中的依赖) | 远程访问木马(RAT) | macOS, Windows, Linux |
- 恶意版本在被移除前大约活跃了 ≈ 3 小时。
- 在此期间安装了任一版本的系统都应视为 已被妥协。
推荐措施
- 轮换所有凭证 – API 密钥、令牌、SSH 密钥等。
- 审计系统,检查是否存在恶意的
plain-crypto-js依赖或 RAT。 - 重新安装 Axios,使用可信来源(例如修复后的官方 npm 注册表)。
- 监控 受影响主机的可疑活动。
Axios 维护者的响应
- 所有受影响的系统已被 清除,并 重置凭证。
- 正在实施新的 安全控制,以防止未来事件。
归因
Google 威胁情报组(GTIG)将此次攻击归因于北朝鲜组织 UNC1069:
“GTIG 将此活动归因于 UNC1069,这是一支自 2018 年起活跃的以金融为动机、与北朝鲜有关的威胁组织,依据其使用的 WAVESHAPER.V2——该版本是此前该组织使用的 WAVESHAPER 的更新版。”
— Google Cloud Blog
进一步分析显示与先前 UNC1069 行动的 基础设施重叠。
来源
- Hackers compromise Axios npm package to drop cross‑platform malware (BleepingComputer)
- Google Cloud Blog – North Korea threat actor targets Axios npm package
在社交工程攻击中被针对
根据一篇事后分析,此次妥协在数周前就已经开始,方式是对项目主要维护者 Jason Saayman 发起的有针对性的社交工程攻击。
攻击者冒充一家合法公司,克隆了其品牌和创始人的形象,并邀请维护者加入一个旨在冒充该公司的 Slack 工作区。Saayman 表示,Slack 服务器中包含了真实感十足的频道、预设的活动以及伪装成员工和其他开源维护者的假个人资料。
“他们随后邀请我加入一个真实的 Slack 工作区。这个工作区的品牌与公司的 CI 相符,名称也很合理,”Saayman 在事后分析的评论中解释道。
“Slack 的设计非常用心;他们有频道在分享 LinkedIn 帖子(我猜是发到真实公司的账号),但看起来非常可信。他们甚至有我认为是该公司团队以及其他 OSS 维护者的假个人资料。”
随后,攻击者在 Microsoft Teams 上安排了一次会议,会议看似有多位参与者。在通话过程中出现了技术错误提示,声称系统中有组件过期,需要维护者安装 Teams 更新以修复。实际上,这个“更新”是 RAT 恶意软件,赋予威胁行为者对 Saayman 设备的远程访问权限,从而获取 Axios 项目的 npm 凭证。
其他维护者也报告了类似的社交工程攻击,攻击者试图让他们安装伪造的 Microsoft Teams SDK 更新。此类攻击类似 ClickFix 攻击,即受害者看到假错误信息后,被诱导执行故障排除步骤,进而部署恶意软件。
该行动与 Google 威胁情报团队 报告的先前行动相呼应,后者指出北韩组织(UNC 1069)使用相同手法针对加密货币公司。在这些行动中,威胁行为者部署了后门、下载器和信息窃取器等额外负载,用于窃取凭证、浏览器数据、会话令牌以及其他敏感信息。
由于攻击者获取了已认证的会话,MFA 防护实际上被绕过,能够在无需重新认证的情况下访问账户。
Axios 的维护者确认,此次攻击未涉及修改项目源代码;攻击者只是向本应合法的发行版中注入了恶意依赖。
Pelle Wessman 的经历
Pelle Wessman 是多个开源项目(包括流行的 Mocha 框架)的维护者,他在LinkedIn 上发布称自己也在同一行动中被针对,并分享了一张用于诱骗目标安装恶意软件的假 RTC 连接错误截图。

用于另一场攻击的假 RTC 连接错误信息
来源:Pelle Wessman
当 Wessman 拒绝安装该应用时,威胁行为者试图说服他运行一个 curl 命令。
“当他们发现我不会运行该应用,并且我们在网站和聊天应用上来回沟通后,他们做了最后一次绝望的尝试,想让我运行一个会下载并执行某些内容的
curl命令。当我拒绝后,他们便消失并删除了所有对话,”Wessman 在问题评论中解释道。
Source: es/10636#issuecomment-4179392635).
Socket 的发现
网络安全公司 Socket 报告称,这是一场针对流行 Node.js 项目维护者的协调攻击。多位开发者——包括广泛使用的包的维护者和 Node.js 核心贡献者——报告收到类似的外联信息以及攻击者运营的 Slack 工作空间邀请。
Socket 指出,这些维护者负责的包拥有 数十亿的每周下载量,表明威胁行为者聚焦于高影响力项目。
“自从我们发布了对 Axios 被篡改的初步分析、对其隐藏影响范围的深入研究以及维护者确认这是一场社会工程攻击的报告后,Node.js 生态系统中的维护者们纷纷站出来报告他们也被同一社会工程活动锁定,”Socket 解释道。
“这些账户现在遍布 npm 注册表中最受依赖的包以及 Node.js 核心本身,合起来证明 Axios 并非单一目标,而是针对高信任度、高影响力开源维护者的协调、可扩展攻击模式的一部分。”
Socket 表示该攻击遵循一致的模式:
- 初始接触 – 通过 LinkedIn、Slack 等平台。
- 邀请 – 加入模仿合法公司环境的私密或半私密工作空间。
- 建立关系 – 通过预设的活动和虚假员工档案。
- 视频通话 – 常使用冒充 Microsoft Teams 或类似平台的网站。
- 错误提示 – 诱导目标安装“原生”桌面软件或运行指令以修复问题。
在同一时间段内对所有这些目标使用相同的作案手法,表明这是一场 协调的攻击活动,而非零星的孤立事件。
自动化渗透测试仅覆盖 6 个面中的 1 个
- 自动化渗透测试 显示路径 存在。
- BAS(漏洞与攻击模拟) 确认你的控制措施是否真的能阻止该路径。
大多数团队只使用其中一种,而不同时使用两者。
白皮书提供的内容
- 六个验证面 的映射。
- 确定当前覆盖 结束 的位置。
- 在评估任何安全工具时需要提出的 三个诊断性问题。