Use o Snyk Vulnerability Database para identificar projetos para o The Big Fix
DeveloperSteve Coochin
16 de fevereiro de 2022
0 minutos de leituraComo desenvolvedores, todos temos uma rotina matinal: fazer café, conferir o Slack/Discord/e-mail e ler as notícias mais recentes. Uma das coisas que faço na minha rotina diária é conferir o Snyk Vulnerability Database para ficar por dentro das vulnerabilidades mais recentes em projetos de código aberto.
É especialmente interessante observar os tipos de exploits e vulnerabilidades que surgem em diferentes ecossistemas. Por exemplo, desde maio de 2021, acompanho o surgimento de vulnerabilidades em bibliotecas do Tensorflow. Até o momento em que escrevo este texto, elas voltaram a aparecer (quase duas páginas delas!).
Outro ecossistema bastante usado que tem aparecido várias vezes recentemente é o ElectronJS. Ele é a base de muitos aplicativos populares, como Slack, VSCode e Twitch, para citar alguns.
Vou mostrar uma maneira de encontrar um projeto para corrigir, ganhar uma das camisetas de edição limitada do #thebigfix e ajudar a proteger usuários contra vulnerabilidades. Todo mundo sai ganhando!
Como começar no The Big Fix
O primeiro passo é criar uma conta gratuita da Snyk, caso ainda não tenha uma. Acesse a página de primeiros passos e informe os dados de sempre (não é necessário informar cartão de crédito). Depois, acesse o site do The Big Fix e clique em Inscreva-se agora. Preencha seu nome e endereço de e-mail e pronto: você já pode começar.
Depois de se inscrever, o próximo passo é encontrar projetos para corrigir. Há algumas maneiras de fazer isso.
Conecte um repositório existente
Se você já tem um repositório de projeto em mente, pode conectá-lo de forma rápida e fácil. Acesse o painel da Snyk e clique em Adicionar projeto. Se o repositório que você quer não aparecer no menu rápido, clique em Outro para ver uma lista completa de opções de integração.
Selecione o repositório desejado e siga as etapas para conectá-lo e configurá-lo.

Depois de conectar o repositório, clique novamente em Adicionar projeto e selecione aquele em que você quer fazer uma análise de vulnerabilidades de código aberto. Você também pode analisar repositórios privados.

Ao conectar o Snyk Open Source, a análise identifica pacotes vulneráveis no manifesto de pacotes conectado. Ela também identifica correções e possíveis etapas de remediação. O Snyk Open Source também permite criar automaticamente um pull request com possíveis correções no repositório. Só não se esqueça de testar o aplicativo para confirmar que tudo no projeto funciona como esperado.
Encontre um projeto para o qual você possa contribuir
Se você está procurando um projeto para ajudar a corrigir uma vulnerabilidade, pode encontrar um no Snyk Vulnerability Database e explorar pacotes ou o ecossistema de sua preferência.
Um dos meus projetos favoritos do ecossistema de código aberto do PHP para o qual contribuí recentemente como parte do The Big Fix é o Invoice Ninja. Esse projeto de código aberto ajuda empresas do mundo todo com faturamento e contabilidade, integrando-se a diversas ferramentas empresariais de terceiros.
Primeiro, fiz um fork do repositório principal na minha própria conta. Depois, usando o método acima, conectei o repositório ao Snyk Open Source.

A análise identificou algumas vulnerabilidades no manifesto de pacotes Composer do PHP. Uma delas era introduzida pela biblioteca de dependência DOMPDF 0.6.2.

Ao investigar melhor alguns dos resultados, identifiquei alguns problemas, incluindo um caminho vulnerável a Cross-Site Scripting (XSS) no PHP-Font-Lib — uma vulnerabilidade de 2014. Rastrear o problema no projeto ajudou a identificar não só a vulnerabilidade, mas também a correção necessária.
Ao implementar correções, é importante ter alguns pontos em mente. O principal é garantir que o projeto continue funcionando como um todo. Isso é especialmente importante ao atualizar bibliotecas e dependências. Muitas pessoas dependem desses projetos no dia a dia dos negócios, e nenhum projeto quer lançar uma alteração que cause problemas.
Usei um git pull request para trazer o repositório do fork para meu ambiente local e abri o VSCode, com o plugin da Snyk instalado. Consegui atualizar os pacotes afetados e depurar o código. Depois, executei o código para testá-lo no meu ambiente local, usando um servidor local (isso também pode ser feito com o servidor integrado do PHP).
Por fim, enviei as alterações de volta ao meu repositório do fork e abri um git pull request. A comunidade revisou e analisou a solicitação antes de mesclá-la.
A satisfação de contribuir
Adoro retribuir, especialmente quando posso ajudar a manter outra comunidade segura e livre de vulnerabilidades. Como parte da comunidade de código aberto, é sempre importante contribuir e ajudar a proteger todas as pessoas que usam um projeto.
E tem um bônus: você ganha uma camiseta grátis e participa de um sorteio de prêmios como parte do The Big Fix.
Inscreva-se no The Big Fix e comece a corrigir vulnerabilidades hoje mesmo!
Faça parte do The Big Fix
Junte-se a milhares de desenvolvedores que já estão protegendo suas aplicações com a Snyk.



