GitHub 漏洞“ArtiPACKED”导致存储库面临被接管的风险
GitHub 漏洞“ArtiPACKED”导致存储库面临被接管的风险
GitHub Actions 工件中新发现的一个攻击媒介被称为ArtiPACKED,可被利用来接管存储库并获取组织云环境的访问权限。
Palo Alto Networks Unit 42 研究员 Yaron Avital在本周发布的一份报告中表示: “配置错误和安全漏洞的结合可能会导致工件泄露令牌,包括第三方云服务和 GitHub 令牌,从而使任何具有存储库读取权限的人都可以使用它们。”
“这使得能够访问这些工件的恶意行为者有可能危及这些秘密授予访问权限的服务。”
该网络安全公司表示,它主要观察到 GitHub 令牌(例如 GITHUB_TOKEN 和 ACTIONS_RUNTIME_TOKEN)的泄漏,这不仅可以让恶意行为者未经授权访问存储库,还可以让他们能够毒害源代码并通过 CI/CD 工作流将其推送到生产中。
GitHub 中的 Artifacts允许用户在工作流程中的作业之间共享数据,并在完成后保留该信息 90 天。这可以包括构建、日志文件、核心转储、测试输出和部署包。
这里的安全问题是,对于开源项目来说,这些工件对任何人都是公开的,这使它们成为提取 GitHub 访问令牌等机密的宝贵资源。
具体来说,这些工件被发现暴露了一个名为ACTIONS_RUNTIME_TOKEN的未记录的环境变量,该变量的寿命约为六个小时,可用于在工件过期之前用恶意版本替换工件。
当开发人员直接下载并执行恶意工件,或者存在配置为基于先前上传的工件运行的后续工作流作业时,这可能会打开远程代码执行的攻击窗口。
虽然 GITHUB_TOKEN 会在作业结束时过期,但版本 4对工件功能所做的改进意味着攻击者可以利用竞争条件场景,通过在工作流运行过程中下载工件来窃取和使用令牌。
随后,盗用的令牌可用于在流水线作业结束且令牌失效之前创建新分支,从而将恶意代码推送到存储库。然而,这种攻击依赖于工作流具有“内容:写入”权限。
这里要注意的一点是,GitHub 令牌不是存储库代码的一部分,但只有在触发 CI/CD 管道并上传包含令牌的工件时才会暴露,从而允许攻击者下载工件、访问令牌并使用它来向存储库注入恶意代码。
已发现许多与亚马逊网络服务 (AWS)、谷歌、微软、红帽和 Ubuntu 相关的开源存储库易受攻击。GitHub 则将此问题归类为信息性问题,要求用户自行保护其上传的工件。
“GitHub 弃用 Artifacts V3 应该促使使用工件机制的组织重新评估其使用方式,”Avital 说。“构建工件等被忽视的元素通常会成为攻击者的主要目标。”
评论1次
超赞。这个早前还没有被发现