什么是 GitHub 高级安全?

已完成

GitHub 具有许多功能,可帮助你提高和维护代码的质量。 其中一些功能包含在所有计划中,例如依赖项关系图和 Dependabot 警报。 其他人仅在公共存储库上以有限的功能模式运行。 还有其他一些需要 GitHub 高级安全许可证才能在私有仓库上运行。

在本单元中,你将详细了解 GitHub 高级安全性,并发现具有 GitHub 高级安全性的项目的外观。

GitHub 高级安全功能

下表总结了公共和专用存储库上 GitHub 高级安全功能的可用性。

功能 公共存储库 没有高级安全性的专用存储库 具有高级安全性的专用存储库
代码扫描 是的 是的
机密扫描 是(仅限有限功能) 是的
依赖项检查 是的 是的
安全概览 是的

如上表所述,除安全概述之外的所有 GitHub 高级安全功能默认为 GitHub.com 上的所有公共存储库启用。 若要在专用存储库和内部存储库上访问这些功能,需要具有 GitHub 高级安全许可证的 GitHub 企业帐户。

GitHub 高级安全许可证为专用存储库和内部存储库提供这些功能:

  • 代码扫描:自动检测常见漏洞和编码错误。
  • 机密扫描:在签入机密或密钥时接收警报,从扫描中排除文件,并定义多达 100 种自定义模式。
  • 依赖项评审:显示依赖项更改的全部效果,并在合并拉取请求之前查看任何易受攻击版本的详细信息。
  • 安全概述:查看组织的安全配置和警报,并识别存在最大风险的存储库。

软件开发生命周期中的 GitHub 高级安全性

那么,GitHub 高级安全功能在软件开发生命周期中有什么区别? 让我们先了解一个基本安全方案。

表示传统安全方法中软件开发生命周期的不同阶段的关系图。

此示例说明了一种传统的 安全门控 方法,其中单个安全测试或一系列安全测试是在质量保证阶段进行的。 在这种情况下,安全性最终成为交付软件的瓶颈。 这种情况是您的公司希望通过将安全措施前移来解决的。

现在,让我们看一下 GitHub Advanced Security 的相同软件开发生命周期。

表示使用 GitHub 高级安全性的软件开发生命周期的不同阶段的关系图。

项目配置阶段通过安全策略从一开始就设置安全性。 开发人员在开发过程的每个步骤中都会收到潜在安全问题的警报:

  • 代码扫描:每次提交和合并时扫描潜在的漏洞和编码错误。
  • 密码扫描:每次提交和合并时扫描意外提交的令牌和私钥。
  • 依赖项评审:跟踪项目依赖项更改及其对项目安全性的影响。 它将存储库清单文件与每个拉取请求中已知漏洞的数据库进行比较。

此外, 安全概述 为管理员提供了项目安全状态的高级视图。 此视图允许管理员识别需要干预的有问题的存储库。

在进入质量保证阶段之前,会多次查看代码的安全性,因此在发货前出现瓶颈的可能性较小,技术债务更少。