SEC11-BP04 수동 코드 검토
개발할 소프트웨어의 코드를 수동으로 검토하세요. 이 프로세스를 통해 코드를 작성한 개발자 이외의 사람이 코드 품질을 검사하게 됩니다.
원하는 결과: 개발 중에 수동 코드 검토 단계를 포함하면 작성 중인 소프트웨어의 품질이 높아지고, 경험이 부족한 팀원의 기술이 향상되며, 자동화를 사용할 수 있는 부분을 식별할 기회를 얻을 수 있습니다. 수동 코드 검토는 자동화된 도구 및 테스트를 통해 지원됩니다.
일반적인 안티 패턴:
-
배포 전에 코드 검토를 수행하지 않습니다.
-
같은 사람이 코드를 작성하고 검토하도록 합니다.
-
코드 검토를 지원하거나 조율하는 데 자동화를 사용하지 않습니다.
-
빌더가 코드를 검토하기 전에 애플리케이션 보안 교육을 받지 않습니다.
이 모범 사례 확립의 이점:
-
코드 품질이 향상됩니다.
-
공통된 접근 방식을 재사용할 수 있어 코드 개발의 일관성이 높아집니다.
-
침투 테스트 및 이후 단계에서 발견되는 문제의 수가 줄어듭니다.
-
팀 내 지식 전달이 개선됩니다.
이 모범 사례를 따르지 않을 경우 노출 위험도: 중간
구현 가이드
검토 단계는 전체 코드 관리 흐름의 일부로 구현되어야 합니다. 자세한 내용은 분기, 풀 요청 및 병합에 사용되는 전략에 따라 달라집니다. AWS CodeCommit 또는 GitHub, GitLab, Bitbucket 등 타사 솔루션을 사용하고 있을 수 있습니다. 어떤 방법을 사용하든 프로덕션 환경에 배포하는 데 앞서 프로세스에 코드 검토가 필요한지 확인하는 것이 중요합니다. Amazon CodeGuru Reviewer와 같은 도구를 사용하면 코드 검토 프로세스를 보다 쉽게 조율할 수 있습니다.
구현 단계
-
코드 관리 흐름의 일부로 수동 검토 단계를 구현하고, 계속하기 전에 검토를 수행합니다.
-
코드 검토를 관리하고 지원하는 Amazon CodeGuru Reviewer
사용을 고려해 보세요. -
코드를 다음 단계로 진행하려면 코드 검토를 완료해야 하는 승인 흐름을 구현합니다.
-
수동 코드 검토 중에 자동으로 탐지 가능한 문제를 식별하는 프로세스가 있는지 확인합니다.
-
코드 개발 관행에 맞게 수동 코드 검토 단계를 통합합니다.
리소스
관련 모범 사례:
관련 문서:
-
Working with pull requests in AWS CodeCommit repositories(AWS CodeCommit 리포지토리에서 풀 요청 작업)
-
Working with approval rule templates in AWS CodeCommit(AWS CodeCommit에서 승인 규칙 템플릿 작업)
-
Automate code reviews with Amazon CodeGuru Reviewer
(Amazon CodeGuru Reviewer를 사용한 코드 검토 자동화) -
Automating detection of security vulnerabilities and bugs in CI/CD pipelines using Amazon CodeGuru Reviewer CLI
(Amazon CodeGuru Reviewer CLI를 사용하여 CI/CD 파이프라인의 보안 취약성 및 버그 탐지 자동화)
관련 동영상:
-
Continuous improvement of code quality with Amazon CodeGuru
(Amazon CodeGuru를 통한 코드 품질의 지속적인 개선)
관련 예시:
-
Security for Developers workshop
(Security for Developers 워크숍)