Skip to main content

Antecipando a segurança com responsabilidade: controles aprimorados da Snyk em pull requests

Escrito por

31 de março de 2020

0 minutos de leitura

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

Status da pull request no GitHub mostrando que todas as verificações foram aprovadas, não há problemas de licença, os testes de segurança foram concluídos com sucesso e não há conflitos com a branch base

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:

Status de pull request do GitHub mostrando uma verificação de segurança reprovada, uma verificação de licença aprovada e a opção de mesclar

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.

Configurações de testes de segurança para pull requests, mostrando verificações ativadas e condições de falha configuráveis para dependências e correções de problemas

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:

Painel do Snyk mostrando verificações com falha e resultados de testes de segurança de um projeto, com uma seta apontando para a notificação de falha na verificação.

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.

Resultados da verificação de segurança do Snyk para danielberman79/mono-repo: oito arquivos e uma falha, com 32 novas vulnerabilidades.

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

Resultados da verificação de segurança da Snyk para danielbernan79/mono-repo, mostrando uma verificação reprovada e o botão “Marcar como bem-sucedida no SCM”.

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.

Publicado em:

Leia mais

feature insights context
Blog

Os ataques autônomos já chegaram. A defesa precisa acompanhar o ritmo.

Os atacantes autônomos estão reduzindo o tempo disponível para a defesa. Saiba como a descoberta, a correção, a validação e a prevenção contínuas ajudam as equipes de segurança a acompanhar esse ritmo.

Blog

Por que agentes de programação com IA continuam criando falhas de controle de acesso

Agentes de programação com IA podem gerar uma lógica de autorização que compila e passa pela revisão, mas permite que um tenant acesse os dados de outro. Saiba por que é difícil detectar falhas de controle de acesso e como evitá-las.

Blog

Evo ADS Govern Agent Behavior já está disponível: controle o uso de MCP

Evo ADS Govern Agent Behavior já está disponível, começando por MCP Governance. Descubra, aprove, monitore, registre e bloqueie o uso de servidores MCP nos principais agentes de programação com IA.