SEC11-BP04 Realizar revisões de código - Pilar de segurança

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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: