知识库导读 · 约 2,497 字 · 预计推送 1 部分

Maintainers' Guide: Securing CI/CD Pipelines After the tj-actions and reviewdog Supply Chain Attacks 未开始

目录

题记与说明

这篇讲什么

OpenSSF 2025 年 6 月发布的维护者加固指南,复盘当年 3 月震动开源圈的 tj-actions/changed-files 与 reviewdog/action-setup 供应链攻击。攻击链分两段:第一阶段,攻击者利用 reviewdog 组织有缺陷的自动化邀请流程混入维护者团队,推送恶意 commit 并把 v1 tag 重定向过去——payload 是一个扫描 runner 内存、把 secrets 打印进 CI 日志的 Python 脚本;第二阶段,用第一阶段顺带偷到的 bot 账号凭证攻入 tj-actions,把 v1.0.0 到 v44.5.1 的每一个版本 tag 全部指向同一个恶意 commit,波及整个开源生态。文末给出五层纵深防御清单:SHA pin 与 allowed-actions 白名单、MFA 与写权限审计、tag/分支保护与变更监控、OIDC 短时凭证 + Environments 审批门、运行时异常检测与日志扫密。

核心观点

  1. 攻击不是孤立事件,而是级联链:一次入侵直接解锁下一次入侵,CI/CD 在基础安全实践缺失时就是一条脆弱的供应链。这次事件会成为后来者的攻击蓝图。
  2. tag 重定向是最阴险的一招:你以为 pin 在旧版本上就是安全的,攻击者把所有历史 tag 一并改写——浮动 tag(@v1、@main、latest)等于把运行权交给别人随时改写。
  3. 最优雅的外泄不走网络:攻击者不连外部服务器,直接拿 GitHub 自己的 workflow 日志当 exfiltration 通道,绕过传统告警;且 commit 未签名、作者伪装成 Renovate bot,签名与声誉工具全部失灵。
  4. 解法是纵深防御而非单点银弹:CI/CD 必须按生产基础设施对待——不可变引用(全长 commit SHA)、最小权限(GITHUB_TOKEN 细粒度、OIDC 短时凭证)、人为审批门(Environments)、运行时基线监控,四层缺一不可。

最值得记住的 2-3 个金句/数据

对我的启发

适合谁读

开源维护者与所有写 GitHub Actions 的人(先照清单检查自己的 workflow);正在给 AI agent / 自动化流水线设计权限模型的人(信任链与审批门的思路直接可迁移);对供应链攻击案例感兴趣的安全学习者——文章短小、结构清晰,是 xz 案例之外又一个必读的当代样本。

← 资料库今日播报 →