元信息
- 标题: Timeline of the xz open source attack
- 作者: Russ Cox(research!rsc,Go 语言前技术负责人)
- 来源 URL: https://research.swtch.com/xz-timeline
- 存档日期: 2026-11-03
- 标签: xz后门、供应链攻击、开源安全、社会工程、时间线复盘、CVE-2024-3094
这篇讲什么
Russ Cox 逐日还原了 xz 后门(CVE-2024-3094)中社会工程部分的全过程:从 2021-10-29 攻击者 "Jia Tan" 发出第一封不起眼的补丁邮件(加一个 .editorconfig),到 2024-03-29 公开披露,跨度两年半。攻击者以勤勉、高效的贡献者形象逐步取得维护者 Lasse Collin 的信任,拿到提交权限和维护者身份,最终把一个隐形后门植入 liblzma——它恰好是 Debian/Ubuntu/Fedora 上 OpenSSH sshd 的依赖。后门监听 SSH 会话开头的隐藏指令,让攻击者无需登录即可远程执行任意命令。文中还给出 2022 年假身份施压战役、2023 年 ifunc 铺垫、2024 年 2 月后门入库与 3 月发现的完整逐日证据链,每一条都附原始邮件、git 提交和 bug 单链接。
核心观点
这不是一次技术入侵,而是一场耐心到极致的信任链攻击。每一步都看似正常:发补丁、催进度、接手维护、做发布、修 bug——直到最后才露出獠牙。Cox 的关键发现:2022 年对 Lasse 施压的 "Jigar Kumar""Dennis Ens" 等身份,其邮箱在整个互联网上从未出现过(连数据泄露库里都没有),是专门为施压伪造的账号。而 Lasse 因长期心理健康问题、加上"这是 unpaid hobby project"的现实,把维护权交了出去。
最值得记住的金句与数据
- "unauthenticated, targeted remote code execution"——后门的本质:无需认证、定向远程代码执行。
- 攻击从第一封补丁到披露横跨约 2 年 5 个月;所有施压身份的邮箱在全网零痕迹,却成功逼走原维护者。
- "It marks a watershed moment in open source supply chain security, for better or worse."——这是开源供应链安全的分水岭时刻。
对我的启发
- AI 编程工具 / Agent 系统:启示最直接。当 Agent 开始大规模写代码、审代码、管依赖时,"持续活跃 + 表现良好"不再是可信凭证——Jia Tan 恰恰完美扮演了模范贡献者。它的权限是温水式升级的:补丁作者 → GitHub 组织成员 → 提交权限 → 发布权 → oss-fuzz 报警接收人。Agent 系统的权限模型必须防御同样的渐进式渗透,关键权限变更需要超越"历史行为良好"的验证。
- 个人知识管理:这条时间线本身就是知识管理的胜利——Cox 完全依靠邮件列表存档、git 元数据、bug tracker 等一手档案完成复盘。存原始材料,才可能有事后分析。
- 写作:全文几乎不用形容词,纯时间线加一手链接,让事实自己制造压迫感,是"用结构表达严重性"的范本。
适合谁读
维护开源项目的人(尤其是疲惫中的维护者)、关注供应链安全与 AI Agent 安全的工程师、研究信任与身份系统的人。建议与作者另一篇 xz-script(攻击脚本逐行分析)配合阅读。