Skip to main content

配置依赖项审查

可以使用依赖项评审来捕获漏洞,以避免将其添加到项目中。

关于依赖项评审

依赖项审查帮助您了解依赖项变化以及这些变化在每个拉取请求中的安全影响。 它提供了一个易于理解的依赖项变化可视化效果,多差异显示在拉取请求的“更改的文件”选项卡上。 依赖项审查告知您:

  • 哪些依赖项连同发行日期一起添加、删除或更新。
  • 有多少项目使用这些组件。
  • 这些依赖项的漏洞数据。

有关详细信息,请参阅“关于依赖项评审”和“审查拉取请求中的依赖项更改”。

关于配置依赖项审查

为实例启用依赖项关系图并为组织或存储库启用 Advanced Security 后,即可使用依赖项审查功能。有关详细信息,请参阅“为企业启用 GitHub 高级安全性”。

检查是否已启用依赖项关系图

  1. 在 GitHub 上,导航到存储库的主页面。

  2. 在存储库名称下,单击 “设置”。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”。

    存储库标头的屏幕截图,其中显示了选项卡。 “设置”选项卡以深橙色边框突出显示。

  3. 在边栏的“安全性”部分中,单击“ 代码安全性和分析”。

  4. 在“配置安全性和分析功能”下,检查是否启用了依赖项关系图。

  5. 如果已启用依赖项关系图,请单击“GitHub Advanced Security”旁边的“启用”以启用 Advanced Security,其中包含了依赖项审查。 如果企业没有可用的 Advanced Security 许可证,“启用”按钮会禁用。

    “代码安全性和分析”功能的屏幕截图

关于配置 依赖项审查操作

依赖项审查操作 扫描拉取请求,查看是否存在依赖项更改,如果有任何新的依赖项存在已知漏洞,则会引发错误。 API 终结点支持此操作,该终结点比较两个修订之间的依赖关系,并报告任何差异。

有关操作和 API 终结点的详细信息,请参阅 dependency-review-action 文档和“适用于依赖项评审的 REST API 终结点”。

组织所有者可以通过在组织中跨存储库强制使用 依赖项审查操作 来大规模推出依赖项审查。 这涉及使用将 依赖项审查操作 设置为所需工作流的存储库规则集,这意味着一旦工作流通过所有必需的检查,只能合并拉取请求。 有关详细信息,请参阅“在整个组织内强制实施依赖项审查”。

下面是常见的配置选项列表。 有关详细信息和选项的完整列表,请参阅 GitHub Marketplace 上的依赖项评审

选项必选使用情况
fail-on-severity定义严重性级别(lowmoderatehighcritical)的阈值。
对于引入指定严重性级别或更高级别的漏洞的任何拉取请求,该操作都将失败。
fail-on-scopes包含一个字符串列表,这些字符串表示要支持的生成环境(developmentruntimeunknown)。
如果拉取请求引入与列表匹配的范围内的漏洞,此操作将会失败。
comment-summary-in-pr作为拉取请求中的注释启用或禁用审阅摘要报告。 如果启用,则必须向工作流或作业授予 pull-requests: write 权限。
allow-ghsas包含可在检测过程中跳过的 GitHub Advisory Database ID 列表。 可以在 GitHub Advisory Database 中找到此参数的可能值。
config-file指定配置文件的路径。 配置文件可以在存储库本地,也可以位于外部存储库中。
external-repo-token指定用于提取配置文件的令牌(如果该文件位于某个专用外部存储库中)。 该令牌必须具有该存储库的读取访问权限。

延伸阅读