依存関係の確認について
依存関係レビューを使うと、すべてのPull Reqeustにおける以下の変更による依存関係の変化とセキュリティについての影響を理解しやすくなります。pull request の [Files Changed](変更されたファイル) タブ上のリッチ diff で依存関係の変更をわかりやすく視覚化できます。 依存関係レビューは、以下のことを知らせます:
- リリース日と合わせて、追加、削除、更新された依存関係。
- これらのコンポーネントを使うプロジェクトの数。
- これらの依存関係に関する脆弱性のデータ。
詳細については、「依存関係の確認について」および「プルリクエスト内の依存関係の変更をレビューする」を参照してください。
依存関係レビューの構成について
依存関係レビューは、依存関係グラフが お使いの GitHub Enterprise Server インスタンス に対して有効になっていると同時に Advanced Security が Organization またはリポジトリに対して有効になっている場合に使うことができます。 詳しくは、「自社で GitHub Advanced Security を有効にする」をご覧ください。
依存関係グラフが有効になっているかどうかを確認する
-
お使いの GitHub Enterprise Server インスタンス で、リポジトリのメイン ページへ移動します。
-
リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
-
サイドバーの [セキュリティ] セクションで、 [コードのセキュリティと分析] をクリックします。
-
Configure security and analysis features(セキュリティと分析機能の構成) で、依存関係グラフが有効になっているかどうかを確認します。
-
依存関係グラフが有効である場合は、"GitHub Advanced Security" の横にある Enable(有効にする) をクリックして、依存関係レビューを含む Advanced Security を有効にします。 エンタープライズに Advanced Security に使用できるライセンスがない場合、[有効にする] ボタンは無効です。
依存関係レビュー アクション の構成について
依存関係レビュー アクション では、pull request で依存関係の変更をスキャンし、新しい依存関係に既知の脆弱性がある場合にエラーを発生させます。 このアクションは、2 つのリビジョン間の依存関係を比較し、相違点を報告する API エンドポイントによってサポートされます。
アクションと API エンドポイントについて詳しくは、dependency-review-action
のドキュメントと、「依存関係レビュー用の REST API エンドポイント」をご覧ください。
一般的な構成オプションの一覧を示します。 詳細とオプションの完全な一覧については、GitHub Marketplace の「依存関係レビュー」を参照してください。
オプション | 必須 | 使用法 |
---|---|---|
fail-on-severity | 重大度レベル (low 、moderate 、high 、critical ) のしきい値を定義します。アクションは、指定した重大度レベル以上の脆弱性を引き起こす pull request で失敗します。 | |
comment-summary-in-pr | pull request でレビュー概要のレポートをコメントとして有効または無効にしてください。 有効にした場合は、ワークフローまたはジョブに pull-requests: write アクセス許可を付与する必要があります。 | |
allow-ghsas | 検出中にスキップできる GitHub Advisory Database ID の一覧が含まれます。 このパラメーターに指定できる値は、GitHub Advisory Database で見つけることができます。 | |
config-file | 構成ファイルへのパスを指定します。 構成ファイルは、リポジトリに対してローカルにすることも、外部リポジトリにあるファイルにすることもできます。 |
依存関係レビュー アクション の構成について
依存関係レビュー アクション を構成する方法は 2 つあります。
- ワークフロー ファイル内に構成オプションをインライン化する。
- ワークフロー ファイル内で構成オプションを参照する。
すべての例で、アクションに対して、semver リリース番号 (v3.0.8
など) ではなく、短いバージョン番号 (v3
) が使われています。 これにより、アクションの最新のマイナー バージョンを使うことができます。
インライン構成を使って 依存関係レビュー アクション を設定する
-
.github/workflows
フォルダーに新しい YAML ワークフローを追加します。runs-on
の場合、既定のラベルはself-hosted
です。 既定のラベルは、任意のランナーのラベルに置き換えることができます。YAML name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: [self-hosted] steps: - name: 'Checkout Repository' uses: actions/checkout@v4 - name: Dependency Review uses: actions/dependency-review-action@v4
name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: [self-hosted] steps: - name: 'Checkout Repository' uses: actions/checkout@v4 - name: Dependency Review uses: actions/dependency-review-action@v4
-
必要に応じて設定を変更します。
この 依存関係レビュー アクション サンプル ファイルは、利用可能な構成オプションの使用方法を示しています。
YAML name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: [self-hosted] steps: - name: 'Checkout Repository' uses: actions/checkout@v4 - name: Dependency Review uses: actions/dependency-review-action@v4 with: # Possible values: "critical", "high", "moderate", "low" fail-on-severity: critical # ([String]). Skip these GitHub Advisory Database IDs during detection (optional) # Possible values: Any valid GitHub Advisory Database ID from https://github.com/advisories allow-ghsas: GHSA-abcd-1234-5679, GHSA-efgh-1234-5679 # ([String]). Block pull requests that introduce vulnerabilities in the scopes that match this list (optional) # Possible values: "development", "runtime", "unknown" fail-on-scopes: development, runtime
name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: [self-hosted] steps: - name: 'Checkout Repository' uses: actions/checkout@v4 - name: Dependency Review uses: actions/dependency-review-action@v4 with: # Possible values: "critical", "high", "moderate", "low" fail-on-severity: critical # ([String]). Skip these GitHub Advisory Database IDs during detection (optional) # Possible values: Any valid GitHub Advisory Database ID from https://github.com/advisories allow-ghsas: GHSA-abcd-1234-5679, GHSA-efgh-1234-5679 # ([String]). Block pull requests that introduce vulnerabilities in the scopes that match this list (optional) # Possible values: "development", "runtime", "unknown" fail-on-scopes: development, runtime
構成ファイルを使って 依存関係レビュー アクション を設定する
-
.github/workflows
フォルダーに新しい YAML ワークフローを追加し、config-file
を使って構成ファイルを使用していることを指定します。runs-on
の場合、既定のラベルはself-hosted
です。 既定のラベルは、任意のランナーのラベルに置き換えることができます。YAML name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: [self-hosted] steps: - name: 'Checkout Repository' uses: actions/checkout@v4 - name: Dependency Review uses: actions/dependency-review-action@v4 with: # ([String]). Representing a path to a configuration file local to the repository or in an external repository. # Possible values: An absolute path to a local file or an external file. config-file: './.github/dependency-review-config.yml' # Syntax for an external file: OWNER/REPOSITORY/FILENAME@BRANCH config-file: 'github/octorepo/dependency-review-config.yml@main' # ([Token]) Use if your configuration file resides in a private external repository. # Possible values: Any GitHub token with read access to the private external repository. external-repo-token: 'ghp_123456789abcde'
name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: [self-hosted] steps: - name: 'Checkout Repository' uses: actions/checkout@v4 - name: Dependency Review uses: actions/dependency-review-action@v4 with: # ([String]). Representing a path to a configuration file local to the repository or in an external repository. # Possible values: An absolute path to a local file or an external file. config-file: './.github/dependency-review-config.yml' # Syntax for an external file: OWNER/REPOSITORY/FILENAME@BRANCH config-file: 'github/octorepo/dependency-review-config.yml@main' # ([Token]) Use if your configuration file resides in a private external repository. # Possible values: Any GitHub token with read access to the private external repository. external-repo-token: 'ghp_123456789abcde'
-
指定したパスに構成ファイルを作成します。
この YAML ファイルの例は、利用可能な構成オプションの使用方法を示しています。
YAML # Possible values: "critical", "high", "moderate", "low" fail-on-severity: critical # ([String]). Skip these GitHub Advisory Database IDs during detection (optional) # Possible values: Any valid GitHub Advisory Database ID from https://github.com/advisories allow-ghsas: - GHSA-abcd-1234-5679 - GHSA-efgh-1234-5679 # ([String]). Block pull requests that introduce vulnerabilities in the scopes that match this list (optional) # Possible values: "development", "runtime", "unknown" fail-on-scopes: - development - runtime
# Possible values: "critical", "high", "moderate", "low" fail-on-severity: critical # ([String]). Skip these GitHub Advisory Database IDs during detection (optional) # Possible values: Any valid GitHub Advisory Database ID from https://github.com/advisories allow-ghsas: - GHSA-abcd-1234-5679 - GHSA-efgh-1234-5679 # ([String]). Block pull requests that introduce vulnerabilities in the scopes that match this list (optional) # Possible values: "development", "runtime", "unknown" fail-on-scopes: - development - runtime
構成オプションの詳細については、「dependency-review-action
」を参照してください。