

# SEC11-BP04 人工代码审查
<a name="sec_appsec_manual_code_reviews"></a>

对您制作的软件执行人工代码审查。此流程有助于确保编写代码的人不是唯一检查代码质量的人。

**期望结果：**在开发过程中纳入人工代码审查步骤可以提高所编写的软件的质量，帮助团队中缺乏经验的成员提升自身技能，并且有助于确定哪些情况可以使用自动化。自动化工具和测试可以支持人工代码审查。

**常见反模式：**
+  在部署前不执行代码审查。 
+  让同一个人编写和审查代码。 
+  不使用自动化来协助或编排代码审查。 
+  在审查代码之前没有对构建者进行应用程序安全方面的培训。 

**建立此最佳实践的好处：**
+  提高代码质量。 
+  通过重复利用通用方法提高代码开发的一致性。 
+  减少在渗透测试和后续阶段发现的问题。 
+  改进团队内部的知识传授。 

 **在未建立这种最佳实践的情况下暴露的风险等级：**中等 

## 实施指导
<a name="implementation-guidance"></a>

 在整个代码管理流程中应实施审查步骤。具体细节取决于分支、拉取请求和合并请求所用的方法。您可以使用 AWS CodeCommit 或第三方解决方案，例如 GitHub、GitLab 或 Bitbucket。无论使用哪种方法，务必要确认在将代码部署到生产环境中之前，您的流程需要进行代码审查。使用 [Amazon CodeGuru Reviewer](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html) 等工具可以更轻松地编排代码审查过程。 

### 实施步骤
<a name="implementation-steps-required-field"></a>
+  在代码管理流程中实施人工审查步骤，并在继续之前执行此审查。 
+  考虑使用 [Amazon CodeGuru Reviewer](https://aws.amazon.com/codeguru/) 来管理和协助代码审查工作。 
+  实施审批流程，要求在代码需要完成代码审查后方可进入下一阶段。 
+  验证是否存在这样一个流程：识别在人工代码审查期间发现并可以自动检测到的问题。 
+  根据您的代码开发实践集成人工代码审查步骤。 

## 资源
<a name="resources-required-field"></a>

 **相关最佳实践：**
+  [SEC11-BP02 在整个开发和发布生命周期中执行自动化测试](sec_appsec_automate_testing_throughout_lifecycle.md) 

 **相关文档：**
+  [在 AWS CodeCommit 存储库中使用拉取请求](https://docs.aws.amazon.com/codecommit/latest/userguide/pull-requests.html) 
+  [在 AWS CodeCommit 中使用审批规则模板](https://docs.aws.amazon.com/codecommit/latest/userguide/approval-rule-templates.html) 
+  [关于 GitHub 中的拉取请求](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) 
+  [使用 Amazon CodeGuru Reviewer 自动审查代码](https://aws.amazon.com/blogs/devops/automate-code-reviews-with-amazon-codeguru-reviewer/) 
+  [使用 Amazon CodeGuru Reviewer CLI 自动检测 CI/CD 管道中的安全漏洞和错误](https://aws.amazon.com/blogs/devops/automating-detection-of-security-vulnerabilities-and-bugs-in-ci-cd-pipelines-using-amazon-codeguru-reviewer-cli/) 

 **相关视频：**
+  [使用 Amazon CodeGuru 持续改进代码质量](https://www.youtube.com/watch?v=iX1i35H1OVw) 

 **相关示例：** 
+  [开发人员安全性研讨会](https://catalog.workshops.aws/sec4devs) 