{"meta":{"title":"审核拉取请求中的依赖项变更","intro":"查看拉取请求中的依赖项更改，以识别已添加、更新或删除的依赖项，并在这些依赖项到达生产环境之前检测漏洞。","product":"拉取请求","breadcrumbs":[{"href":"/zh/pull-requests","title":"拉取请求"},{"href":"/zh/pull-requests/how-tos","title":"How-tos"},{"href":"/zh/pull-requests/how-tos/review-pull-requests","title":"评审拉取请求"},{"href":"/zh/pull-requests/how-tos/review-pull-requests/reviewing-dependency-changes-in-a-pull-request","title":"查看依赖项更改"}],"documentType":"article"},"body":"# 审核拉取请求中的依赖项变更\n\n查看拉取请求中的依赖项更改，以识别已添加、更新或删除的依赖项，并在这些依赖项到达生产环境之前检测漏洞。\n\n<!--Marketing-LINK: From /features/security/software-supply-chain page \"Sign up for the dependency review 公开预览\" and \"Reviewing dependency changes in a pull request\".-->\n\n## 关于依赖项评审\n\n依赖项审查帮助您了解依赖项变化以及这些变化在每个拉取请求中的安全影响。 它提供了一个易于理解的依赖项变化可视化效果，多差异显示在拉取请求的“更改的文件”选项卡上。 依赖项审查告知您：\n\n* 与发行日期一起添加、删除或更新的依赖项有哪些\n* 有多少项目使用这些组件\n* 这些依赖项的漏洞数据\n\n依赖项评审有助于在依赖项到达生产环境之前找到易受攻击的依赖项。 请参阅“[依赖项审查](/zh/code-security/concepts/supply-chain-security/dependency-review)”。\n\n您可以使用 依赖项审查操作，帮助对仓库中的拉取请求强制执行依赖项审查。 依赖项审查操作 扫描拉取请求，查看是否存在依赖项更改，如果有任何新的依赖项存在已知漏洞，则会引发错误。 API 终结点支持此操作，该终结点比较两个修订之间的依赖关系，并报告任何差异。\n\n有关操作和 API 终结点的详细信息，请参阅 [`dependency-review-action`](https://github.com/actions/dependency-review-action) 文档和 [适用于依赖项评审的 REST API 终结点](/zh/rest/dependency-graph/dependency-review)。\n\n可以通过指定要捕获的依赖项漏洞类型来配置 依赖项审查操作 以更好地满足需求。 请参阅“[配置依赖项评审操作](/zh/code-security/how-tos/secure-your-supply-chain/manage-your-dependency-security/configure-dependency-review-action)”。\n\n## 审查拉取请求中的依赖项\n\n1. 在存储库名称下，单击“ **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-git-pull-request\" aria-label=\"git-pull-request\" role=\"img\"><path d=\"M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z\"></path></svg> 拉取请求**”。\n\n2. 在拉取请求列表中，单击要审查的拉取请求。\n\n3. 在拉取请求上，单击“<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-file-diff\" aria-label=\"file-diff\" role=\"img\"><path d=\"M1 1.75C1 .784 1.784 0 2.75 0h7.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177l-2.914-2.914a.25.25 0 0 0-.177-.073ZM8 3.25a.75.75 0 0 1 .75.75v1.5h1.5a.75.75 0 0 1 0 1.5h-1.5v1.5a.75.75 0 0 1-1.5 0V7h-1.5a.75.75 0 0 1 0-1.5h1.5V4A.75.75 0 0 1 8 3.25Zm-3 8a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Z\"></path></svg> Files changed”\\*\\*\\*\\*。\n\n   ![拉取请求的选项卡的屏幕截图。 “已更改的文件”选项卡以深橙色突出显示。](/assets/images/help/pull_requests/pull-request-tabs-changed-files.png)\n\n4. 如果拉取请求包含许多文件，请使用“文件筛选器”下拉菜单折叠所有不记录依赖项的文件。 这样，可以更轻松地将评审重点放在依赖项更改上。\n\n![“已更改文件”选项卡的屏幕截图。已展开标有“文件筛选器”的下拉列表，其中显示了包含复选框的文件类型列表。](/assets/images/help/pull_requests/file-filter-menu-json.png)\n依赖项审查可以更清楚地查看大型锁文件中发生了哪些更改，而这类文件默认不会显示源代码差异。\n\n> \\[!NOTE]\n> 依赖项审查丰富差异不适用于已提交的静态 JavaScript 文件，如 `jquery.js`。\n\n1. 若要显示依赖项审查，请单击清单文件或锁定文件标头右侧的 **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-file\" aria-label=\"Display the rich diff\" role=\"img\"><path d=\"M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z\"></path></svg>**。\n\n   ![拉取请求的“已更改的文件”选项卡的屏幕截图。 用于显示丰富差异的按钮（标有文件图标）以深橙色勾勒突显。](/assets/images/help/pull_requests/dependency-review-rich-diff.png)\n\n2. 检查依赖项审查中列出的依赖项。\n\n   ![拉取请求的依赖项审查中漏洞警告的屏幕截图。](/assets/images/help/pull_requests/dependency-review-vulnerability.png)\n\n   任何已添加或更改的有漏洞依赖项先按严重程度排序，然后按依赖项名称排序。 这意味着严重程度最高的依赖项始终处于依赖项审查的顶部。 其他依赖项按其名称的字母顺序排列。\n\n   每个依赖项旁边的图标指示此拉取请求中是否已添加依赖项（<span style=\"color:#22863a\"><svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-diff-added\" aria-label=\"Dependency added icon\" role=\"img\"><path d=\"M2.75 1h10.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1Zm10.5 1.5H2.75a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25ZM8 4a.75.75 0 0 1 .75.75v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5A.75.75 0 0 1 8 4Z\"></path></svg></span>）、更新（<span style=\"color:#b08800\"><svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-diff-modified\" aria-label=\"Dependency modified icon\" role=\"img\"><path d=\"M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z\"></path></svg></span><span style=\"color:#cb2431\"><svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-diff-removed\" aria-label=\"Dependency removed icon\" role=\"img\"><path d=\"M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25Zm8.5 6.25h-6.5a.75.75 0 0 1 0-1.5h6.5a.75.75 0 0 1 0 1.5Z\"></path></svg></span>或删除）。\n\n   其他信息包括：\n\n   * 新、更新或删除的依赖项的版本或版本范围。\n   * 对于依赖项的特定版本：\n     * 依赖项的发布时间。\n     * 依赖于此软件的项目数。 此信息取自依赖关系图。 检查依赖项的数量可以帮助您避免意外添加错误的依赖项。\n     * 此依赖项使用的许可（如果此信息可用）。 如果您想避免在项目中使用带有某些许可证的代码，这会很有用。\n\n   如果依赖项具有已知漏洞，则警告消息包括：\n\n   * 漏洞的简要说明。\n   * 常见漏洞和暴露（CVE）或 GitHub Security Advisories （GHSA）标识号。 您可以单击此 ID 以查找有关漏洞的更多信息。\n   * 漏洞的严重程度。\n   * 修复漏洞的依赖项版本。 为某人审核合并请求时，您可以要求贡献者将依赖项更新到修补版本或更高版本。\n\n3. 您可能还想查看源差异，因为清单或锁定文件可能会发生变化，但不会更改依赖项，也可能存在 GitHub 无法解析的依赖项，因此，这些依赖项不会显示在依赖项审核中。\n\n   要返回到源差异视图，请单击“<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-code\" aria-label=\"Display the source diff\" role=\"img\"><path d=\"m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z\"></path></svg>”按钮。\\*\\*\\*\\*\n\n   ![拉取请求的“已更改的文件”选项卡的屏幕截图。 以橙色框出了用于显示源差异的按钮（显示有代码图标）。](/assets/images/help/pull_requests/dependency-review-source-diff.png)"}