Skip to main content

关于依赖项审查

依赖项审查可让您在将有漏洞的依赖项引入您的环境之前找到它们,并提供关于许可证、依赖项和依赖项存在时间的信息。

依赖项审查包含在公共存储库的 GitHub Enterprise Cloud 中。 要在组织拥有的私有存储库中使用依赖项审查,您必须具有 GitHub Advanced Security 许可证。 更多信息请参阅“关于 GitHub Advanced Security”。

关于依赖项审查

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

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

如果拉取请求针对仓库的默认分支并且包含对包清单或锁定文件的更改,您可以显示依赖项审查以查看更改的内容。 依赖项审查包括对锁定文件中间接依赖项的更改详情,并告诉您任何已添加或更新的依赖项是否包含已知漏洞。

有时,您可能只想更新清单中一个依赖项的版本并生成拉取请求。 但是,如果此直接依赖项的更新版本也更新了依赖项,则拉取请求的更改可能超过您的预期。 每个清单和锁定文件的依赖项审查提供了一种简单的方法来查看更改的内容,以及任何新的依赖项版本是否包含已知的漏洞。

通过检查拉取请求中的依赖项审查并更改被标记为有漏洞的任何依赖项,可以避免将漏洞添加到项目中。 有关依赖项审查工作的更多信息,请参阅“审查拉取请求中的依赖项更改”。

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

Dependabot 警报 将会查找依赖项中存在的漏洞,但避免引入潜在问题比在以后修复它们要好得多。 有关 Dependabot 警报 的更多信息,请参阅“关于 Dependabot 警报”。

依赖项审查支持与依赖关系图相同的语言和包管理生态系统。 更多信息请参阅“关于依赖关系图”。

有关 GitHub Enterprise Cloud 上可用的供应链功能的更多信息,请参阅“关于供应链安全”。

启用依赖项审查

启用依赖关系图时,依赖项审查功能可用。 更多信息请参阅“启用依赖关系图”。

依赖项审查实施

Note: The Dependency Review GitHub Action is currently in public beta and subject to change.

可以使用存储库中的依赖项审查 GitHub 操作对拉取请求强制执行依赖项审查。 该操作将扫描由拉取请求中的包版本更改是否引入有漏洞的依赖项版本,并向您示警相关的安全漏洞。 这便于您更好地了解拉取请求中发生的变化,并有助于防止将漏洞添加到存储库中。 更多信息请参阅 dependency-review-action

依赖项审查操作示例

依赖项审查 GitHub 操作检查在发现任何易受攻击的包时会失败,但只有在存储库所有者要求在合并之前通过检查时,才会阻止合并拉取请求。 更多信息请参阅“关于受保护分支”。

该操作使用依赖项审查 REST API 来获取基本提交和头部提交之间的依赖项更改差异。 您可以使用依赖项审查 API 来获取存储库上任意两个提交之间的依赖项更改差异(包括漏洞数据)。 更多信息请参阅“依赖项审查”。