关于依赖项审查
依赖项审查帮助你了解依赖项更改以及这些更改在每个拉取请求中的安全影响。它在拉取请求的“已更改文件”选项卡中提供依赖项更改的易于理解的可视化效果,并提供丰富的 diff。依赖项审查会告知你
- 添加、删除或更新了哪些依赖项,以及发布日期。
- 有多少项目使用这些组件。
- 这些依赖项的漏洞数据。
依赖项审查允许你“左移”。你可以使用提供的预测信息来在漏洞依赖项进入生产环境之前捕获它们。有关更多信息,请参阅“关于依赖项审查”。
你可以使用依赖项审查操作来帮助强制执行存储库中拉取请求的依赖项审查。依赖项审查操作会扫描你的拉取请求以查找依赖项更改,如果发现任何新依赖项具有已知漏洞,则会引发错误。该操作受 API 端点的支持,该端点会比较两个修订之间的依赖项并报告任何差异。
有关操作和 API 端点的更多信息,请参阅 dependency-review-action
文档和“依赖项审查的 REST API 端点”。
你可以通过指定希望捕获的依赖项漏洞类型来配置依赖项审查操作以更好地满足你的需求。有关更多信息,请参阅“配置依赖项审查”。
查看拉取请求中的依赖项
-
在存储库名称下,单击 请求.
-
在拉取请求列表中,单击要查看的拉取请求。
-
在请求中,单击 已更改的文件.
-
如果请求包含多个文件,请使用文件筛选器下拉菜单折叠所有不记录依赖项的文件。这将使您更容易将审查重点放在依赖项更改上。
依赖项审查提供了对大型锁定文件中更改内容的更清晰视图,其中默认情况下不会呈现源差异。注意:依赖项审查富差异不可用于已提交的静态 JavaScript 文件,如
jquery.js
。 -
在清单或锁定文件的标题右侧,单击以显示依赖项审查。
-
检查依赖项审查中列出的依赖项。
任何具有漏洞的已添加或已更改的依赖项都会首先列出,按严重性排序,然后按依赖项名称排序。这意味着最高严重性的依赖项始终位于依赖项审查的顶部。其他依赖项按依赖项名称按字母顺序排列。
每个依赖项旁边的图标指示该依赖项是已添加 ()、已更新 () 或已删除 () 在此请求中。
其他信息包括
- 新、更新或已删除依赖项的版本或版本范围。
- 对于依赖项的特定版本
- 该依赖项发布的日期。
- 依赖于此软件的项目数量。此信息取自依赖项图。检查依赖项的数量可以帮助你避免意外添加错误的依赖项。
- 此依赖项使用的许可证(如果此信息可用)。如果你想避免在项目中使用具有某些许可证的代码,这会很有用。
当依赖项具有已知漏洞时,警告消息包括
- 漏洞的简要说明。
- 通用漏洞和披露 (CVE) 或 GitHub 安全公告 (GHSA) 识别号。你可以单击此 ID 以了解有关漏洞的更多信息。
- 漏洞的严重性。
- 漏洞已修复的依赖项版本。如果你正在审阅某人的拉取请求,你可能会要求贡献者将依赖项更新到已修补的版本或更高版本。
-
你可能还想审阅源代码差异,因为清单或锁定文件中可能存在不会更改依赖项的更改,或者可能存在 GitHub 无法解析的依赖项,因此不会出现在依赖项审阅中。
要返回到源代码差异视图,请单击 按钮。