
涉及 GitHub Action “tj-actions/changed-files” 的供应链攻击最初是针对 Coinbase 的一个开源项目的高度针对性的攻击,然后演变成范围更广的攻击。
“有效载荷的重点是利用他们的开源项目之一 agentkit 的公共 CI/CD 流,目的可能是为了利用它来进一步入侵,”Palo Alto Networks Unit 42 在一份报告中说。“但是,攻击者无法使用 Coinbase 秘密或发布软件包。”
该事件于 2025 年 3 月 14 日曝光,当时发现“tj-actions/changed-files”遭到入侵,以注入代码,从运行工作流的存储库中泄露敏感机密。它已被分配 CVE 标识符 CVE-2025-30066(CVSS 评分:8.6)。
据 Endor Labs 称,由于供应链攻击,估计有 218 个 GitHub 存储库泄露了他们的秘密,其中大部分泄露的信息包括 DockerHub、npm 和 Amazon Web Services (AWS) 的“几十个”凭证,以及 GitHub 安装访问令牌。
“考虑到数以万计的存储库依赖于 GitHub Action,供应链攻击的初始规模听起来很可怕,”安全研究员 Henrik Plate 说。
“然而,深入研究工作流、它们的运行和泄露的密钥表明,实际影响比预期的要小:'只有'218 个存储库泄露了密钥,其中大多数是短期GITHUB_TOKENs,一旦工作流运行完成,它们就会过期。”
从那时起,发现另一个名为“reviewdog/action-setup”的 GitHub Action 的 v1 标签,“tj-actions/changed-files”通过“tj-actions/eslint-changed-files”作为依赖项依赖,在导致 tj-actions 事件之前也遭到入侵,具有类似的有效负载。“reviewdog/action-setup”的违规行为被跟踪为 CVE-2025-30154(CVSS 评分:8.6)。
据说 CVE-2025-30154 的利用使身份不明的威胁行为者能够获得与“tj-actions/changed-files”相关的个人访问令牌 (PAT),从而允许他们修改存储库并推送恶意代码,进而影响每个依赖于该作的 GitHub 存储库。
“当执行 tj-actions/eslint-changed-files作时,tj-actions/changed-files CI 运行程序的秘密被泄露,允许攻击者窃取运行程序中使用的凭据,包括属于 tj-bot-actions GitHub 用户帐户的个人访问令牌 (PAT),”Unit 42 研究人员 Omer Gil、Aviad Hahami、Asi Greenholts 和 Yaron Avital 说。
目前怀疑攻击者设法以某种方式获得了对 reviewdog 组织的具有写入权限的令牌的访问权限,以便进行流氓更改。也就是说,现阶段该代币的获取方式仍是未知数。
此外,据说对“reviewdog/action-setup”的恶意提交是通过首先分叉相应的存储库,提交更改,然后创建对原始存储库的分叉拉取请求并最终引入任意提交来执行的——这种情况称为悬空提交。
“攻击者采取了大量措施来使用各种技术隐藏他们的踪迹,例如利用悬空提交、创建多个临时 GitHub 用户帐户以及在工作流日志中混淆他们的活动(尤其是在最初的 Coinbase 攻击中),”Palo Alto Networks 高级研究经理 Gil 告诉 The Hacker News。“这些发现表明,攻击者技术娴熟,对 CI/CD 安全威胁和攻击策略有深入的理解。”
第 42 单元推测,在攻击者违反 GitHub 的政策,从注册时提供的合法电子邮件地址切换到一次性(或匿名)电子邮件后,分叉拉取请求“iLrmKCu86tjwp8”背后的用户帐户可能已被隐藏在公众视野之外。
这可能会导致用户执行的所有交互和作被隐藏。然而,当被要求置评时,GitHub 没有确认或否认这一假设,但表示正在积极审查情况并在必要时采取行动。
“目前没有证据表明 GitHub 或其系统遭到入侵。突出显示的项目是用户维护的开源项目,“GitHub 发言人告诉 The Hacker News。

“GitHub 将继续根据 GitHub 的可接受使用政策审查与存储库内容相关的用户报告,包括恶意软件和其他恶意攻击,并对其采取行动。在更新到新版本之前,用户应始终查看 GitHub Actions 或他们在代码中使用的任何其他包。与所有其他使用第三方代码的情况一样,这里仍然如此。
对 tj-actions/changed-files 的 GitHub 分支进行更深入的搜索后,发现了另外两个帐户“2ft2dKo28UazTZ”和“mmvojwip”,这两个帐户后来都已从平台中删除。这两个帐户还被发现创建了与 Coinbase 相关的存储库的分支,例如 onchainkit、agentkit 和 x402。
进一步的检查发现,这些账户使用分支拉取请求修改了 agentkit 存储库中的“changelog.yml”文件,以指向之前使用 PAT 发布的“tj-actions/changed-files”的恶意版本。
据信,攻击者已经获得了一个 GitHub 令牌,该令牌具有对 agentkit 存储库的写入权限,反过来又通过执行 tj-actions/changed-files GitHub Actions 来促进这一过程,以便进行未经授权的更改。
另一个值得强调的重要方面是两种情况下使用的有效负载的差异,这表明部分攻击者试图保持低调。
“攻击者在攻击的不同阶段使用了不同的有效载荷。例如,在广泛的攻击中,攻击者转储了运行程序的内存,并将存储为环境变量的密钥打印到工作流程的日志中,而不管哪个工作流程正在运行,“Gil 说。
“但是,在针对 Coinbase 时,攻击者专门获取了 GITHUB_TOKEN,并确保只有在存储库属于 Coinbase 时才会执行有效负载。”
Gil 指出,目前尚不清楚该活动的最终目标是什么,鉴于 Coinbase 的超特定目标,“强烈”怀疑其意图是经济利益,可能试图进行加密货币盗窃。截至 2025 年 3 月 19 日,加密货币交易所已修复攻击。
目前也不清楚是什么促使攻击者改变了策略,将最初的目标攻击变成了大规模且不那么隐蔽的活动。
“一种假设是,在意识到他们无法利用他们的代币来毒害 Coinbase 存储库后——并且在得知 Coinbase 已经检测到并缓解了攻击——攻击者担心失去对 tj-actions/changed-files作的访问权限,”Gil 说。
“由于破坏这一行动可能会提供对许多其他项目的访问权限,他们可能已经决定迅速采取行动。这可以解释为什么他们在 Coinbase 减轻暴露后仅 20 分钟就发起了广泛的攻击,尽管被发现的风险增加了。
AI API 安全 DMARC 中国 云安全 五角大楼 人工智能 关税 加密货币 勒索软件 品牌冒充 国家安全 威胁情报 应用程序安全 恶意软件 数字货币 时事政治 时政 时政新闻 木马病毒 欺诈管理和网络犯罪 欺骗 民族国家攻击 漏洞和威胁 特朗普政府 社会工程学 社会工程学、网络战 移动安全 端点安全 缺口 网络安全 网络安全运营 网络攻击和数据泄露 网络犯罪 网络罪犯 网络钓鱼 网络间谍 网络风险 美国贸易代表办公室 联邦贸易委员会 脆弱性 金融与银行 间谍软件 阿联酋 骗局