Integre verificações de análise de composição de software em pipelines

Concluído

A verificação de segurança costumava ser pensada como uma atividade que era concluída uma vez por lançamento por uma equipe de segurança dedicada cujos membros tinham pouco envolvimento com outros grupos.

Essa prática cria um padrão perigoso no qual os especialistas em segurança encontram grandes lotes de problemas no momento exato em que os desenvolvedores estão sob maior pressão para lançar um produto de software.

A pressão geralmente resulta na implantação de software com vulnerabilidades de segurança que precisam ser resolvidas após o lançamento de um produto, integrando a verificação ao fluxo de trabalho de uma equipe em vários pontos ao longo do caminho de desenvolvimento. O Secure DevOps pode ajudar a tornar todas as atividades de garantia de qualidade, incluindo segurança, contínuas e automatizadas.

Integração de análise de varredura de código de solicitação pull.

As equipes de DevOps podem enviar alterações propostas para a base de código (principal) de um aplicativo usando solicitações pull (PRs). Para evitar a introdução de novos problemas, os desenvolvedores precisam verificar os efeitos das alterações de código antes de criar uma RP. Um PR normalmente é feito para cada pequena alteração em um processo de DevOps. As alterações são continuamente mescladas com a base de código principal para manter a base de código principal atualizada. Idealmente, um desenvolvedor deve verificar se há problemas de segurança antes de criar um PR.

As extensões do Azure Marketplace que ajudam a integrar verificações durante RPs incluem:

  • Mend. Ajuda a validar dependências com sua impressão digital binária.
  • Checkmarx. Fornece uma verificação incremental das alterações.
  • Veracode. Implementa o conceito de um sandbox de desenvolvedor.
  • Pato Preto por Sinopse. Uma ferramenta de auditoria para código aberto para ajudar a identificar, corrigir e gerenciar a conformidade.

Essas extensões permitem que os desenvolvedores experimentem as alterações antes de enviá-las como RP.

Compilar e liberar varredura, análise e integração de código de definição

Os desenvolvedores precisam otimizar a CI para velocidade para obter feedback imediato sobre problemas de compilação. A verificação de código pode ser realizada com rapidez suficiente para integrar a definição de compilação de CI, evitando uma compilação quebrada. Ele permite que os desenvolvedores restaurem o status de uma compilação para pronto / verde, corrigindo possíveis problemas imediatamente.

Ao mesmo tempo, o CD precisa ser minucioso. No Azure DevOps, o CD normalmente é gerenciado por meio de definições de versão (que progridem a saída de compilação entre ambientes) ou outras definições de compilação.

As definições de compilação podem ser agendadas (diariamente) ou acionadas a cada confirmação. Em ambos os casos, a definição de compilação pode fazer uma verificação de análise estática mais longa (como ilustrado na imagem a seguir).

Você pode verificar o projeto de código completo e revisar quaisquer erros ou avisos offline sem bloquear o fluxo de CI.

Diagram showing a workflow outlining how a build definition can trigger a static analysis scan of source code.