기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
코드 검토 결과 수정
코드 검토의 보안 결과를 검토한 후 AWS Security Agent를 사용하여 GitHub 리포지토리 소스의 결과에 대한 코드 수정을 생성할 수 있습니다. 프라이빗 리포지토리의 경우 AWS Security Agent는 제안된 수정 사항이 포함된 풀 요청을 엽니다. 퍼블릭 리포지토리의 경우 AWS Security Agent는 로컬에서 적용할 수 있는 결과에 다운로드 가능한 차이를 연결합니다. S3 소스의 결과는 수동으로 수정해야 합니다.
사전 조건
시작하기 전에 다음을 갖추었는지 확인하세요.
-
조사 결과가 포함된 완료된 코드 검토 실행
-
코드 검토를 위한 소스로 연결된 GitHub 리포지토리
-
AWS Security Agent 웹 애플리케이션에 대한 액세스
-
애플리케이션의 아키텍처 및 보안 요구 사항에 대한 지식
코드 수정 작동 방식
결과에 대한 코드 수정을 트리거하면 AWS Security Agent는 결과와 해당 코드 위치를 분석한 다음 코드 수정을 생성합니다. 수정 사항이 전달되는 방법은 소스에 따라 다릅니다.
-
프라이빗 GitHub 리포지토리 - AWS Security Agent는 관련 리포지토리에 풀 요청을 제출합니다. 풀 요청에는 보안 문제 및 변경 사항에 대한 설명이 포함됩니다.
-
퍼블릭 GitHub 리포지토리 - AWS Security Agent는 취약성이 수정되기 전에 공개되지 않도록 제안된 차이를 결과에 연결합니다. 웹 애플리케이션에서 diff를 다운로드하여를 사용하여 로컬로 적용할 수 있습니다
git apply /path/to/code_remediation_changes.diff. -
S3 소스 - 코드 수정을 사용할 수 없습니다. 결과의 설명, 코드 위치 및 위험 추론을 사용하여 수정 사항을 수동으로 적용합니다.
중요
AWS Security Agent에서 생성한 풀 요청은 리포지토리에 대한 읽기 액세스 권한이 있는 모든 사용자에게 표시됩니다. 병합하기 전에 변경 사항을 검토하여 애플리케이션의 요구 사항에 맞는지 확인합니다.
자동 코드 수정
코드 검토를 생성할 때 자동 코드 수정을 활성화한 경우 AWS Security Agent는 검토가 완료되는 즉시 모든 적격 결과에 대한 수정 사항을 생성합니다. 추가 조치를 취할 필요가 없습니다. 풀 요청은 연결된 프라이빗 GitHub 리포지토리에 나타나고 실행이 완료되면 퍼블릭 GitHub 리포지토리의 결과에 차이가 나타납니다.
수동 코드 수정
자동 코드 수정이 비활성화된 경우 GitHub 소스의 개별 결과에 대한 수정을 트리거할 수 있습니다.
-
완료된 코드 검토 실행의 결과 탭으로 이동합니다.
-
해결하려는 결과를 선택합니다.
-
결과 세부 정보 패널에서 코드 수정을 선택합니다.
-
AWS Security Agent는 코드 수정을 생성하고 리포지토리에 풀 요청을 제출하거나 리포지토리의 가시성에 따라 결과에 다운로드 가능한 차이를 연결합니다.
문제 해결 풀 요청 검토
AWS Security Agent가 프라이빗 GitHub 리포지토리에 문제 해결 풀 요청을 제출한 후:
-
GitHub 리포지토리로 이동합니다.
-
AWS Security Agent에서 생성한 풀 요청을 찾습니다.
-
다음을 포함한 변경 사항을 검토합니다.
-
보안 조사 결과 및 수정 사항을 설명하는 설명
-
취약성을 해결하는 코드가 변경됩니다.
-
문제 해결 접근 방식에 대한 모든 관련 컨텍스트
-
-
수정이 적절한 경우 풀 요청을 병합하거나 종료하고 대체 솔루션을 구현합니다.
작은 정보
문제 해결 풀 요청을 병합한 후 새 코드 검토 실행을 시작하여 수정 사항이 조사 결과를 해결하고 새 보안 문제를 일으키지 않는지 확인합니다.
문제 해결 차이 적용
퍼블릭 GitHub 리포지토리의 조사 결과의 경우 다운로드 가능한 diff를 로컬로 적용합니다.
-
조사 결과 세부 정보 패널의 코드 수정 섹션에서 차이를 다운로드합니다.
-
리포지토리의 로컬 복제본에서를 실행합니다
git apply /path/to/code_remediation_changes.diff. -
적용된 변경 사항을 검토하고 애플리케이션에 대해 테스트한 다음 일반적인 개발 워크플로를 통해 커밋합니다.
제한 사항
-
코드 수정은 GitHub 리포지토리 소스의 결과에만 사용할 수 있습니다. S3 소스의 결과는 수동으로 수정해야 합니다.
-
AWS Security Agent는 취약성 분석을 기반으로 수정 사항을 생성합니다. 병합하거나 커밋하기 전에 모든 변경 사항을 검토하여 애플리케이션에 적합한지 확인합니다.
-
일부 복잡한 조사 결과에는 자동 수정 이외의 수동 개입이 필요할 수 있습니다.
다음 단계
조사 결과를 수정한 후:
-
GitHub 리포지토리에서 풀 요청을 검토 및 병합하거나 일반 워크플로를 통해 적용된 차이 커밋
-
새 코드 검토를 실행하여 수정 사항을 확인하고 나머지 문제가 있는지 확인합니다.
-
문제 해결을 확인한 후 웹 애플리케이션의 조사 결과 해결
-
필요에 따라 코드 검토 소스 또는 설정을 조정합니다( 참조코드 검토 활성화).