关键词
网络攻击
涉及 GitHub Action“tj-actions/changed-files”的供应链攻击最初是针对 Coinbase 的一个开源项目的高度针对性的攻击,后来演变为范围更广泛的攻击。
Palo Alto Networks Unit 42 在一份报告中表示:“该载荷主要针对利用其开源项目之一 agentkit 的公共 CI/CD 流程,可能是为了进一步攻击。然而,攻击者无法使用 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 安装访问令牌。
安全研究员 Henrik Plate表示:“考虑到数以万计的存储库依赖于 GitHub Action,供应链攻击的初始规模听起来很可怕。”
“然而,深入研究工作流程、运行和泄露的机密后发现,实际影响比预期的要小:‘只有’ 218 个存储库泄露了机密,其中大多数是短暂的 GITHUB_TOKEN,工作流程运行完成后就会过期。”
此后,有消息称,另一个名为“reviewdog/action-setup”的 GitHub Action 的 v1 标签也因类似的载荷而遭到入侵,而“tj-actions/changed-files”通过“tj-actions/eslint-changed-files”依赖该标签。“reviewdog/action-setup”的入侵被追踪为CVE-2025-30154(CVSS 评分:8.6)。
据称,CVE-2025-30154 的利用使得身份不明的威胁行为者能够获得与“tj-actions/changed-files”相关联的个人访问令牌 (PAT),从而允许他们修改存储库并推送恶意代码,进而影响依赖于该操作的每个 GitHub 存储库。
Unit 42 研究人员 Omer Gil、Aviad Hahami、Asi Greenholts 和 Yaron Avital 表示:“当执行 tj-actions/eslint-changed-files 操作时,tj-actions/changed-files CI 运行器的机密会被泄露,从而允许攻击者窃取运行器中使用的凭据,包括属于 tj-bot-actions GitHub 用户帐户的个人访问令牌 (PAT)。”
目前怀疑攻击者设法以某种方式获取了对 reviewdog 组织具有写入权限的令牌,以便进行恶意更改。不过,目前尚不清楚获取此令牌的方式。
此外,据称对“reviewdog/action-setup”的恶意提交是通过首先分叉相应的存储库、向其提交更改,然后向原始存储库创建分叉拉取请求并最终引入任意提交来完成的 - 这种场景称为悬垂提交。
Palo Alto Networks 高级研究经理 Gil 告诉 The Hacker News:“攻击者采取了重大措施来隐藏他们的踪迹,使用了各种技术,例如利用悬空提交、创建多个临时 GitHub 用户帐户以及在工作流日志中混淆他们的活动(尤其是在最初的 Coinbase 攻击中)。” “这些发现表明攻击者技术高超,对 CI/CD 安全威胁和攻击策略有着深刻的理解。”
Unit 42 推测,在攻击者违反 GitHub 政策,将注册时提供的合法电子邮件地址更改为一次性(或匿名)电子邮件后,分叉拉取请求背后的用户帐户“iLrmKCu86tjwp8”可能已被隐藏在公众视线之外。
这可能会导致用户执行的所有交互和操作都被隐藏。然而,当记者联系到 GitHub 时,它既没有确认也没有否认这一假设,但表示正在积极审查情况并根据需要采取行动。
GitHub 发言人向 The Hacker News 表示:“目前没有证据表明 GitHub 或其系统受到了威胁。重点介绍的项目是用户维护的开源项目。”
“GitHub 将继续根据GitHub 的可接受使用政策审查和处理与存储库内容相关的用户报告,包括恶意软件和其他恶意攻击。用户在更新到新版本之前,应始终检查 GitHub Actions 或他们在代码中使用的任何其他软件包。这与使用第三方代码的所有其他情况一样。”
深入搜索 tj-actions/changed-files 的 GitHub 分支后,发现了另外两个账户“2ft2dKo28UazTZ”和“mmvojwip”,这两个账户目前都已从平台上删除。还发现这两个账户都创建了 Coinbase 相关存储库的分支,例如 onchainkit、agentkit 和 x402。
进一步检查发现,这些账户使用 fork 拉取请求修改了 agentkit 存储库中的“changelog.yml”文件,以指向先前使用 PAT 发布的“tj-actions/changed-files”的恶意版本。
据信,攻击者已经获得了对 agentkit 存储库具有写权限的 GitHub 令牌(反过来,通过执行 tj-actions/changed-files GitHub Actions 来实现),从而进行未经授权的更改。
另一个值得强调的重要方面是两种情况下使用的有效载荷不同,这表明攻击者试图避开雷达。
Gil 表示:“攻击者在攻击的不同阶段使用了不同的有效载荷。例如,在大规模攻击中,攻击者转储了运行者的内存,并将存储为环境变量的机密打印到工作流的日志中,无论哪个工作流正在运行。”
“然而,当瞄准 Coinbase 时,攻击者专门获取了 GITHUB_TOKEN,并确保只有当存储库属于 Coinbase 时才会执行有效负载。”
Gil 指出,目前尚不清楚该活动的最终目标是什么,但“强烈”怀疑其意图是获取经济利益,很可能是试图进行加密货币盗窃,因为 Coinbase 的目标非常明确。截至 2025 年 3 月 19 日,该加密货币交易所已对此次攻击进行了补救。
目前还不清楚是什么原因促使攻击者改变策略,将最初的有针对性的攻击转变为大规模且不太隐蔽的活动。
Gil 说:“一种假设是,在意识到他们无法利用他们的代币来毒害 Coinbase 存储库后,并且在得知 Coinbase 已经检测并缓解了攻击后,攻击者担心失去对 tj-actions/changed-files 操作的访问权限。”
“由于破坏这一行动可能会让攻击者获得对许多其他项目的访问权限,因此他们可能决定迅速采取行动。这可以解释为什么在 Coinbase 缓解其暴露后仅 20 分钟,尽管被发现的风险增加,他们还是发动了大规模攻击。”
来源:https://thehackernews.com/2025/03/github-supply-chain-breach-coinbase.html
END
原文始发于微信公众号(安全圈):【安全圈】Coinbase 最初成为 GitHub Actions 供应链攻击的目标;218 个存储库的 CI/CD 机密被曝光
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论