Antecipando a segurança com responsabilidade: controles aprimorados da Snyk em pull requests
31 de março de 2020
0 minutos de leituraTemos o prazer de anunciar que aprimoramos os testes de segurança e licenças da Snyk em pull requests para oferecer ainda mais suporte à segurança desde o início e a fluxos de desenvolvimento seguros!
Os pull requests — a base dos fluxos de desenvolvimento no GitHub — facilitam a colaboração em projetos. Cada pessoa colaboradora pode compartilhar alterações enviadas para uma branch em um repositório, discuti-las com outras pessoas colaboradoras e, em seguida, fazer commit e mesclá-las à branch principal.
Criada para permitir que desenvolvedores e equipes de segurança incorporem testes de segurança aos fluxos de trabalho — e o mais cedo possível no SDLC —, a Snyk testa automaticamente as alterações incluídas em pull requests em busca de vulnerabilidades e problemas de licença. Se um problema for identificado, o teste da Snyk falha e o desenvolvedor recebe uma notificação por meio de uma verificação de status correspondente. Para garantir que os testes de segurança da Snyk em pull requests não interfiram nos pipelines de desenvolvimento, os usuários podem definir exatamente quando as verificações de status devem falhar, por exemplo, apenas diante de problemas de alta gravidade ou quando houver uma correção disponível.
Os aprimoramentos mais recentes dos testes de segurança da Snyk em pull requests elevam ainda mais esse nível. Para evitar que os pipelines de desenvolvimento sejam interrompidos sem necessidade e dar aos desenvolvedores visibilidade completa dos resultados dos testes de segurança da Snyk, agora é possível ver todos os detalhes sobre o motivo da falha do pull request e, em seguida, pedir ao administrador que ignore o teste e aprove o pull request à força.
Veja como isso funciona em alguns exemplos simples.
Verificações de status da Snyk em pull requests
Depois que o GitHub verifica se há conflitos e executa as verificações nos arquivos de manifesto do projeto (por exemplo, package.json / package.lock, requirements.txt ou Gemfile.lock / Gemfile), a Snyk realiza os testes de segurança. Se as alterações não introduzirem vulnerabilidades, o teste é aprovado sem problemas:

Por outro lado, se as alterações introduzirem vulnerabilidades, as verificações de status da Snyk reprovam o pull request. No exemplo abaixo, a inclusão de uma dependência fez o teste de segurança da Snyk falhar:

Independentemente do número de projetos (e dos arquivos de manifesto correspondentes) em um repositório, apenas duas verificações de status da Snyk são exibidas: uma para testes de segurança e outra para verificações de licença. Isso é especialmente útil em monorepos, pois reduz o número de verificações de status da Snyk para projetos integrados.
Os administradores podem configurar os testes de segurança da Snyk em pull requests para serem mais rigorosos ou flexíveis. Por exemplo, é possível configurar os testes para falhar se o repositório tiver vulnerabilidades existentes ou apenas quando forem introduzidas vulnerabilidades de alta gravidade.

Ignorar testes de segurança reprovados
Ver verificações de status reprovadas em pull requests pode ser frustrante para desenvolvedores, especialmente quando não há informações contextuais sobre o motivo da falha. A Snyk oferece visibilidade sobre as vulnerabilidades e os problemas de licença encontrados durante o teste, além da possibilidade de contornar o teste reprovado e aprová-lo à força.
Se um pull request não passar nos testes da Snyk, os usuários da Snyk podem ver os motivos clicando no link Detalhes, exibido ao lado do status da verificação reprovada. O link leva o usuário ao app da Snyk, onde todas as informações sobre a falha nos testes são exibidas na página Status combinado:

Todas as verificações relevantes realizadas no projeto são exibidas com informações sobre os resultados e o status: ‘Erro’ para testes que não puderam ser concluídos, ‘Reprovado’ para testes que falharam devido a problemas identificados, ‘Em andamento’ para testes ainda em execução e ‘Aprovado’ para testes concluídos com sucesso.
Usuários definidos como colaboradores podem enviar uma solicitação a um administrador da Snyk para aprovar à força um ou mais testes exibidos nesta página.

Os administradores podem clicar no botão Marcar como aprovado no SCM para atender à solicitação. O status é atualizado automaticamente no GitHub.

Todas as ações de ignorar realizadas para aprovar à força um teste de segurança reprovado são registradas para consulta futura, com informações de auditoria sobre quem realizou a ação e quando, além de um link para a página Status combinado.
Segurança desde o início, com supervisão
Antecipar a segurança é fundamental para implementar uma estratégia DevSecOps com sucesso, mas isso deve ser feito com responsabilidade. Para isso, é possível capacitar desenvolvedores a integrar a segurança aos fluxos de desenvolvimento existentes de forma simples, sem obstáculos e com o nível adequado de supervisão.
Os testes de segurança aprimorados da Snyk em pull requests garantem que os desenvolvedores tenham visibilidade completa e antecipada dos testes de segurança automatizados executados em seus pull requests, além de poderem solicitar a aprovação forçada de testes reprovados. E mais: as equipes de segurança têm o controle necessário para remover bloqueios com segurança.
Quer experimentar? Esses recursos estão disponíveis em todos os planos da Snyk, inclusive no plano Free.
Comece a jogar Capture the Flag
Aprenda a resolver desafios de Capture the Flag assistindo à gravação sob demanda do nosso workshop virtual introdutório.


