HackerNews 03月24日 12:50
GitHub Actions 供应链攻击致 218 个仓库 CI/CD 机密信息泄露
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

文章详细介绍了涉及 GitHub Actions 的大规模供应链攻击事件。攻击者通过攻破“tj-actions/changed-files”和“reviewdog/action-setup”等开源项目,注入恶意代码,窃取了大量机密信息,包括 DockerHub、npm 和 AWS 的凭证以及 GitHub 访问令牌。尽管实际受影响仓库数量有限,但此次攻击暴露了 CI/CD 流程的潜在风险。文章分析了攻击者的技术手段、目标以及 GitHub 的应对措施,并强调了用户审查第三方代码的重要性。

🔑 攻击始于对 Coinbase 开源项目的精准攻击,攻击者利用“tj-actions/changed-files”的公共 CI/CD 流程,试图获取机密信息,但未能成功获取 Coinbase 的机密信息或发布软件包。

💥 攻击蔓延:随后,“tj-actions/changed-files”被攻破,注入代码泄露敏感机密,并被赋予 CVE-2025-30066 编号;另一个 GitHub Action “reviewdog/action-setup” 的 v1 标签也被攻破,漏洞被跟踪为 CVE-2025-30154,导致更多机密信息泄露。

🔍 攻击影响与范围:虽然最初的担忧是波及数万个仓库,但实际泄露机密信息的仓库为 218 个,主要为短生命周期的 GITHUB_TOKEN;攻击者使用悬垂提交、临时账户等技术掩盖踪迹。

💡 攻击者的目标:攻击者可能试图进行加密货币盗窃,针对 Coinbase 的攻击表明了其潜在的经济动机;攻击者改变策略,从最初的目标攻击转变为大规模行动,可能是为了扩大攻击范围。

🛡️ GitHub 的应对:GitHub 正在积极审查情况并采取行动,强调用户应审查 GitHub Actions 和第三方软件包的安全性。

HackerNews 编译,转载请注明出处:

一起大规模供应链攻击涉及 GitHub Action “tj-actions/changed-files”,起初是针对 Coinbase 一个开源项目的精准攻击,之后发展为更大范围的攻击。

帕洛阿尔托网络公司 42 号单元在报告中指出:“攻击载荷专注于利用他们一个开源项目的公共 CI/CD 流程——agentkit,可能目的是利用它进行进一步的攻击行为。然而,攻击者未能使用 Coinbase 的机密信息或发布软件包。”

2025 年 3 月 14 日,人们发现 “tj-actions/changed-files” 被攻破,注入了泄露运行该工作流的仓库敏感机密信息的代码,该事件被赋予 CVE 编号 CVE-2025-30066(CVSS 评分:8.6)。

据恩多尔实验室估计,218 个 GitHub 仓库因此次供应链攻击泄露了机密信息,大部分泄露信息包括 “几十个” DockerHub、npm 和亚马逊网络服务(AWS)的凭证,以及 GitHub 安装访问令牌。

安全研究员亨里克・普拉特表示:“考虑到有数万个仓库依赖 GitHub Action,此次供应链攻击的初始规模听起来令人恐惧。然而,深入研究工作流、运行情况和泄露的机密信息会发现,实际影响比预期小:只有 218 个仓库泄露了机密信息,其中大部分是短生命周期的 GITHUB_TOKEN,一旦工作流运行完成就会过期。”

此后,另一个 GitHub Action “reviewdog/action-setup” 的 v1 标签也被攻破,该 Action 通过 “tj-actions/eslint-changed-files” 作为依赖项被 “tj-actions/changed-files” 依赖,在 tj-actions 事件发生前,带有类似的攻击载荷。 “reviewdog/action-setup” 的漏洞被跟踪为 CVE-2025-30154(CVSS 评分:8.6)。

据称,利用 CVE-2025-30154 的漏洞,未被识别的威胁者能够获取与 “tj-actions/changed-files” 相关联的个人访问令牌(PAT),从而允许他们修改仓库并推送恶意代码,进而影响每一个依赖该 Action 的 GitHub 仓库。

当 “tj-actions/eslint-changed-files” Action 被执行时, “tj-actions/changed-files” CI 运行器的机密信息被泄露,允许攻击者窃取运行器中使用的凭证,包括属于 tj-bot-actions GitHub 用户账户的个人访问令牌(PAT)。

目前怀疑攻击者以某种方式获取了具有写入权限的令牌,从而能够访问 reviewdog 组织并进行恶意修改。不过,攻击者获取该令牌的方式目前尚不清楚。

此外,对 “reviewdog/action-setup” 的恶意提交是通过首先分叉相应仓库,向其提交更改,然后向原始仓库创建分叉拉取请求,最终引入任意提交来完成的——这种情况被称为悬垂提交。

“攻击者采取了重大措施来掩盖他们的踪迹,使用了各种技术,例如利用悬垂提交,创建多个临时 GitHub 用户账户,以及在工作流日志中模糊他们的活动(尤其是在最初的 Coinbase 攻击中),”帕洛阿尔托网络公司高级研究经理吉尔告诉《黑客新闻》,“这些发现表明攻击者技术高超,对 CI/CD 安全威胁和攻击战术有深入了解。”

42 号单元推测,分叉拉取请求背后的用户账户 “iLrmKCu86tjwp8” 可能被隐藏,因为攻击者在注册时从提供的合法电子邮件地址切换到了一次性(或匿名)电子邮件,违反了 GitHub 的政策。

这可能导致用户的所有交互和操作都被隐藏。然而,当被要求置评时,GitHub 既未确认也未否认这一假设,但表示正在积极审查情况并根据需要采取行动。

“目前没有证据表明 GitHub 或其系统被攻破。所强调的项目是用户维护的开源项目,”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 促成的——以便进行未经授权的更改。

另一个值得强调的重要方面是两种情况下使用的攻击载荷的差异,这表明攻击者试图保持低调。

“攻击者在攻击的不同阶段使用了不同的攻击载荷。例如,在广泛攻击中,攻击者转储了运行器的内存,并将存储为环境变量的机密信息打印到工作流的日志中,无论运行的是哪个工作流,”吉尔说。

“然而,在针对 Coinbase 的攻击中,攻击者专门获取了 GITHUB_TOKEN,并确保攻击载荷只在仓库属于 Coinbase 时执行。”

目前尚不清楚此次行动的最终目标是什么,但 “强烈” 怀疑其意图是为了经济利益,很可能是试图进行加密货币盗窃,考虑到对 Coinbase 的高度针对性,吉尔指出。截至 2025 年 3 月 19 日,加密货币交易所已经修复了此次攻击。

此外,目前也不清楚是什么促使攻击者改变策略,将最初的目标攻击转变为大规模且不太隐蔽的行动。

“一种假设是,在意识到他们无法利用其令牌来污染 Coinbase 仓库——并且在得知 Coinbase 已经检测并缓解了攻击之后——攻击者担心失去对 tj-actions/changed-files Action 的访问权限。”吉尔说。

“由于攻破此 Action 可以提供对许多其他项目的访问权限,他们可能决定迅速采取行动。这可以解释为什么他们在 Coinbase 在其端点缓解了暴露风险仅 20 分钟后就发起了广泛攻击,尽管这增加了被发现的风险。”

 


消息来源:The Hacker News

本文由 HackerNews.cc 翻译整理,封面来源于网络;  

转载请注明“转自 HackerNews.cc”并附上原文

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

GitHub Actions 供应链攻击 安全漏洞 CI/CD CVE-2025-30066
相关文章