正式发布 GitHub Actions Advisor 和 StepSecurity 维护 Actions

革新 GitHub Actions 安全:推出 StepSecurity GitHub Actions 顾问和托管 Actions,实现更安全、更高效的 DevOps

当前,GitHub Actions 市场已有超过 20,000 个适用于不同场景的 Actions,涵盖测试、发布、安全等领域。企业通常会在其 GitHub 组织中使用数百个此类第三方 Actions,但缺乏评估这些 Actions 风险的方法。

如果您的组织使用 GitHub Actions,且您是安全团队或 DevOps 团队的成员,您可能已经建立了审查和批准组织内使用第三方 GitHub Action 的流程。您可能花费大量时间和精力审查第三方 GitHub Actions 的代码,并将它们 fork 到您的 GitHub 组织中使用 fork 后的版本。所有这些繁琐的工作需要专门的人员,且有可能拖慢那些只想在流水线中使用各种 GitHub Actions 的开发人员。

这就是 StepSecurity 的用武之地:通过推出 GitHub Actions 顾问和 StepSecurity 托管 Actions,彻底改变了这一流程。

GitHub Actions 顾问

StepSecurity 自动为公共 GitHub Actions 计算安全评分,帮助您根据自身的风险承受能力决定是否使用该 GitHub Actions。评分基于以下六个属性计算:

  1. 维护状态 — 该项目是否处于活跃维护状态,还是已被放弃?
  2. 漏洞 — 该 GitHub Actions 是否存在未修复的漏洞?
  3. 流行度 — 该 GitHub Actions 是否流行并被其他项目使用?
  4. 分支保护 — 该 GitHub Actions 的项目是否使用了分支保护?
  5. 许可证 — 该 GitHub Actions 的项目是否声明了许可证?
  6. 安全策略 — 该 GitHub Actions 的项目是否包含安全策略?

让我们看一个示例。这是 codecov/codecov-action 的 GitHub Actions 安全评分。由于它处于活跃维护状态、流行度高且没有任何已知漏洞,因此获得了 9/10 的高分。

Code-cov Action

GitHub Actions Security Score for codecov/codecov-action

GitHub Actions Security Score for codecov/codecov-action

以下是低评分 Actions 的示例。​TimonVS/pr-labeler-action 不再处于活跃维护状态(上次更新已是两年多前),存在已知漏洞,且没有安全策略。

GitHub Actions Security Score for TimonVS/pr-labeler-action

您可以在 GitHub Actions 顾问 查看您使用的 Actions 的评分

GitHub Actions 的网络行为

除了基于 GitHub Actions 代码和仓库设置静态分析得出的评分外,我们还提供基于运行时分析的网络行为信息。这些信息告诉您 GitHub Action 通常会发出哪些出站调用。

这些数据可以明确揭示某个 Action 是否可能正在向可疑目的地发出出站调用。这是一个常见风险——恶意或被入侵的 Actions 会试图从运行器中窃取代码或 CI/CD 凭证。仅靠静态分析无法检测到这些攻击模式。

网络行为数据由 StepSecurity Harden-Runner 计算,它为 GitHub 托管和自托管运行器提供网络和运行时安全。我们从超过 2,200 个使用 Harden-Runner 的开源项目中汇总这些洞察,因此拥有许多第三方 GitHub Actions 的运行时行为洞察。我们不会将企业客户在私有仓库中的 Harden-Runner 洞察用于此分析。

例如,​codecov/codecov-action 的网络行为如下所示。大多数调用都指向 codecov.io 主机,其中一个指向 Google Storage API 用于上传测试结果。

Networking Behavior of codecov/codecov-action

Networking Behavior of codecov/codecov-action

StepSecurity 托管 Actions

当您查看组织使用的 Actions 评分时,您可能会意识到其中许多评分较低,而且许多可能已被放弃。在这种情况下,为了降低风险,您可能正在自己 fork 和维护第三方 Actions。这会影响开发人员的工作效率,因为开发人员必须等待 Action 的审查和 fork 过程。这也耗费时间,因为安全或 DevOps 团队现在需要永久维护这些 Actions。

为了解决这些挑战,StepSecurity 很高兴宣布推出 StepSecurity 托管 Actions。这些是由 StepSecurity 维护的开源 Actions。我们在 fork 之前以及对上游仓库的更新进行合并之前,会对代码进行手动和自动审查。我们还应用安全最佳实践来提高这些 StepSecurity 托管 Actions 的安全评分。

StepSecurity 托管 Actions 作为我们的团队版和企业版计划的一部分提供。它大大降低了客户的风险和繁琐的手动工作,同时提高了开发人员的工作效率,因为开发人员现在可以使用以前可能未获批准使用的第三方 Actions。

以下是 StepSecurity 托管 Actions 的一个示例,以及它与原始 Action 在安全评分方面的对比。

Comparison of a StepSecurity Maintained Action with the Original Action

Comparison of a StepSecurity Maintained Action with the Original Action

要试用 StepSecurity 托管 Actions,您可以开始免费试用

关于管理第三方 Actions 风险的网络研讨会

我们关于"在 CI/CD 中管理第三方 GitHub Actions 的风险"的网络研讨会讨论了如何安全地在您的工作流中使用第三方 Actions。在此观看完整的网络研讨会录像:

StepSecurity GitHub App

如果您正在使用 StepSecurity GitHub Actions 安全平台,您可以点击 Actions 菜单查看组织内使用的所有 Actions 的评分。

StepSecurity Platform showing all GitHub Actions in use along with their security scores

StepSecurity Platform showing all GitHub Actions in use along with their security scores

您还可以使用菜单选项查看所有可用的 StepSecurity 托管 Actions。

StepSecurity Maintained Actions

StepSecurity Maintained Actions

如果您尚未使用 StepSecurity GitHub Actions 安全平台,您可以开始免费试用