安全事故与漏洞

XZ Utils 后门(CVE-2024-3094)——受信任的共同维护者发起的供应链攻击

2024 年,广泛使用的压缩库 xz/liblzma 被发现植入后门(CVE-2024-3094)。植入者花数年赢得维护者信任,一名技术人员因登录变慢追查而发现。讲解信任如何被利用及供应链安全的教训。

发布于 2026-06-07 更新于 2026-10-23 2 分钟阅读
本页目录

我们回顾过去的重大事件,提炼出此刻对你自己的运维仍然有用的教训。

2024
发现
数年
积累信任的时长
信任
被瞄准的对象
及时
在进入稳定版之前被发现

发生了什么

出问题的这个库,维护的人手不足,长期靠一个人独自支撑。这时,另一名人物持续做出贡献、积累信任,最终取得了共同维护者的身份。然后,他把机关隐藏在常规更新中,分阶段地加入了在特定条件下允许外部非法访问的机制。

被瞄准的不是代码里的缺陷,而是**『可信赖的人发出的正规更新』是安全的这一前提**。

① 维护者不足、靠一人超负荷支撑
↓
② 另一人持续贡献,赢得信任(历时数年)
↓
③ 获得共同维护者的权限
↓
④ 混在正规更新里,分阶段植入后门
攻击不是靠技术漏洞,而是靠慢慢赢得信任来推进的。每一步看上去都是正规活动。

被瞄准的是『人与信任』

这是靠防火墙或补丁都难以防住的攻击。OSS 的维护者靠善意和志愿者的时间支撑,而攻击者利用了这种过载与孤立。这起事件表明:支撑 OSS 的人和项目是否健康,本身就是安全问题。

如何被发现:一名技术人员调查了变慢的登录

发现的契机,是某位技术人员在做一项无关工作时,注意到登录处理『明显比以前慢』、测量值也不太对劲,并没有放任不管,而是追查了原因。结果,它在向稳定版大范围铺开之前被拦下,避免了大范围的损害。

不放过『总觉得哪里不对』的感觉,在这起事件中成了最有效的检测手段。

时间线

  1. 数年前~

    攻击者持续做出贡献,作为维护者积累信任。
  2. 2024 年初

    混在正规更新里,分阶段地植入了后门。
  3. 2024-03

    一名技术人员追查登录变慢的原因,在进入稳定版之前发现并公开。

此刻有用的教训

1

把依赖控制到最小

用的库越少,需要去信任的对象也越少。别因为『方便』就轻易增加。

2

固定版本,并查看改动

用锁文件察觉意外更新,并关注重要依赖的改动内容(谁、改了什么)。

3

提高构建的可复现性

同样的输入产出同样的产物(reproducible build)程度越高,越容易发现偷偷的混入。

4

不放过异常

『怎么有点慢/不太对劲』是重要的线索,这次发现正是从这里开始的。养成把小异常追查到原因的习惯。

5

尊重并支援维护者

你所依赖的 OSS 是否健康,最终会影响你自己的安全。维护者的过载与孤立可能被攻击者利用。

接下来阅读

来源与确认范围

以下原始资料支持上文的配置、影响范围或应对措施,链接于2026年10月23日确认。请核对资料中的版本和配置条件。清单优先级及经验是本站的整理,不代表全文重新核验或安全保证。

FAQ

QXZ Utils 事件特殊在哪里?
A

被瞄准的不是代码的 bug,而是『人与信任』。攻击者花了好几年作为 OSS 维护者积累信任,再以正规更新的名义混入后门。这是仅靠技术手段难以防住的一类攻击。

Q它是怎么被发现的?
A

某位技术人员在做一项无关的工作时,注意到登录处理『明显比以前慢』、测量值也不太对劲,没有放任不管,而是追查了原因。结果,它在向稳定版大范围铺开之前被拦了下来。

Q个人开发者能做些什么?
A

把依赖控制到最小、关注更新的来源与改动内容、用锁文件固定版本以便察觉意外混入、提高构建的可复现性,以及不放过『总觉得哪里不对』的感觉。