Snyk.io: Segurança de dependências

Allan Ramos
3 min readNov 27, 2018

--

Automatizando a localização e a correção de vulnerabilidades em suas dependências

Aí você lança algo em produção e depois descobre que uma das suas dependências, na exata versão que você faz uso, possui uma falha de segurança severa. Você corre pra corrigir! Afinal, não é sempre que ficamos ligados nessas coisas.

E se houvesse um modo de automatizar essa busca de vulnerabilidades das dependências que usamos?

Ela existe.

O snyk.io foi me apresentado pelo brother Victor Haberkorn, após termos discutido sobre isso.

Ela possui integração com diversos serviços, como podemos ver abaixo:

Você importa seu repositório do Github — em sua versão gratuita, você pode até importar repositórios privados — , ele faz a verificação na periodicidade que você escolhe, e a cada PR criado ele aparece no check, garantindo que aquele PR não tem uma falha de segurança grave.

Você também pode configurá-lo para receber noticações por email e até no Slack.

Ao importar e analisar seu repositório, será mostrado algo como a imagem abaixo:

Esse meu repositório aparentemente não possui em suas dependências nenhum tipo de ameaça com os níveis:

  • High severity;
  • Medium severity;
  • Low severity.

Mas e se existisse. O que seria mostrado?

Esse repositório possui várias dependências com vulnerabilidades dos mais diversos níveis de periculosidade. E para cada uma delas, uma descrição do problema e como resolvê-lo — O Snyk pode abrir um PR pra você fazendo isso, ou você pode deixar isso automático quando ele fizer a análise.

E por fim, o Snyk também fornece uma CLI com comandos bem legais:

  • snyk test — Escaneia suas dependências em busca de vulnerabilidades;
  • snyk wizard — Mostra cada uma das vulnerabilidades encontradas e pergunta como você deseja resolvê-la, podendo ignorá-la, corrigi-lá, ou atualizá-la;
  • snyk protect — Aplicará patches de acordo com as políticas definidas ao executar o snyk wizard.

--

--