Skip to main content

配置依赖项审查

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

关于依赖项评审

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

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

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

关于配置依赖项审查

依赖项审查在所有产品的所有公共存储库中都可用,并且无法禁用。 依赖项审查在使用 GitHub Enterprise Cloud 并拥有 GitHub Advanced Security 许可证的组织拥有的专用存储库中可用。 有关详细信息,请参阅 GitHub Enterprise Cloud 文档

配置 dependency review action

注意:dependency review action 目前为公开 beta 版本,可能会有所变化。

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

有关操作和 API 终结点的详细信息,请参阅 API 文档中的“关于依赖项审查”和“依赖项审查”。

可用配置选项如下。

选项必选使用情况
fail-on-severity可选定义严重性级别(lowmoderatehighcritical)的阈值。
对于引入指定严重性级别或更高级别的漏洞的任何拉取请求,该操作都将失败。

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

此 dependency review 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