翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
コードレビューの検出結果の修正
コードレビューからセキュリティ検出結果を確認したら、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 ソースから個々の検出結果の修復をトリガーできます。
-
完了したコードレビュー実行の結果タブに移動します。
-
修正する結果を選択します。
-
検出結果の詳細パネルで、コードの修正を選択します。
-
AWS セキュリティエージェントはコード修正を生成し、リポジトリにプルリクエストを送信するか、リポジトリの可視性に応じてダウンロード可能な差分を結果にアタッチします。
修復プルリクエストを確認する
AWS セキュリティエージェントが修復プルリクエストをプライベート GitHub リポジトリに送信した後:
-
GitHub リポジトリに移動します。
-
AWS セキュリティエージェントによって作成されたプルリクエストを見つけます。
-
以下を含む変更を確認します。
-
セキュリティの検出結果と修正について説明する説明
-
脆弱性に対処するコードの変更
-
修復アプローチに関連するコンテキスト
-
-
修正が適切であればプルリクエストをマージするか、閉じて代替ソリューションを実装します。
ヒント
修復プルリクエストをマージしたら、新しいコードレビュー実行を開始し、修正によって検出結果が解決され、新しいセキュリティ問題が発生しないことを確認します。
修復差分を適用する
パブリック GitHub リポジトリの検出結果については、ダウンロード可能な差分をローカルに適用します。
-
検出結果の詳細パネルで、コード修復セクションから差分をダウンロードします。
-
リポジトリのローカルクローンで、 を実行します
git apply /path/to/code_remediation_changes.diff。 -
適用された変更を確認し、アプリケーションに対してテストして、通常の開発ワークフローを通じてコミットします。
制限事項
-
コード修復は、GitHub リポジトリソースの検出結果でのみ使用できます。S3 ソースの結果は手動で修正する必要があります。
-
AWS セキュリティエージェントは、脆弱性の分析に基づいて修正を生成します。マージまたはコミットする前にすべての変更を確認して、アプリケーションに適していることを確認します。
-
一部の複雑な検出結果では、自動修正以外の手動介入が必要になる場合があります。
次の手順
検出結果を修正した後:
-
GitHub リポジトリでプルリクエストを確認してマージするか、通常のワークフローを通じて適用された差分をコミットします。
-
新しいコードレビューを実行して修正を検証し、残りの問題をチェックする
-
修復を確認した後、ウェブアプリケーションで検出結果を解決する
-
必要に応じてコードレビューのソースまたは設定を調整する (「」を参照コードレビューを有効にする)