SEC11-BP04 Análises manuais de código
Realize uma análise manual do código do software que você produz. Esse processo ajuda a verificar se a pessoa que escreveu o código não é a única que está conferindo a qualidade dele.
Resultado desejado: a inclusão de uma etapa de análise de código manual durante o desenvolvimento melhora a qualidade do software que está sendo criado, ajuda a melhorar as habilidades de membros menos experientes da equipe e oferece uma oportunidade de identificar locais onde a automação pode ser usada. É possível oferecer compatibilidade com as análises de código manuais com ferramentas e testes automatizados.
Antipadrões comuns:
-
Não realizar análises de código antes da implantação.
-
Ter a mesma pessoa para escrever e analisar o código.
-
Não utilizar a automação para auxiliar ou orquestrar as análises de código.
-
Não treinar os criadores em segurança de aplicações antes de analisarem o código.
Benefícios do estabelecimento desta 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 exposição a riscos se esta prática recomendada não for estabelecida: médio
Orientações para a implementação
A etapa de análise deve ser implementada como parte do fluxo de gerenciamento de código geral. Os detalhes dependem da abordagem utilizada para ramificação, solicitações de pull e mesclagem. Você pode utilizar o AWS CodeCommit ou soluções de terceiros, como GitHub, GitLab ou Bitbucket. Seja qual for o método utilizado, é importante verificar se seus processos precisam de análise de código antes da implantação em um ambiente de produção. O uso de ferramentas, como o Amazon CodeGuru Reviewer, pode facilitar a orquestração do processo de análise do código.
Etapas da implementação
-
Implementar uma etapa de análise manual como parte do fluxo de gerenciamento de código e realizar essa análise antes de prosseguir.
-
Considerar o Amazon CodeGuru Reviewer
para gerenciar e auxiliar nas análises de código. -
Implementar um fluxo de aprovação que exija a realização de uma análise de código antes de avançá-lo para o próximo estágio.
-
Verificar se há um processo para identificar problemas encontrados durante as análises de código manuais que possam ser detectados automaticamente.
-
Integrar a etapa de análise de código manual de forma que se alinhe às suas práticas de desenvolvimento de código.
Recursos
Práticas recomendadas relacionadas:
Documentos relacionados:
Vídeos relacionados:
Exemplos relacionados:
-
Workshop Segurança para desenvolvedores