没有任何漏洞,黑客是如何接管全球数百万开发环境的?——深度拆解UNC1069供应链猎局

admin 2026-04-10 01:54:47 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档深度分析了朝鲜黑客组织UNC1069针对Axios库的供应链攻击:通过三周LinkedIn社工获取维护者权限,使用FLATDIRT、WAVESHAPER.V2、LONGWAIT工具链向npm推送恶意版本,月影响超8亿次下载。核心指出软件供应链存在信任盲区,并提出四层防御体系:实时威胁情报、制品网关拦截、SBOM风险盘点和研发行为治理,强调需建立事前防御机制而非被动响应。 综合评分: 85 文章分类: 供应链安全,威胁情报,社会工程学,解决方案,安全运营


cover_image

没有任何漏洞,黑客是如何接管全球数百万开发环境的?——深度拆解 UNC1069 供应链猎局

塞讯安全验证

2026年4月9日 13:33 上海

一场历时三周、月下载量 8 亿次的精密「围猎」

上周,Axios 供应链投毒事件震动了安全圈。新闻已经铺天盖地:攻击者是具有国家背景的朝鲜黑客组织 UNC1069。

但比起是谁做的,大家更应该关注的是他们是怎么得手的。

这不再是简单的暴力破解,而是一场极具耐心、针对信任链路的武器化攻击。UNC1069 花费了整整三周时间:在 LinkedIn 上伪装身份、洽谈合作、甚至配合维护者的档期开视频会议,最终通过伪装的视频会议工具(恶意载荷 FLATDIRT)攻陷了首席维护者的权限。

可怕的不是黑客组织的名字,而是他们已经洞悉了软件供应链防御的结构性盲区:

  1. 开发者盲目信任官方镜像站。

  2. CI/CD 流程盲目信任 package.json。

  3. 企业安全团队则陷于「出事后才拿清单人肉排查」的被动响应循环。

攻击全链路分析

朝鲜国家级供应链猎手 UNC1069

UNC1069 是一个具有朝鲜国家背景、以经济目的为核心驱动的高级持续威胁(APT)组织。

UNC1069 并不是第一次出现在供应链攻击的视野里。塞讯智能安全验证平台的攻击库中,当前已追踪了 UNC1069 的十多个攻击动作,其中包括本次事件中被确认使用的三个工具:

  • WAVESHAPER.V2:跨平台远程访问木马(RAT),支持 Windows / macOS / Linux,通过 postinstall 钩子触发、反取证自删除
  • FLATDIRT:初始入侵阶段的恶意载荷投递工具,被用于社工场景中的「技术故障修复文件」伪装
  • LONGWAIT:持久化等待模块,感染后静默驻留、等待最优时机窃取高价值凭证

这三个工具的组合,勾勒出了一个完整的攻击路径:社工建立信任 → FLATDIRT 投递载荷 → WAVESHAPER.V2 建立远程控制 → LONGWAIT 等待并窃取 npm 凭证 → 劫持账号发布恶意版本。

这不是一次机会性犯罪。这是 UNC1069 长期积累的供应链攻击经验,在一个高价值目标上的定向执行。

目前,塞讯安全实验室已完成对本次攻击全链路的深度解析与复现。塞讯智能安全验证平台用户现可利用平台的实战化验证能力,亲自度量企业防线对该组织典型对抗手段的真实拦截效能。

社工全链路:他们是怎么拿到 npm 账号的

理解这次攻击真正令人震惊的地方,需要把时间线完整地看一遍。

Axios 首席维护者 Jean Burellier 的遭遇,是 UNC1069 社工手法的完整缩影:

| 日期 | 事件 | | — | — | | 3 月 5 日 | 在 LinkedIn 上收到陌生人私信,对方自称是 Openfort 公司代表,希望洽谈合作 | | 3 月 5 日 – 22 日 | 双方进行了约三周的正常沟通。对方不催、不急,主动适应 Jean 的档期 | | 3 月 23 日 | 对方发来视频会议邀请链接,界面完全仿照 Microsoft Teams,域名为 teams.onlivemeet.com(真实的 Teams 域名是 teams.microsoft.com) | | 会议中 | 对方称遇到「技术故障」,请求 Jean 下载一个小型修复工具——FLATDIRT 伪装的恶意载荷 | | 此后 | WAVESHAPER.V2 建立远控,LONGWAIT 静默等待,最终在合适时机窃取 npm 凭证 | | 3 月 31 日凌晨 | UNC1069 利用被劫持的账号,绕过 CI/CD,手动发布 [email protected] 与 [email protected] |

值得注意的是,Jean 并不是唯一的目标。同一时期,UNC1069 同步接触了多位 Node.js 生态顶级维护者:

  • Pelle Wessman

    (Mocha 测试框架维护者):遭遇伪装 Streamyard 的钓鱼会议

  • Matteo Collina

    (Node.js 技术委员会成员):在 Slack 上收到疑似社工消息,险些中招

  • Scott Motte

    (dotenv 创建者):被接触,dotenv 每月下载量超 5000 万次

  • John-David Dalton

    (Lodash 创建者):同期被盯上,Lodash 每月下载量超 4 亿次

UNC1069 这一轮同时接触的维护者项目,加在一起的月下载量超过 8 亿次。

为什么开源维护者成了战略目标

UNC1069 的选择有清晰的战略逻辑。

传统网络攻击的逻辑是:攻陷一台机器 = 攻陷一台机器。而供应链攻击的逻辑是:攻陷一个维护者账号 = 自动继承那个账号背后所有用户的信任。

Axios 每周下载量近 1 亿次。这意味着一次账号劫持,可以在短短几小时内,向全球数百万个正在执行 npm install 的开发环境静默植入后门——没有漏洞、没有入侵,只是一次「正常的依赖更新」。

这是从「逐个钓鱼」升级到「劫持分发管道」的本质转变。

攻击者已经清楚:软件分发管道是整个互联网最大的信任放大器之一。开发者信任官方 registry,CI/CD 信任 package.json,生产环境信任 CI/CD——每一层都默默把上游的信任传递给下游,没有人在中间插一个问号。

而 UNC1069 的耐心,则让这套攻击更加难以察觉。三周慢慢聊,不催、不露馅,等你完全放松警惕。Socket 研究人员对这种手法给出了精准的描述:「这不是一键上钩,而是你根本不知道自己正在被猎。」

这类攻击只会越来越多,企业需要的是预设好的防御体系

虽然我们回答了「UNC1069 是谁、怎么打的」。

但这里有一个令人不舒服的现实:即使我们把 UNC1069 分析得再透彻,明天还有下一个组织,后天手法会更精密。情报感知永远比攻击慢半拍,靠「看到威胁再响应」的逻辑,注定是被动的。

这次 Axios 事件还暴露了一个更深的问题:对于大多数企业来说,恶意包进没进来、是哪个版本、影响了哪些项目——这些问题的答案,来自于事后人工排查,而不是一个随时可以查询的系统。

这就是软件供应链防御的结构性盲区:感知是被动的,防御是事后的,开发侧的依赖引入几乎没有管控。

真正有效的防御,不是应对某一次具体攻击,而是建立一套「在攻击者得手之前,防线已经挡在那里」的闭环体系。

塞讯四层防御体系:感知 — 拦截 — 盘点 — 治理

Layer 1:威胁情报实时感知

核心问题:这个包,现在安全吗?

3 月 31 日上午 11:19,塞讯高级持续威胁情报智能平台完成对 [email protected] 的威胁标注,早于 npm 官方 41 分钟。情报精度达到包名 + 版本号级别——不是 “axios” 可能有问题」,而是 “1.14.1 是恶意的,1.14.0 是干净的” ,两者的处置逻辑完全不同。

从恶意包到 C2 域名、攻击 IP 的完整关联也同步收录——一张详情页看清整条攻击链,支持封禁和溯源。

在 UNC1069 场景下的价值:维护者账号被劫持的那一刻,你无法阻止。但情报收录之后的每一次 npm install,都可以在被告知的同时被保护。

Layer 2:制品下载节点拦截

情报的价值,是「被保护」,而不只是「被告知」。

软件供应链安全网关以反向代理模式,部署在企业制品仓库(Nexus / JFrog Artifactory)与公共包源(npm / PyPI / Maven)之间。开发者无需改变任何工作流,npm install 照常执行,所有请求流经网关。

网关支持两种运行模式,可实时热切换:

  • 检测模式:告警,包正常通过(适合开发环境,不影响业务)
  • 拦截模式:直接阻断,恶意包不落地(适合生产 CI/CD 环境)

在 UNC1069 场景下的价值:即使 Jean 的账号已经被劫持,[email protected] 已经推送到 npm registry——只要网关在 11:19 情报同步后触发拦截,任何随后执行的 npm install [email protected] 都会在网络层被阻断,恶意代码永远不落地于你的开发机或 CI/CD 环境。

Layer 3:存量资产风险盘点(SBOM)

很多企业在 3 月 31 日面临的第一个困难,是这个问题:我到底有多少个项目在用 axios?是哪个版本?

在依赖树越来越深、传递依赖越来越多的今天,这个基础问题的答案,不应该来自人工排查。

SBOM(软件物料清单)把「我用了什么」变成一份可查询的档案。平台支持导入 SPDX 和 CycloneDX 两种标准格式,导入后自动与情报库比对:哪些项目存在受影响版本、风险暴露数量、与拦截告警的交叉印证。

在 UNC1069 场景下的价值:影响面评估从「小时级人工排查」缩短到「分钟级系统查询」。

Layer 4:研发行为治理——体系能否真正落地的前提

前三层解决的是感知、拦截、盘点。但有一个更根本的问题没有解决:如果研发人员绕过了这些控制,怎么办?

这不是假设,是日常现实:

  • 开发者本地配置了 npm config set registry https://registry.npm.taobao.org,彻底绕过企业网关
  • AI 编程工具(如上篇提到的 OpenClaw)自动拉取第三方 Skill 文件,开发者甚至不知道发生了什么
  • 新接入的 CI/CD 流水线忘记配置通过企业代理源

前三层做得再好,只要「通路」是敞开的,等于形同虚设。

有效的治理需要:

  1. 强制制品请求经由软件供应链安全网关:在网络层或 CI/CD 层面限制直接访问公共源,这是拦截能力发挥作用的前提
  2. AI 编程工具的 Skill 来源管控:Skill 供应链的攻击面正在快速扩大,需纳入与代码包同等级别的情报核验体系
  3. RBAC 权限分级:核心系统严格拦截,开发环境仅告警,避免安全策略影响研发效率
  4. 完整审计留痕:每次告警、规则变更、白名单操作均自动生成审计记录,让事后溯源有完整链路

安全能力的边界,由你允许什么来决定。 情报再准、网关再强,如果通路没有管控,一切都可以被绕过。治理不是额外的负担,而是让前三层能力真正生效的基础。

UNC1069 花了三周时间,从一条 LinkedIn 私信,最终拿到了 Axios 首席维护者的 npm 账号;然后用那个账号,在几小时内向全球数百万个开发环境推送了恶意代码。

整个过程没有漏洞利用,没有暴力破解。有的只是耐心、伪装,以及对「开源生态信任模型」这个根本性脆弱点的精准理解。

这不是最后一次。手法只会越来越精密,目标只会越来越多,下一个维护者现在可能已经在被接触了。

供应链安全的终极护城河,不是知道攻击者是谁,而是在他们得手之前,防线已经挡在那里。


如需了解更多关于塞讯智能安全验证平台的信息,欢迎拨打官方电话 400-860-6366 或发送邮件至 [email protected] 联系我们。您也可以扫描下方二维码添加官方客服,我们将竭诚为您服务。

用持续验证   建长久安全

长按图片扫码添加【官方客服】



▶▶关注【塞讯安全验证】,了解塞讯安全度量验证平台以及更多安全资讯


▶▶关注【塞讯威胁情报】,解锁 AI 赋能的新一代威胁情报中枢


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:塞讯安全验证 《没有任何漏洞,黑客是如何接管全球数百万开发环境的?——深度拆解 UNC1069 供应链猎局》

评论:0   参与:  0