Skip to main content

Reviewing dependency changes in a pull request

If a pull request contains changes to dependencies, you can view a summary of what has changed and whether there are known vulnerabilities in any of the dependencies.

依存関係の確認は、パブリック リポジトリで有効になっています。 また、依存関係の確認は、GitHub Enterprise Cloud を使用し、GitHub Advanced Security のライセンスを持つ Organization によって所有されるプライベート リポジトリでも利用できます。 詳細については、「GitHub Advanced Security について」を参照してください。

About dependency review

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

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

Dependency review allows you to "shift left". You can use the provided predictive information to catch vulnerable dependencies before they hit production. For more information, see "About dependency review."

You can use the dependency review action to help enforce dependency reviews on pull requests in your repository. dependency review action では、pull request で依存関係の変更をスキャンし、新しい依存関係に既知の脆弱性がある場合にエラーを発生させます。 このアクションは、2 つのリビジョン間の依存関係を比較し、相違点を報告する API エンドポイントによってサポートされます。

アクションと API エンドポイントについて詳しくは、dependency-review-action のドキュメントと、API のドキュメントで「依存関係の確認」をご覧ください。

You can configure the dependency review action to better suit your needs by specifying the type of dependency vulnerability you wish to catch. For more information, see "Configuring dependency review."

Reviewing dependencies in a pull request

  1. リポジトリ名の下にある [pull request] をクリックします。 [Issues and pull requests](issue と pull request) タブの選択

  2. プルリクエストのリストで、レビューしたいプルリクエストをクリックします。

  3. On the pull request, click Files changed. Pull Request Files changed tab

  4. If the pull request contains many files, use the File filter drop-down menu to collapse all files that don't record dependencies. This will make it easier to focus your review on the dependency changes.

    The file filter menu The dependency review provides a clearer view of what has changed in large lock files, where the source diff is not rendered by default.

    Note: Dependency review rich diffs are not available for committed static JavaScript files like jquery.js.

  5. On the right of the header for a manifest or lock file, display the dependency review by clicking the rich diff button.

    The rich diff button

  6. Check the dependencies listed in the dependency review.

    Vulnerability warnings in a dependency review

    Any added or changed dependencies that have vulnerabilities are listed first, ordered by severity and then by dependency name. This means that the highest severity dependencies are always at the top of a dependency review. Other dependencies are listed alphabetically by dependency name.

    The icon beside each dependency indicates whether the dependency has been added (), updated (), or removed () in this pull request.

    Other information includes:

    • The version, or version range, of the new, updated, or deleted dependency.
    • For a specific version of a dependency:
      • The age of that release of the dependency.
      • The number of projects that are dependent on this software. This information is taken from the dependency graph. Checking the number of dependents can help you avoid accidentally adding the wrong dependency.
      • The license used by this dependency, if this information is available. This is useful if you want to avoid code with certain licenses being used in your project.

    Where a dependency has a known vulnerability, the warning message includes:

    • A brief description of the vulnerability.
    • A Common Vulnerabilities and Exposures (CVE) or GitHub Security Advisories (GHSA) identification number. You can click this ID to find out more about the vulnerability.
    • The severity of the vulnerability.
    • The version of the dependency in which the vulnerability was fixed. If you are reviewing a pull request for someone, you might ask the contributor to update the dependency to the patched version, or a later release.
  7. 依存関係を変化させないような変更がマニフェストあるいはロックファイルに行われているかもしれず、あるいはGitHubがパースできず、その結果として依存関係レビューに現れてこない依存関係があるかもしれないので、ソースdiffをレビューしたいこともあるでしょう。

    ソース diff のビューに戻るには、 ボタンをクリックしてください。

    ソース diff ボタン