网络安全研究人员正密切关注一起安全事件,其中流行的 GitHub Action tj-actions/changed-files 被攻破,导致使用持续集成和持续交付(CI/CD)工作流的仓库机密信息泄露。
该事件涉及的 tj-actions/changed-files GitHub Action 在 23000 多个仓库中使用,用于跟踪和检索所有更改的文件和目录。这一供应链攻击被赋予了 CVE 标识符 CVE-2025-30066(CVSS 评分:8.6),据说发生在 2025 年 3 月 14 日之前。
“在这次攻击中,攻击者修改了操作代码,并回溯更新了多个版本标签以引用恶意提交,”StepSecurity 表示。“被攻破的操作会在 GitHub Actions 构建日志中打印 CI/CD 机密信息。”
这种行为的最终结果是,如果工作流日志可公开访问,那么当在仓库上运行该操作时,可能会导致敏感机密信息未经授权而被曝光。这包括 AWS 访问密钥、GitHub 个人访问令牌(PATs)、npm 令牌和私有 RSA 密钥等。尽管如此,但没有证据表明泄露的机密信息被传输到了任何攻击者控制的基础设施中。
具体来说,恶意插入的代码旨在运行一个托管在 GitHub gist 上的 Python 脚本,该脚本会转储来自 Runner Worker 进程的 CI/CD 机密信息。据说该脚本源自一个未经验证的源代码提交。该 GitHub gist 已被删除。

“tj-actions/change-files 在组织的软件开发流程中使用,”Endor Labs 的首席技术官兼联合创始人 Dimitri Stiliadis 在一份声明中表示。“在开发人员编写和审查代码后,他们通常会发布到仓库的主分支。从那里‘流程’会接管,构建用于生产的代码并部署它。”
“tj-actions/change-files 帮助检测仓库中的文件更改。它允许你检查在提交、分支或拉取请求之间哪些文件被添加、修改或删除。”
“攻击者修改了操作代码,并回溯更新了多个版本标签以引用恶意提交。被攻破的操作现在执行一个恶意 Python 脚本,该脚本转储 CI/CD 机密信息,影响了数千个 CI 流程。”
项目维护者表示,事件背后的未知威胁者攻破了 @tj-actions-bot 使用的 GitHub 个人访问令牌(PAT),该机器人对被攻破的仓库具有特权访问权限。
在发现该事件后,账户密码已更新,身份验证已升级为使用通过密钥,并且其权限级别已更新,遵循最小特权原则。GitHub 还撤销了被攻破的 PAT。
“受影响的个人访问令牌作为 GitHub action 机密存储,目前已撤销,”维护者补充道。“今后,tj-actions 组织的所有项目将不再使用 PAT,以防止任何复发风险。”
任何使用该 GitHub Action 的用户都应尽快更新到最新版本(46.0.1)。用户还应审查 3 月 14 日至 3 月 15 日期间执行的所有工作流,并检查“changed-files 部分下是否有意外输出”。
这并非 tj-actions/changed-files Action 首次出现安全问题。2024 年 1 月,安全研究员 Adnan Khan 揭露了影响 tj-actions/changed-files 和 tj-actions/branch-names 的一个关键漏洞(CVE-2023-49291,CVSS 评分:9.8),该漏洞可能导致任意代码执行。
这一事件再次凸显了开源软件特别容易受到供应链风险的影响,这可能会对下游客户产生严重后果。
“截至 2025 年 3 月 15 日,所有版本的 tj-actions/changed-files 均被发现受到影响,因为攻击者成功修改了现有版本标签,使其全部指向恶意代码,”云安全公司 Wiz 表示。
“使用了哈希固定版本的 tj-actions/changed-files 的客户不会受到影响,除非他们在利用时间窗口期间更新到了受影响的哈希。”
消息来源:The Hacker News;
本文由 HackerNews.cc 翻译整理,封面来源于网络;
暂无评论内容