Skip to main content
ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

依存関係レビューの設定

依存関係レビューを使って、プロジェクトに追加される前に脆弱性を捕捉できます。

依存関係のレビューについて

依存関係レビューを使うと、すべてのPull Reqeustにおける以下の変更による依存関係の変化とセキュリティについての影響を理解しやすくなります。 Pull Requestの"Files Changed(変更されたファイル)"タブ上のリッチdiffで、依存関係の変化を理解しやすく可視化します。 依存関係レビューは、以下のことを知らせます:

  • リリース日と合わせて、追加、削除、更新された依存関係。
  • これらのコンポーネントを使うプロジェクトの数。
  • これらの依存関係に関する脆弱性のデータ。

詳しい情報については「依存関係レビューについて」及び「Pull Request中での依存関係の変化のレビュー」を参照してください。

依存関係レビューの設定について

依存関係レビューは、すべての製品のすべてのパブリックリポジトリで利用可能であり、無効化できません。 依存関係レビューは、GitHub Enterprise Cloudを利用し、GitHub Advanced Securityのライセンスを持っているOrganizationが所有するプライベートリポジトリで利用できます。 詳しい情報についてはGitHub Enterprise Cloudのドキュメンテーションを参照してください。

Dependency Review GitHub Actionの設定

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

The Dependency Review 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任意重要度(lowmoderatehighcritical)の閾値を定義します。
指定された重要度以上の脆弱性を導入するPull Requestについて、このアクションは失敗します。
allow-licenses任意許可されているライセンスのリストを含みます。 このパラメータで利用できる値は、APIドキュメンテーションのLicensesページにあります。
このリストにマッチしないライセンスを持つ依存関係を導入するPull Requestについて、このアクションは失敗します。
deny-licenses任意禁じられているライセンスのリストを含みます。 このパラメータで利用できる値は、APIドキュメンテーションのLicensesページにあります。
このリストにマッチするライセンスを持つ依存関係を導入するPull Requestについて、このアクションは失敗します。

参考: allow-licenses及びdeny-licensesオプションは、相互排他です。

このDependency Review 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:
          # 取り得る値: "critical", "high", "moderate", "low" 
          fail-on-severity: critical
          # この2つの選択肢のいずれかだけを含めることができる: `allow-licenses` and `deny-licences`
          # ([String]). これらのライセンスだけを許可 (オプション)
          # 取り得る値: https://docs.github.com/en/rest/licensesからの任意の`spdx_id`値
          # 許可ライセンス: GPL-3.0, BSD-3-Clause, MIT

          # ([String]). これらのライセンスでPull Requestはブロック (オプション)
          # 取り得る値: https://docs.github.com/en/rest/licensesからの任意の`spdx_id`値
          # 拒否ライセンス: LGPL-2.0, BSD-2-Clause

これらの設定オプションに関する詳細についてはdependency-review-actionを参照してください。