Skip to main content

关于供应链安全性

GitHub AE 有助于保护供应链,通过从了解环境中的依赖项到了解这些依赖项中的漏洞。

关于 GitHub 上的供应链安全性

随着开放源代码的加速使用,大多数项目都依赖于数百个开源依赖项。 这就带来了一个安全问题:如果你正在使用的依赖项有漏洞,该怎么办? 你可能会使用户面临供应链攻击的风险。 保护供应链最重要的操作之一就是修补易受攻击的依赖项。

当你在清单文件或锁定文件中指定依赖项时,可以直接将它们添加到供应链。 依赖项也可以通过可传递方式包含在内,也就是说,即使你没有指定某个特定的依赖项,但你的某个依赖项使用了它,那么你也会依赖于该依赖项。

GitHub AE 提供了一系列功能,可帮助你了解环境中的依赖项,并了解这些依赖项中的漏洞。

GitHub AE 上的供应链功能包括:

  • 依赖项关系图
  • 依赖项审查
  • Dependabot alerts

依赖项关系图是供应链安全性的核心。 依赖项关系图标识了存储库或包的所有上游依赖项和公共下游依赖项。 你可以在存储库的依赖项关系图上看到存储库的依赖项和它们的一些属性,例如漏洞信息。

GitHub 上的其他供应链功能依赖于依赖项关系图提供的信息。

  • 依赖项审查使用依赖项关系图来标识依赖项更改,在你审查拉取请求时,可帮助你了解这些更改的安全影响。
  • Dependabot 通过 GitHub Advisory Database 中发布的公告列表交叉引用依赖项关系图提供的依赖项数据,扫描依赖项并在检测到潜在漏洞时生成 Dependabot alerts。

功能概述

什么是依赖项关系图

为了生成依赖项关系图,GitHub 会查看清单和锁定文件中声明的存储库显式依赖项。 启用后,依赖项关系图会自动分析存储库中的所有已知包清单文件,并以此来构造一个包含已知依赖项名称和版本的关系图。

  • 依赖项关系图包含有关直接依赖项和可传递依赖项的信息。
  • 当你将提交推送到 GitHub 以更改受支持的清单或锁定文件或者将其添加到默认分支时,以及当任何人将更改推送到某个依赖项的存储库时,依赖项关系图会自动更新。
  • 可以通过打开 GitHub AE 上的存储库主页,并导航到“见解”选项卡来查看依赖项关系图。

有关依赖项关系图的详细信息,请参阅“关于依赖项关系图”。

什么是依赖项审查

依赖项审查可帮助审阅者和参与者了解每个拉取请求中的依赖项更改及其安全性影响。

  • 依赖项审查会在拉取请求中告知你已经添加、移除或更新了哪些依赖项。 你可以使用发布日期、依赖项的受欢迎程度和漏洞信息来帮助决定是否接受更改。
  • 可以通过在“已更改的文件”选项卡上显示多差异来查看拉取请求的依赖项审查。

有关依赖项审查的详细信息,请参阅“关于依赖项审查”。

什么是 Dependabot

Dependabot 通过告知你的依赖项中的任何安全漏洞使依赖项保持最新这样你就可以更新该依赖项。

Dependabot alerts 不需要 GitHub Actions 才能在 GitHub AE 上运行。

什么是 Dependabot 警报

Dependabot alerts 基于依赖项关系图和 GitHub Advisory Database 突出显示了受新发现的漏洞影响的存储库,其中包含已知漏洞的公告。

  • Dependabot 执行扫描以检测不安全的依赖项,并在以下情况下发送 Dependabot alerts:
  • Dependabot alerts 显示在存储库的依赖项关系图中。 警报包括项目中受影响文件的有关已修复的版本的信息。

有关详细信息,请参阅“关于 Dependabot alerts”。

功能可用性

  • 依赖项关系图和 Dependabot alerts - 默认未启用。 这两项功能由企业所有者在企业级别进行配置。 有关详细信息,请参阅 “为企业启用 Dependabot ”。
  • 依赖项审查 - 为 your enterprise 启用依赖项关系图并为组织或存储库启用 Advanced Security 时可用。 有关详细信息,请参阅“关于 GitHub Advanced Security”。