SEC11-BP04 Realizar revisões de código
Implemente revisões de código para ajudar a verificar a qualidade e a segurança do software que está sendo desenvolvido. As revisões de código envolvem a participação de outros membros da equipe, além do autor do código original, na revisão do código em busca de possíveis problemas, vulnerabilidades e aderência aos padrões de codificação e às práticas recomendadas. Esse processo ajuda a detectar erros, inconsistências e falhas de segurança que podem ter sido ignoradas pelo desenvolvedor original. Use ferramentas automatizadas para ajudar nas revisões de código.
Resultado desejado: você inclui revisões de código durante o desenvolvimento para aumentar a qualidade do software que está sendo escrito. Você aprimora as habilidades dos membros menos experientes da equipe por meio de aprendizados identificados durante a revisão do código. Identifique oportunidades de automação e ofereça suporte ao processo de revisão de código usando ferramentas e testes automatizados.
Práticas comuns que devem ser evitadas:
-
Não revisar o código antes da implantação.
-
A mesma pessoa escreve e revisa o código.
-
Não utilizar a automação para auxiliar ou orquestrar as revisões de código.
-
Não treinar os criadores em segurança de aplicações antes de revisarem o código.
Benefícios de implementar esta prática recomendada:
-
Código de melhor qualidade.
-
Maior consistência do desenvolvimento do código por meio da reutilização de abordagens comuns.
-
Redução no número de problemas descobertos durante o teste de penetração e em estágios posteriores.
-
Maior transferência de conhecimentos na equipe.
Nível de risco exposto se esta prática recomendada não for estabelecida: Médio
Orientação para implementação
As revisões de código ajudam a verificar a qualidade e a segurança do software durante o desenvolvimento. As revisões manuais envolvem a participação de um membro da equipe, além do autor do código original, na revisão do código em busca de possíveis problemas, vulnerabilidades e aderência aos padrões de codificação e às práticas recomendadas. Esse processo ajuda a detectar erros, inconsistências e falhas de segurança que podem ter sido ignoradas pelo desenvolvedor original.
Considere o Amazon CodeGuru Security para ajudar a conduzir análises automatizadas de código. O CodeGuru Security usa machine learning e raciocínio automatizado para revisar o código e identificar possíveis vulnerabilidades de segurança e problemas de codificação. Integre revisões automatizadas de código com seus repositórios de código e pipelines de integração contínua/implantação contínua (CI/CD).
Etapas de implementação
-
Estabeleça um processo de revisão de código:
-
Defina quando as revisões de código devem ocorrer, como antes de mesclar o código na ramificação principal ou antes da implantação na produção.
-
Determine quem deve estar envolvido no processo de revisão de código, como membros da equipe, desenvolvedores seniores e especialistas em segurança.
-
Decida sobre a metodologia de revisão de código, incluindo o processo e as ferramentas a serem usadas.
-
-
Configure ferramentas de revisão de código:
-
Avalie e selecione ferramentas de revisão de código que atendam às necessidades da sua equipe, como Pull Requests do GitHub ou CodeGuru Security
-
Integre as ferramentas escolhidas com seus repositórios de código e pipelines de CI/CD existentes.
-
Configure as ferramentas para impor os requisitos de revisão de código, como o número mínimo de revisores e as regras de aprovação.
-
-
Defina uma lista de verificação e diretrizes de revisão de código:
-
Crie uma lista de verificação ou diretrizes de revisão de código que descrevam o que deve ser revisado. Considere fatores como qualidade do código, vulnerabilidades de segurança, aderência aos padrões de codificação e desempenho.
-
Compartilhe a lista de verificação ou as diretrizes com a equipe de desenvolvimento e verifique se todos entendem as expectativas.
-
-
Treine desenvolvedores sobre as práticas recomendadas de revisão de código:
-
Forneça treinamento à equipe sobre como conduzir revisões de código eficazes.
-
Eduque a equipe sobre os princípios de segurança de aplicações e as vulnerabilidades comuns a serem observadas durante as revisões.
-
Incentive o compartilhamento de conhecimento e sessões de programação em pares para aprimorar as habilidades dos membros menos experientes da equipe.
-
-
Implemente o processo de revisão de código:
-
Integre a etapa de revisão de código ao seu fluxo de trabalho de desenvolvimento, como criar uma pull request e designar revisores.
-
Exija que as alterações de código passem por uma revisão antes da fusão ou implantação.
-
Incentive a comunicação aberta e o feedback construtivo durante o processo de revisão.
-
-
Monitore e melhore:
-
Analise regularmente a eficácia do seu processo de revisão de código e obtenha feedback da equipe.
-
Identifique oportunidades de automação ou melhorias nas ferramentas para agilizar o processo de revisão de código.
-
Atualize e refine continuamente a lista de verificação ou as diretrizes de revisão de código com base nos aprendizados e nas práticas recomendadas do setor.
-
-
Promova uma cultura de revisão de código:
-
Enfatize a importância das revisões de código para manter a qualidade e a segurança do código.
-
Comemore os sucessos e os aprendizados do processo de revisão de código.
-
Incentive um ambiente colaborativo e solidário em que os desenvolvedores se sintam à vontade para dar e receber feedback.
-
Recursos
Práticas recomendadas relacionadas:
Documentos relacionados:
Exemplos relacionados:
Vídeos relacionados: