

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Q Developer でのコードレビュー
<a name="code-reviews"></a>

Amazon Q Developer では、開発サイクル全体を通じて、コードベースのセキュリティ上の脆弱性やコード品質の問題をレビューし、アプリケーションのセキュリティを改善できます。コードベース全体を確認したり、ローカルプロジェクトまたはワークスペース内のすべてのファイルを分析したり、単一のファイルを確認したりできます。コードを記述するときに評価する自動レビューを有効にすることもできます。

レビューは、生成 AI とルールベースの自動推論の両方を利用しています。[Amazon Q ディテクターは](https://docs.aws.amazon.com/codeguru/detector-library)、長年のセキュリティのベストプラクティス AWS と Amazon.com セキュリティのベストプラクティスに基づいており、ルールベースのセキュリティと品質のレビューを強化します。セキュリティポリシーが更新され、ディテクターが追加されると、コードが最新のポリシーに準拠するよう、レビューは自動的に新しいディテクターを組み込みます。

この機能でサポートされている IDE については、「[サポートされている IDE](q-in-IDE.md#supported-ides-features)」を参照してください。サポートされている言語については、「[コードレビューの言語サポート](q-language-ide-support.md#code-reviews-language-support)」を参照してください。

**Topics**
+ [仕組み](#how-code-reviews-work)
+ [コードの問題のタイプ](#issue-types)
+ [クォータ](#quotas)
+ [Amazon Q Developer でコードレビューを開始する](start-review.md)
+ [Amazon Q Developer を使用したコードの問題への対処](address-code-issues.md)
+ [コードの問題をフィルタリングする](filter-code-issues.md)
+ [Amazon Q Developer のコードレビューでのコードの問題の重要度](code-issue-severity.md)

## 仕組み
<a name="how-code-reviews-work"></a>

コードレビュー中、Amazon Q はカスタムコードとコード内のサードパーティーライブラリの両方を評価します。コードレビューを開始する前に、Amazon Q はフィルタリングを適用して、関連するコードのみがレビューされるようにします。フィルタリングプロセスの一環として、Amazon Q はサポートされていない言語、テストコード、オープンソースコードを除外します。

Amazon Q は、最近のコード変更を確認するか、ファイルまたはプロジェクト全体を確認できます。レビューを開始するには、IDE でコードフォルダを開き、チャットパネルからコードを確認するように Amazon Q に依頼します。

デフォルトでは、コードの確認を Amazon Q に依頼するだけで、IDE のアクティブなファイル内のコード変更のみがレビューされます。コードの変更は、 ファイルの `git diff` コマンドの出力によって決まります。差分ファイルが存在しない場合、Amazon Q はコードファイル全体を確認します。ファイルが開いていない場合、レビューするプロジェクト内のコード変更を検索します。

同様に、プロジェクトまたはワークスペース全体を確認するように Amazon Q に依頼すると、まずコードの変更を確認しようとします。差分ファイルが存在しない場合は、コードベース全体を確認します。

## コードの問題のタイプ
<a name="issue-types"></a>

Amazon Q は、次のタイプのコードの問題についてコードをレビューします。
+ **SAST スキャン — ソースコードのセキュリティ上の脆弱性を検出します。**Amazon Q は、リソースリーク、SQL インジェクション、クロスサイトスクリプティングなど、さまざまなセキュリティ問題を特定します。
+  **シークレットの検知 — コードでの機密情報や秘密情報の漏洩を防ぎます。**Amazon Q は、コードファイルとテキストファイルをレビューして、ハードコードされたパスワード、データベース接続文字列、ユーザー名などのシークレットを検出します。シークレットの検出結果には、保護されていないシークレットとその保護方法に関する情報が含まれます。
+ **IaC の問題スキャン — インフラストラクチャファイルのセキュリティ体制を評価します。**Amazon Q は、Infrastructure as Code (IaC) コードファイルをレビューして、設定ミス、コンプライアンス、セキュリティの問題を検出できます。
+  **コード品質の問題 — コードが品質、保守性、効率性の基準を満たしているかどうかを確認します。**Amazon Q は、パフォーマンス、機械学習ルール、AWS のベストプラクティスなど、さまざまな品質問題に関連するコードの問題を表示します。
+  **コードデプロイリスク — コードのデプロイに関連するリスクを評価します。**Amazon Q は、アプリケーションのパフォーマンスやオペレーションの中断など、コードをデプロイまたはリリースするリスクがあるかどうかを判断します。
+  **ソフトウェアコンポジション分析 (SCA) — サードパーティーのコードを評価します。**Amazon Q は、コードに統合されているサードパーティーのコンポーネント、ライブラリ、フレームワーク、依存関係を調べ、サードパーティーのコードが安全かつ最新であることを確認します。

Amazon Q がコードをレビューするために使用するディテクターの一覧については、「[Amazon Q Detector Library](https://docs.aws.amazon.com/codeguru/detector-library/)」を参照してください。

## クォータ
<a name="quotas"></a>

Amazon Q セキュリティスキャンは、次のクォータを維持します。
+ **入力アーティファクトサイズ** – サードパーティーライブラリ、ビルド JAR ファイル、一時ファイルなど、IDE プロジェクトワークスペース内のすべてのファイルの最大サイズ。
+ **ソースコードサイズ** – すべてのサードパーティーライブラリとサポートされていないファイルをフィルタリングした後に Amazon Q がスキャンするソースコードの最大サイズ。

次の表は、自動スキャンとフルプロジェクトスキャンで維持されるクォータを示しています。


| [リソース]  | 自動レビュー | ファイルまたはプロジェクトのレビュー | 
| --- | --- | --- | 
| 入力アーティファクトのサイズ | 200 KB | 500 MB | 
| ソースコードのサイズ | 200 KB | 50MB | 

# Amazon Q Developer でコードレビューを開始する
<a name="start-review"></a>

Amazon Q は、ファイルまたはコードベース全体を確認したり、記述時にコードを自動的に確認したりできます。

開始する前に、コードレビューをサポートする IDE に Amazon Q がインストールされていることを確認してください。詳細については、「[IDE に Amazon Q Developer 拡張機能またはプラグインをインストールする](q-in-IDE-setup.md)」を参照してください。

**Topics**
+ [ファイル、プロジェクト、またはワークスペースを確認する](#project-review)
+ [タスクとプロンプトの例](#code-review-prompts)
+ [コードを書く際にレビューする](#auto-scan)

## ファイル、プロジェクト、またはワークスペースを確認する
<a name="project-review"></a>

チャットパネルからレビューを開始して、Amazon Q に特定のファイルまたはプロジェクトを確認させることができます。ファイルとプロジェクトのレビューには、ルールベースのレビューと生成 AI を活用したレビューの両方が含まれます。

Amazon Q がレビューを完了したら、問題を調査して、問題を修正するためのコード修正を取得できます。詳細については、[「コードの問題の対処](address-code-issues.md)」を参照してください。

ファイルまたはプロジェクトのレビューを開始するには、IDE の次の手順を実行します。

------
#### [ JetBrains ]

1. IDE でレビューするファイルまたはプロジェクトを開きます。

1. Amazon Q アイコンをクリックして、チャットパネルを開きます。

1. 自然言語を使用して、実行するコードレビューのタイプを記述します。最近のコード変更のみ、またはファイル全体を確認できます。コードの変更は、ファイルの git diff コマンドの出力に基づいて決定されます。該当する場合、Amazon Q は特に指定がない限り、デフォルトでのみコードの変更を確認します。

1. コードプロジェクトまたはファイルを IDE で開いた状態で、以下を入力できます。

   1. **Review my code changes** – Amazon Q はコードベースのコード変更を確認します

   1. **Run a code review on this entire file** – Amazon Q は変更だけでなく、ファイル内のすべてのコードを確認します。

   1. **Review this repository** – Amazon Q は変更だけでなく、コードベース全体を確認します。

   コードレビューシナリオおよび関連するプロンプトの詳細については、[「プロンプトの例](#code-review-prompts)」を参照してください。

1. Amazon Q はファイルまたはプロジェクトのレビューを開始します。完了すると、最も優先度の高い問題と観察結果が要約されます。

1. 問題が検出されると、**コードの問題**タブが開き、Amazon Q が検出した問題のリストが表示されます。

1. コードの問題の詳細については、**コードの問題**パネルに移動します。移動すると、以下の操作を実行できます。

   1. 検出結果を選択すると、脆弱性または低品質のコードが検出されたファイルの特定の領域にリダイレクトされます。

   1. コードの問題の説明を表示するには、コードの問題の名前の横にある拡大鏡アイコンを選択します。Amazon Q は問題の詳細を提供し、コードに挿入することができる修正を提案します。

   1. コードの問題を修正するには、コードの問題の名前の横にあるレンチアイコンを選択します。Amazon Q は、修正の簡単な説明を提供し、コードファイルにインプレース修正を行います。ファイル内にコードの変更が表示され、チャットパネルには変更を元に戻すオプションが表示されます。

   1. 自然言語を使用して、問題の詳細を尋ねたり、提案された修正の説明を得たり、代替の解決策を尋ねたりすることもできます。

1. コードの問題の対処については、「[Amazon Q Developer を使用したコードの問題への対処](address-code-issues.md)」を参照してください。

------
#### [ Visual Studio Code ]

1. IDE でレビューするファイルまたはプロジェクトを開きます。

1. Amazon Q アイコンをクリックして、チャットパネルを開きます。

1. 自然言語を使用して、実行するコードレビューのタイプを記述します。最近のコード変更のみ、またはファイル全体を確認できます。コードの変更は、ファイルの git diff コマンドの出力に基づいて決定されます。該当する場合、Amazon Q は特に指定がない限り、デフォルトでのみコードの変更を確認します。

1. コードプロジェクトまたはファイルを IDE で開いた状態で、以下を入力できます。

   1. **Review my code changes** – Amazon Q はコードベースのコード変更を確認します

   1. **Run a code review on this entire file** – Amazon Q は変更だけでなく、ファイル内のすべてのコードを確認します。

   1. **Review this repository** – Amazon Q は変更だけでなく、コードベース全体を確認します。

   コードレビューシナリオおよび関連するプロンプトの詳細については、[「プロンプトの例](#code-review-prompts)」を参照してください。

1. Amazon Q はファイルまたはプロジェクトのレビューを開始します。完了すると、最も優先度の高い問題と観察結果が要約されます。

1. 問題が検出されると、**コードの問題**タブが開き、Amazon Q が検出した問題のリストが表示されます。

1. コードの問題の詳細については、**コードの問題**パネルに移動します。移動すると、以下の操作を実行できます。

   1. 検出結果を選択すると、脆弱性または低品質のコードが検出されたファイルの特定の領域にリダイレクトされます。

   1. コードの問題の説明を表示するには、コードの問題の名前の横にある拡大鏡アイコンを選択します。Amazon Q は問題の詳細を提供し、コードに挿入することができる修正を提案します。

   1. コードの問題を修正するには、コードの問題の名前の横にあるレンチアイコンを選択します。Amazon Q は、修正の簡単な説明を提供し、コードファイルにインプレース修正を行います。ファイル内にコードの変更が表示され、チャットパネルには変更を元に戻すオプションが表示されます。

   1. 自然言語を使用して、問題の詳細を尋ねたり、提案された修正の説明を得たり、代替の解決策を尋ねたりすることもできます。

1. コードの問題の対処については、「[Amazon Q Developer を使用したコードの問題への対処](address-code-issues.md)」を参照してください。

------
#### [ Visual Studio ]

1. Visual Studio でスキャンするプロジェクトのファイルを開きます。

1. ファイル下部の [Amazon Q] アイコンをクリックして、Amazon Q タスクバーを開きます。

1. タスクバーから、**[セキュリティスキャンを実行する]** を選択します。Amazon Q がプロジェクトのスキャンを開始します。

   次の画像では、ユーザーが Visual Studio で **[Amazon Q]** アイコンをクリックし、**[セキュリティスキャンを実行する]** を選択できるタスクバーが表示されています。  
![\[Amazon Q タスクバーに [セキュリティスキャンを実行する] が選択肢として表示されている Visual Studio\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/VS-scans.png)

1. Visual Studio 出力ペインにあるスキャンのステータスが更新されます。スキャンが完了すると通知があります。

   検出結果の表示と対処に関する詳細については、「[Amazon Q Developer を使用したコードの問題への対処](address-code-issues.md)」を参照してください。

------

## タスクとプロンプトの例
<a name="code-review-prompts"></a>

コードレビューを開始するときは、いくつかのシナリオが考えられます。以下は、コードレビューを開始する方法と、必要なレビューを実行するように Amazon Q に求める方法の概要です。
+ 1 つのファイルのコード変更のみを確認するには: 
  + IDE で ファイルを開き、 **Review my code**
  + **Review the code in <filename>** と入力します。
+ コードファイル全体を確認するには:
  + 変更せずにファイルを開き、「」と入力します。 **Review my code**
  + 変更を含むファイルを開き、「」と入力します。 **Review my entire code file**
  + **Review all the code in <filename>** と入力します。
+ リポジトリ内のすべてのコード変更を確認するには:
  + IDE でリポジトリを開き、 **Review my code**
+ 変更だけでなく、リポジトリ全体を確認するには:
  + IDE でリポジトリを開き、 **Review my repository**

## コードを書く際にレビューする
<a name="auto-scan"></a>

**注記**  
Amazon Q の自動レビューは、[Amazon Q Developer Pro サブスクリプション](getting-started-q-dev.md)でのみ使用できます。

自動レビューは、[Amazon Q ディテクター](https://docs.aws.amazon.com/codeguru/detector-library/)によるルールベースのレビューです。Amazon Q は、ユーザーがアクティブにコーディングしているファイルを自動的にレビューし、問題が検出されるとすぐにコードの問題を表示します。Amazon Q が自動レビューを実行する際、インプレースコード修正は生成されません。

Amazon Q を使用する際、自動レビューはデフォルトで有効になっています。自動レビューを一時停止または再開するには、次の手順を実行します。

**自動レビューの一時停止と再開**

自動レビューを一時停止するには、次の手順を実行します。

1. IDE ウィンドウの下部で、**[Amazon Q]** を選択します。

   Amazon Q タスクバーが開きます。

1. **[自動レビューを一時停止]** を選択します。自動レビューを再開するには、**[自動レビューを再開]** を選択します。

# Amazon Q Developer を使用したコードの問題への対処
<a name="address-code-issues"></a>

このセクションのトピックでは、コードの問題に対処して解決する方法と、該当する場合は問題を無視する方法について説明します。

**Topics**
+ [JetBrains および Visual Studio Code のコードの問題に対処する](address-issues-jetbrains-visualstudiocode.md)
+ [Visual Studio のコードの問題に対処する](address-issues-visualstudio.md)

# JetBrains および Visual Studio Code のコードの問題に対処する
<a name="address-issues-jetbrains-visualstudiocode"></a>

JetBrains および Visual Studio Code のコードの問題に対処するには、インプレース修正を生成するか、コードを手動で更新するために使用できる説明を生成するオプションがあります。

以下のアクションを実行できます。
+ インプレースコード修正を生成する 
+ 問題を説明して新しいコードを取得する
+ 問題を無視する、または同様のすべての問題を無視する

## ファイルのインプレース修正を生成する
<a name="generate-fixes"></a>

Amazon Q はファイルをインプレースで更新して、検出されたコードの問題を自動的に修正できます。

ファイル内のコードの問題を自動的に修正するには:

------
#### [ JetBrains ]

1. **問題**ツールウィンドウで、**Amazon Q Code Issues** タブで、対処するコード問題を選択します。

1. パネルが開き、コードの問題に関する詳細情報が表示されます。該当する場合は、コードの問題の特定に使用された Amazon Q ディテクターの詳細が表示されます。

1. パネルの下部で、**修正**を選択します。

1. チャットパネルで、Amazon Q は修正の簡単な説明を提供し、コードファイルにインプレース修正を適用します。

1. ファイル内にコードの変更が表示され、チャットパネルには変更を元に戻すオプションが表示されます。

------
#### [ Visual Studio Code ]

1. **[コードの問題]** タブで、対処するコードの問題を選択します。

1. レンチアイコンを選択します。

   次の図は、Visual Studio Code のコードの問題のレンチアイコンを示しています。  
![\[でのコードの問題のレンチアイコン。コード修正の生成Visual Studio Codeに使用されます。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/code-review-fix-vsc.png)

1. チャットパネルで、Amazon Q は修正の簡単な説明を提供し、コードファイルにインプレース修正を適用します。

1. ファイル内にコードの変更が表示され、チャットパネルには変更を元に戻すオプションが表示されます。

------

## コードの問題を説明して新しいコードを取得する
<a name="explain-issue"></a>

Amazon Q は、コードの問題の詳細な説明を提供し、ファイルに追加するコードを添付した修復オプションを提供します。

コードの問題の説明を取得するには:

------
#### [ JetBrains IDEs ]

1. **問題**ツールウィンドウで、**Amazon Q Code Issues** タブで、対処するコード問題を選択します。

1. パネルが開き、コードの問題に関する詳細情報が表示されます。該当する場合は、コードの問題の特定に使用された Amazon Q ディテクターの詳細が表示されます。

1. パネルの下部で、**説明**を選択します。

1. チャットパネルで、Amazon Q は問題の詳細を提供し、ファイルに挿入することができるコードを使用して問題を修正する方法を提案します。

1. ファイルを更新するには、Amazon Q の指示に従ってコードを追加または置換し、提供されたコードをファイル内の正しい場所にコピーします。更新されたコードを追加するときは、必ず脆弱なコードを削除してください。

------
#### [ Visual Studio Code ]

1. **[コードの問題]** タブで、対処するコードの問題を選択します。

1. 拡大鏡アイコンを選択します。

   次の図は、Visual Studio Code のコードの問題の虫眼鏡アイコンを示しています。  
![\[のコード問題の虫眼鏡アイコン。コードの問題を説明するVisual Studio Codeために使用されます。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/code-review-view-details-vsc.png)

1. チャットパネルで、Amazon Q は問題の詳細を提供し、ファイルに挿入することができるコードを使用して問題を修正する方法を提案します。

1. ファイルを更新するには、Amazon Q の指示に従ってコードを追加または置換し、提供されたコードをファイル内の正しい場所にコピーします。更新されたコードを追加するときは、必ず脆弱なコードを削除してください。

------

## コードの問題を無視する
<a name="ignore-issues"></a>

検出されたコードの問題が該当しない場合は、問題を無視するか、同様のすべての問題 (同じ CWE の問題) を無視するかを選択できます。問題は [コードの問題] タブから削除されます。

コードの問題を無視するには、次の手順を実行します。

------
#### [ JetBrains ]

1. **問題**ツールウィンドウで、**Amazon Q Code Issues** タブで、無視するコード問題を選択します。

1. パネルが開き、コードの問題に関する詳細情報が表示されます。パネルの下部で、**無視**を選択します。コード問題はコード問題パネルから削除されます。

1. **Ignore All **を選択して、同じ CWE でこのコードの問題やその他のコードの問題を無視することもできます。

------
#### [ Visual Studio Code ]

1. **コードの問題**タブで、無視するコードの問題を選択します。

1. 無視アイコンを選択します。

   次の図は、Visual Studio Code のコードの問題の無視アイコンを示しています。  
![\[のコードの問題の無視アイコン。コードの問題を無視して閉じるVisual Studio Codeために使用されます。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/code-review-ignore-issue-vsc.png)

1. コード問題はコード問題パネルから削除されます。

1. 同様の問題を無視するには、省略記号アイコンを選択し、表示される**類似問題を無視**するボタンを選択します。

------

# Visual Studio のコードの問題に対処する
<a name="address-issues-visualstudio"></a>

Amazon Q で検出された問題を Visual Studio で表示するには、Visual Studio のメインメニューで **[表示]** の見出しを展開し、**[エラー一覧]** を選択して、Visual Studio の **[エラー一覧]** を開きます。

コードの問題の情報を使用して、コードを更新します。コードを更新したら、コードを再度レビューして、問題が修正されているかどうかを確認します。

デフォルトでは、Visual Studio の **[エラー一覧]** には、コードベースのすべての警告とエラーが表示されます。Visual Studio の **[エラー一覧]** で Amazon Q のコードの問題をフィルタリングするには、次の手順を実行してフィルターを作成します。

**注記**  
コードの問題は、Amazon Q が問題を検出したコードレビューを実行した後にのみ表示されます。  
コードの問題は、Visual Studio で警告として表示されます。**[エラー一覧]** で Amazon Q が検出したコードの問題を表示するには、**[エラー一覧]** の見出しの **[警告]** オプションを選択する必要があります。

**エラー一覧でコードの問題をフィルタリングする**

1. Visual Studio のメインメニューで [表示] を選択し、次に **[エラー一覧]** を選択して **[エラー一覧]** ペインを開きます。

1. **[エラー一覧]** ペインで、ヘッダー行を右クリックしてコンテキストメニューを開きます。

1. コンテキストメニューから **[列の表示]** を展開し、展開したメニューで **[ツール]** を選択します。

1. **[ツール]** 列が **[エラー一覧]** に追加されます。

1. **[ツール]** 列ヘッダーで **[フィルター]** アイコンをクリックし、**[Amazon Q]** を選択して Amazon Q のコードの問題をフィルタリングします。

# コードの問題をフィルタリングする
<a name="filter-code-issues"></a>

**注記**  
コードの問題は JetBrains IDE と Visual Studio Code でのみフィルタリングできます。

コードの問題をフィルタリングすると、選択した基準を満たす問題のみがコードの問題パネルに表示されます。重要度に基づいて問題をフィルタリングして、パネルに選択した重要度の問題のみを表示できます。

また、コードの問題パネルでコードの問題の表示方法をコントロールすることもできます。問題は、重要度またはファイルの場所に基づいてグループ化できます。

コードの問題をフィルタリングするには、次の手順を実行します。

------
#### [ JetBrains IDEs ]

1. **Amazon Q Code Issues** タブで、フィルターアイコンを選択します。

1. 重要度レベルのポップアップメニューが開きます。

   次の図は、 のコードの問題タブの重要度メニューを示していますIntelliJ IDEA。  
![\[の重要度フィルターメニューIntelliJ IDEA。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/jb-filter-issues.png)

1. フィルタリングする重要度レベルを選択または選択解除し、**OK** を選択します。選択した重要度の問題のみが **Amazon Q Code Issues** パネルに表示されます。

------
#### [ Visual Studio Code ]

1. **[コードの問題]** パネルで、フィルターアイコンを選択します。

   次の図は、Visual Studio Code の [コードの問題] タブのフィルターアイコンを示しています。  
![\[Visual Studio Code のコードの問題タブのフィルターアイコン。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/filter-issues-vsc.png)

1. **[問題のフィルタリング]** メニューが開きます。

   フィルタリングする重要度レベルの横にあるボックスを選択または選択解除し、**OK** を選択します。選択した重要度の問題のみが**コードの問題**パネルに表示されます。

------

コードの問題をグループ化するには、次の手順を実行します。

------
#### [ JetBrains IDEs ]

1. **Amazon Q Code Issues** パネルから、グループ化アイコンを選択します。

1. Group **By** ポップアップメニューが開きます。

1. **重要度**を選択して、重要度に基づいてコードの問題パネルで問題をグループ化します。**Location** を選択して、どのコードファイルにあるかに基づいて問題をグループ化します。

------
#### [ Visual Studio Code ]

1. **[コードの問題]** パネルで、グループ化アイコンを選択します。

   次の図は、Visual Studio Code の [コードの問題] タブのグループ化アイコンを示しています。  
![\[Visual Studio Code のコードの問題タブのグループ化アイコン。\]](http://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/images/group-issues-vsc.png)

1. **[問題のグループ化]** メニューが開きます。

1. **重要度**を選択して、重要度に基づいてコードの問題パネルで問題をグループ化します。**Location** を選択して、どのコードファイルにあるかに基づいて問題をグループ化します。

------

# Amazon Q Developer のコードレビューでのコードの問題の重要度
<a name="code-issue-severity"></a>

Amazon Q は、コードで検出されたコードの問題の重要度を定義し、アプリケーションのセキュリティ体制に基づいて、対処し追跡する問題の優先順位をつけることができるようにします。以下のセクションでは、コードの問題の重要度の判断方法と、各重要度レベルが意味する方法について説明します。

## 重要度の算出方法
<a name="severity-calculation"></a>

コードの問題の重要度は、問題を検出したディテクターによって決まります。[Amazon Q Detector Library](https://docs.aws.amazon.com/codeguru/detector-library) の各ディテクターには、共通脆弱性評価システム ([CVSS](https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator)) を使用して重要度が割り当てられます。CVSS は、そのコンテキストで検出結果をどのように悪用できるか (インターネット経由で行うか、物理アクセスが必要かなど）、および取得できるアクセスのレベルを考慮します。

次の表は、悪意のある攻撃者がシステムを攻撃するために必要なアクセスレベルと労力のレベルに基づいて重要度がどのように決定されるかを示しています。


**重要度決定マトリックス**  

| アクセスのレベル | 労力レベル | 緊急度 | 
| --- | --- | --- | 
| システムまたはその出力の完全なコントロール | システムへのアクセスが必要 | 高 | 
| システムまたはその出力の完全なコントロール | 高レベルの労力によるインターネット | 重大 | 
| システムまたはその出力の完全なコントロール | インターネット経由 | 重大 | 
| 機密情報へのアクセス | システムへのアクセスが必要 | 中 | 
| 機密情報へのアクセス | 高レベルの労力によるインターネット | 高 | 
| 機密情報へのアクセス | インターネット経由 | 高 | 
| システムがクラッシュまたは遅くなる可能性がある | システムへのアクセスが必要 | 低 | 
| システムがクラッシュまたは遅くなる可能性がある | 高レベルの労力によるインターネット | 中 | 
| システムがクラッシュまたは遅くなる可能性がある | インターネット経由 | 中 | 
| 追加のセキュリティを提供する | 悪用不可 | 情報 | 
| 追加のセキュリティを提供する | システムへのアクセスが必要 | 情報 | 
| 追加のセキュリティを提供する | 高レベルの労力によるインターネット | 低 | 
| 追加のセキュリティを提供する | インターネット経由 | 低 | 
| ベストプラクティス | 悪用不可 | 情報 | 

## 重要度の定義
<a name="severity-definitions"></a>

重要度ラベルは次のように定義されています。

 **重大 - このコードの問題は、さらに悪化しないように直ちに修復する必要があります。**

コードに関する重大な問題は、攻撃者がシステムをコントロールしたり、中程度の労力で動作を変更したりできることを示しています。重大な検出結果は、最大限の緊急性で対処することをお勧めします。また、リソースの重大度も考慮する必要があります。

 **高 - このコードの問題は短期的な優先事項として対処する必要があります。**

重要度の高いコードの問題は、攻撃者がシステムをコントロールしたり、高い労力で動作を変更したりできることを示しています。重要度の高い検出結果は、短期的な優先度として扱い、すぐに修復手順を実行することをお勧めします。また、リソースの重大度も考慮する必要があります。

 **中 - このコードの問題は、中期的な優先事項として対処する必要があります。**

重要度が中程度の検出結果は、クラッシュ、応答不能、またはシステムの利用不可につながる可能性があります。できるだけ早く、関連するリソースを調査することをお勧めします。また、リソースの重大度も考慮する必要があります。

 **低 - このコードの問題には、独自のアクションは必要ありません。**

重要度が低い検出結果は、プログラミングエラーまたはアンチパターンを示しています。重要度の低い結果については、すぐにアクションを実行する必要はありませんが、他の問題と相関関係がある場合は、コンテキストを入手できます。

**情報 – 推奨アクションはありません。**

情報レベルの検出結果には、品質や読みやすさの向上、または代替 API 操作に関する提案が含まれます。すぐに対処する必要ありません。