# プルリクエスト内の依存関係の変更をレビューする

プルリクエストに依存関係への変更が含まれている場合は、変更内容の概要と、依存関係に既知の脆弱性があるかどうかを確認できます。

<!--Marketing-LINK: From /features/security/software-supply-chain page "Sign up for the dependency review パブリック プレビュー" and "Reviewing dependency changes in a pull request".-->

## 依存関係の確認について

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

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

依存関係のレビューでは、「左にシフト」することができます。 提供された予測情報を使用して、本番環境に至る前に脆弱性のある依存関係をキャッチできます。 詳しくは、「[依存関係の確認](/ja/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)」をご覧ください。

依存関係レビュー アクション を使って、リポジトリ内の pull request に依存関係レビューを適用できます。 依存関係レビュー アクション では、pull request で依存関係の変更をスキャンし、新しい依存関係に既知の脆弱性がある場合にエラーを発生させます。 このアクションは、2 つのリビジョン間の依存関係を比較し、相違点を報告する API エンドポイントによってサポートされます。

アクションと API エンドポイントの詳細については、[`dependency-review-action`](https://github.com/actions/dependency-review-action) ドキュメントと「[依存関係レビュー用の REST API エンドポイント](/ja/rest/dependency-graph/dependency-review)」を参照してください。

キャッチする依存関係の脆弱性の種類を指定することで、ニーズに合わせて 依存関係レビュー アクション を構成できます。 詳しくは、「[依存関係レビュー アクションの構成](/ja/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-review-action)」をご覧ください。

## プルリクエスト内の依存関係を確認する

1. リポジトリ名の下にある **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-pull-request" aria-label="git-pull-request" role="img"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path></svg> \[Pull requests]** をクリックします。

   ![リポジトリのメイン ページのスクリーンショット。 水平ナビゲーション バーでは、\[pull request\] というラベルが付いたタブが濃いオレンジ色の枠線で囲まれています。](/assets/images/help/repository/repo-tabs-pull-requests-global-nav-update.png)1. プルリクエストのリストで、レビューしたいプルリクエストをクリックします。1. Pull request で、**\[<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-file-diff" aria-label="file-diff" role="img"><path d="M1 1.75C1 .784 1.784 0 2.75 0h7.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177l-2.914-2.914a.25.25 0 0 0-.177-.073ZM8 3.25a.75.75 0 0 1 .75.75v1.5h1.5a.75.75 0 0 1 0 1.5h-1.5v1.5a.75.75 0 0 1-1.5 0V7h-1.5a.75.75 0 0 1 0-1.5h1.5V4A.75.75 0 0 1 8 3.25Zm-3 8a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Z"></path></svg> Files changed]** をクリックします。

   ![pull request のタブのスクリーンショット。 \[変更されたファイル\] タブが濃いオレンジ色の枠線で囲まれています。](/assets/images/help/pull_requests/pull-request-tabs-changed-files.png)

2. pull request に多くのファイルが含まれている場合は、 **\[ファイル フィルター]** ドロップダウン メニューを使って、依存関係を記録していないファイルをすべて折りたたみます。 これにより、レビューを依存関係の変更に焦点を絞りやすくなります。

![\[変更されたファイル\] タブのスクリーンショット。\[ファイル フィルター\] というラベルの付いたドロップダウンが展開され、チェックボックス付きのファイルの種類の一覧が表示されています。](/assets/images/help/pull_requests/file-filter-menu-json.png)
依存関係レビューを使用すると、通常はソースの差分が表示されない大きなロックファイルの変更内容がより明確に把握できます。

> \[!NOTE]
> 依存関係レビュー リッチ diff は、`jquery.js` のような、コミットされた静的 JavaScript ファイルでは使用できません。

1. マニフェストまたはロック ファイルのヘッダーの右側で、 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-file" aria-label="Display the rich diff" role="img"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>** ボタンをクリックして、依存関係レビューを表示してください。

   ![pull request の \[変更されたファイル\] タブのスクリーンショット。 ファイル アイコンのラベルが付いたリッチ diff を表示するボタンが、濃いオレンジ色の枠線で囲まれています。](/assets/images/help/pull_requests/dependency-review-rich-diff.png)

2. 依存関係のレビューにリストされている依存関係を確認します。

   ![pull request の依存関係レビューの脆弱性の警告のスクリーンショット。](/assets/images/help/pull_requests/dependency-review-vulnerability.png)

   脆弱性のある追加または変更された依存関係が最初に一覧表示され、次に重要度、依存関係名の順に並べられます。 これは、最も重要度の高い依存関係が、常に依存関係レビューの最上位に表示されるということです。 その他の依存関係は、依存関係名のアルファベット順に一覧表示されます。

   各依存関係の横にあるアイコンは、この pull request 内で、依存関係が追加 (<span style="color:#22863a"><svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-diff-added" aria-label="Dependency added icon" role="img"><path d="M2.75 1h10.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1Zm10.5 1.5H2.75a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25ZM8 4a.75.75 0 0 1 .75.75v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5A.75.75 0 0 1 8 4Z"></path></svg></span>)、更新 (<span style="color:#b08800"><svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-diff-modified" aria-label="Dependency modified icon" role="img"><path d="M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z"></path></svg></span>)、または削除 (<span style="color:#cb2431"><svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-diff-removed" aria-label="Dependency removed icon" role="img"><path d="M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25Zm8.5 6.25h-6.5a.75.75 0 0 1 0-1.5h6.5a.75.75 0 0 1 0 1.5Z"></path></svg></span>) されているかどうかを示します。

   その他の情報は次のとおりです。

   * 新規、更新、または削除された依存関係のバージョンまたはバージョン範囲。
   * 依存関係の特定のバージョンの場合:
     * 依存関係のリリース時期。
     * このソフトウェアに依存しているプロジェクトの数。 この情報は、依存関係グラフから取得されます。 依存関係の数を確認すると、誤って間違った依存関係を追加することを防ぐことができます。
     * この依存関係で使用されるライセンス（この情報が利用可能な場合）。 これは、プロジェクトで特定のライセンスが使用されているコードを避ける必要がある場合に役立ちます。

   依存関係に既知の脆弱性がある場合、警告メッセージには次のものが含まれます。

   * 脆弱性の簡単な説明。
   * Common Vulnerabilities and Exposures (CVE) または GitHub Security Advisories (GHSA) 識別番号。 この ID をクリックすると、脆弱性の詳細を確認できます。
   * 脆弱性の深刻度。
   * 脆弱性が修正された依存関係のバージョン。 誰かのプルリクエストを確認している場合は、パッチを適用したバージョンまたはそれ以降のリリースに依存関係を更新するようにコントリビューターに依頼することができます。

3. 依存関係を変化させないような変更がマニフェストあるいはロックファイルに行われているかもしれず、あるいはGitHubがパースできず、その結果として依存関係レビューに現れてこない依存関係があるかもしれないので、ソースdiffをレビューしたいこともあるでしょう。

   ソース差分ビューに戻るには、 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-code" aria-label="Display the source diff" role="img"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path></svg>** ボタンをクリックします。

   ![pull request の \[変更されたファイル\] タブのスクリーンショット。 コード アイコンで示されているソース差分を表示するボタンが、オレンジ色の枠線で囲まれています。](/assets/images/help/pull_requests/dependency-review-source-diff.png)