大多数 GitHub Actions 工作流在某种程度上是不安全的

阅读量60079

发布时间 : 2024-07-19 11:36:17

x
译文声明

本文是翻译文章,文章原作者 Help Net Security,文章来源:HELPNETSECURITY

原文地址:https://www.helpnetsecurity.com/2024/07/17/insecure-github-actions-workflows/

译文仅供参考,具体内容表达以及含义原文为准。

GitHub Actions 安全漏洞带来重大风险

该报告发现,GitHub Actions市场的安全状况尤其令人担忧,大多数自定义操作未经验证,由一个开发人员维护,或根据OpenSSF记分卡生成低安全分数。

GitHub Actions 安全性是开源安全性的一个重要方面。不安全的 GitHub Actions 可能允许攻击者破坏开源并发起供应链攻击,或将其用作使用 GitHub 的组织的初始攻击媒介。

“GitHub 是一个非常受欢迎的平台。事实上,超过 1 亿开发人员和超过 90% 的财富 100 强公司使用它,“Legit Security 研究主管 Roy Blit 说。

“然而,尽管它很受欢迎,但大多数 GitHub Actions 工作流程在某种程度上都是不安全的——从过度特权到具有高风险依赖关系。例如,我们过去的研究发现,即使是来自谷歌和Apache等全球企业的项目也存在缺陷。这些发现令人震惊,因为 GitHub Actions 提供了关键基础设施的关键。它们连接到组织的源代码及其部署环境,因此一旦被利用,组织就完全掌握在攻击者的手中,“Blit补充道。

GitHub 已迅速成为开发人员社区的重要资源,它使开发人员能够在开发项目上协同工作并实时查看彼此的更改。GitHub Actions 通过事件驱动的触发器将自动化添加到软件开发生命周期中。这些触发器是指定的事件,范围从创建拉取请求到在存储库中构建新分支。

毫不奇怪,GitHub 用户继续增长,截至 2023 年 1 月,拥有 400 多万个组织和超过 4.2 亿个存储库,其中超过 2800 万个公共用户。

在 GitHub Actions 工作流中发现的漏洞

研究人员在 7,000 多个工作流程中发现了不受信任输入的插值;在 2,500 多个工作流中执行不受信任的代码;以及在 3,000 多个工作流中使用不可信的工件。

Legit 检查了触发器、作业、步骤、运行器和权限,发现了重大风险。例如,作业和步骤使用的 98% 的引用不遵循依赖项固定的最佳做法(可防止意外更改或更新),并且 86% 的工作流不限制令牌权限。

Legit 发现社区为增强 GitHub Actions 功能而开发的 Actions 的安全状态令人担忧。在市场中的 19,113 个自定义 GitHub Actions 中,只有 913 个是由经过验证的 GitHub 用户创建的;18%的人有脆弱的依赖性;762 个已存档,不接收定期更新;OSSF 的平均安全得分为 4.23 分(满分 10 分);大多数由单个开发人员维护。

对团队进行 GitHub Action 安全性培训

与任何开源开发人员一样,自定义操作开发人员没有义务发布其代码中发现的漏洞的 CVE,有时他们明确拒绝这样做。

自定义操作的贡献者数量强烈反映了其可信度。贡献者数量越多,表明社区参与范围越广,发展越积极。这种协作努力可以提高安全性、测试和整体质量。

不幸的是,市场上的大多数 GitHub Actions 都是由单个开发人员维护的。之所以会出现这种情况,是因为许多自定义操作的范围很小,不需要花费大量精力来创建和维护。

为了降低风险,组织必须优先教育其开发和运营团队了解与 GitHub Actions 相关的安全风险,包括正确处理机密、代码注入的危险以及使用第三方操作的最佳实践。

此外,组织应使用 GitHub 的内置功能来控制 GitHub Actions 行为,以强制实施最佳实践,并利用与 GitHub 无缝集成的安全工具进行持续安全扫描。

本文翻译自HELPNETSECURITY 原文链接。如若转载请注明出处。
分享到:微信
+10赞
收藏
安全客
分享到:微信

发表评论

内容需知
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全客 All Rights Reserved 京ICP备08010314号-66