Skip to main content

配置依赖项审查

可以使用依赖项评审在将漏洞添加到项目之前捕获这些漏洞。

关于依赖项审查

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

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

更多信息请参阅“关于依赖项审查”和“查看拉取请求中的依赖项更改”。

关于配置依赖项审查

依赖项审查包含在公共存储库的 GitHub Enterprise Cloud 中。 要在组织拥有的私有存储库中使用依赖项审查,您必须具有 GitHub Advanced Security 许可证并启用依赖关系图。

仓库管理员可以启用或禁用私有仓库的依赖关系图。

您也可以为用户帐户或组织拥有的所有仓库启用或禁用依赖项图。 For more information, see "Configuring the dependency graph."

  1. 在 GitHub.com 上,导航到仓库的主页面。

  2. 在仓库名称下,单击 Settings(设置)仓库设置按钮

  3. In the "Security" section of the sidebar, click Code security and analysis.

  4. 阅读有关授予 GitHub Enterprise Cloud 只读访问仓库数据的消息,以启用依赖关系图,然后在“Dependency Graph(依赖关系图)”旁边单击 Enable(启用)"Enable" button for the dependency graph You can disable the dependency graph at any time by clicking Disable next to "Dependency Graph" on the settings page for "Code security and analysis."

  5. 如果未启用“GitHub Advanced Security”,请单击该功能旁边的 Enable(启用)强调显示"启用"按钮的 GitHub Advanced Security 功能的屏幕截图

配置 依赖项审查 GitHub Action

Note: The 依赖项审查 GitHub Action is currently in public beta and subject to change.

The 依赖项审查 GitHub Action scans your pull requests for dependency changes and raises an error if any new dependencies have known vulnerabilities. The action is supported by an API endpoint that compares the dependencies between two revisions and reports any differences.

For more information about the action and the API endpoint, see "About dependency review," and "Dependency review" in the API documentation, respectively.

以下是可用的配置选项:

选项必选用法
fail-on-severity可选定义严重性级别的阈值(严重)。
对于引入指定严重性级别或更高级别的漏洞的任何拉取请求,该操作都将失败。
allow-licenses可选包含允许的许可证的列表。 您可以在 API 文档的许可证页面中找到此参数的可能值。
对于引入与列表不匹配的许可证的依赖项的拉取请求,该操作将失败。
deny-licenses可选包含禁止的许可证列表。 您可以在 API 文档的许可证页面中找到此参数的可能值。
对于引入与列表匹配的许可证的依赖项的拉取请求,该操作将失败。

提示: allow-licensesdeny-licenses 选项是互斥的。

此 依赖项审查 GitHub Action 示例文件说明了如何使用这些配置选项。

YAML
name: 'Dependency Review'
on: [pull_request]

permissions:
  contents: read

jobs:
  dependency-review:
    runs-on: ubuntu-latest
    steps:
      - name: 'Checkout Repository'
        uses: actions/checkout@v3
      - name: Dependency Review
        uses: actions/dependency-review-action@v2
        with:
          # Possible values: "critical", "high", "moderate", "low" 
          fail-on-severity: critical
          # You can only can only include one of these two options: `allow-licenses` and `deny-licences`
          # ([String]). Only allow these licenses (optional)
          # Possible values: Any `spdx_id` value(s) from https://docs.github.com/en/rest/licenses 
          # allow-licenses: GPL-3.0, BSD-3-Clause, MIT

          # ([String]). Block the pull request on these licenses (optional)
          # Possible values: Any  `spdx_id` value(s) from https://docs.github.com/en/rest/licenses 
          # deny-licenses: LGPL-2.0, BSD-2-Clause

有关配置选项的更多详细信息,请参阅 dependency-review-action