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

依存関係レビューの設定

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

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

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

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

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

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

依存関係レビューは、パブリックリポジトリに対してGitHub Enterprise Cloudに含まれています。 依存関係レビューをOrganizationが所有するプライベートリポジトリで使うには、GitHub Advanced Securityを持っていることと、依存関係グラフが有効化されていることが必要です。

リポジトリ管理者は、プライベートリポジトリに対して依存関係グラフを有効または無効にすることができます。

ユーザアカウントまたは Organization が所有するすべてのリポジトリの依存関係グラフを有効または無効にすることもできます。 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(有効化)をクリックしてください。 "Enable" ボタンが強調されたGitHub Advanced Security機能のスクリーンショット

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を参照してください。