View a markdown version of this page

コードレビューの検出結果の修正 - AWS セキュリティエージェント

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

コードレビューの検出結果の修正

コードレビューからセキュリティ検出結果を確認したら、AWS セキュリティエージェントを使用して GitHub リポジトリソースで検出結果のコード修正を生成できます。プライベートリポジトリの場合、AWS セキュリティエージェントは提案された修正を含むプルリクエストを開きます。パブリックリポジトリの場合、AWS セキュリティエージェントはローカルに適用できる検出結果にダウンロード可能な差分をアタッチします。S3 ソースの結果は手動で修正する必要があります。

前提条件

開始する前に、以下があることを確認してください。

  • 結果を含む完了したコードレビューの実行

  • コードレビューのソースとして接続された GitHub リポジトリ

  • AWS Security Agent ウェブアプリケーションへのアクセス

  • アプリケーションのアーキテクチャとセキュリティ要件に精通していること

コード修復の仕組み

検出結果のコード修復をトリガーすると、AWS セキュリティエージェントは検出結果とそのコードの場所を分析し、コード修正を生成します。修正の配信方法は、ソースによって異なります。

  • プライベート GitHub リポジトリ – AWS セキュリティエージェントは、関連するリポジトリにプルリクエストを送信します。プルリクエストには、セキュリティの問題と行われた変更の説明が含まれます。

  • パブリック GitHub リポジトリ – AWS セキュリティエージェントは、脆弱性が修正される前に開示されないように、提案された差分を結果にアタッチします。差分はウェブアプリケーションからダウンロードし、 を使用してローカルに適用できますgit apply /path/to/code_remediation_changes.diff

  • S3 ソース – コード修復は使用できません。結果の説明、コードの場所、リスクの推論を使用して、修正を手動で適用します。

重要

AWS Security Agent によって作成されたプルリクエストは、リポジトリへの読み取りアクセス権を持つすべてのユーザーに表示されます。マージする前に変更を確認し、アプリケーションの要件と一致していることを確認します。

自動コード修復

コードレビューの作成時に自動コード修復を有効にした場合、AWS セキュリティエージェントは、レビューが完了するとすぐに、対象となるすべての検出結果の修正を生成します。追加のアクションを実行する必要はありません。プルリクエストは接続されたプライベート GitHub リポジトリに表示され、差分は実行が確定するにつれてパブリック GitHub リポジトリの検出結果に表示されます。

手動コード修復

自動コード修復が無効になっている場合は、GitHub ソースから個々の検出結果の修復をトリガーできます。

  1. 完了したコードレビュー実行の結果タブに移動します。

  2. 修正する結果を選択します。

  3. 検出結果の詳細パネルで、コードの修正を選択します。

  4. AWS セキュリティエージェントはコード修正を生成し、リポジトリにプルリクエストを送信するか、リポジトリの可視性に応じてダウンロード可能な差分を結果にアタッチします。

修復プルリクエストを確認する

AWS セキュリティエージェントが修復プルリクエストをプライベート GitHub リポジトリに送信した後:

  1. GitHub リポジトリに移動します。

  2. AWS セキュリティエージェントによって作成されたプルリクエストを見つけます。

  3. 以下を含む変更を確認します。

    • セキュリティの検出結果と修正について説明する説明

    • 脆弱性に対処するコードの変更

    • 修復アプローチに関連するコンテキスト

  4. 修正が適切であればプルリクエストをマージするか、閉じて代替ソリューションを実装します。

ヒント

修復プルリクエストをマージしたら、新しいコードレビュー実行を開始し、修正によって検出結果が解決され、新しいセキュリティ問題が発生しないことを確認します。

修復差分を適用する

パブリック GitHub リポジトリの検出結果については、ダウンロード可能な差分をローカルに適用します。

  1. 検出結果の詳細パネルで、コード修復セクションから差分をダウンロードします。

  2. リポジトリのローカルクローンで、 を実行しますgit apply /path/to/code_remediation_changes.diff

  3. 適用された変更を確認し、アプリケーションに対してテストして、通常の開発ワークフローを通じてコミットします。

制限事項

  • コード修復は、GitHub リポジトリソースの検出結果でのみ使用できます。S3 ソースの結果は手動で修正する必要があります。

  • AWS セキュリティエージェントは、脆弱性の分析に基づいて修正を生成します。マージまたはコミットする前にすべての変更を確認して、アプリケーションに適していることを確認します。

  • 一部の複雑な検出結果では、自動修正以外の手動介入が必要になる場合があります。

次の手順

検出結果を修正した後:

  • GitHub リポジトリでプルリクエストを確認してマージするか、通常のワークフローを通じて適用された差分をコミットします。

  • 新しいコードレビューを実行して修正を検証し、残りの問題をチェックする

  • 修復を確認した後、ウェブアプリケーションで検出結果を解決する

  • 必要に応じてコードレビューのソースまたは設定を調整する (「」を参照コードレビューを有効にする)