Skip to main content

Use o Snyk Vulnerability Database para identificar projetos para o The Big Fix

Escrito por
Headshot of DeveloperSteve Coochin

DeveloperSteve Coochin

blog hero the big fix

16 de fevereiro de 2022

0 minutos de leitura

Como 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.

Painel de integrações mostrando opções de controle de versão para GitHub, GitHub Enterprise, GitLab, Bitbucket e Azure Repos

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.

Interface de seleção de repositórios com uma barra de pesquisa e repositórios pessoais e de organizações expansíveis em “developersteve.”

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.

Página de repositório do GitHub em tema escuro, com pastas, mensagens de commits recentes e 9.437 commits

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.

Detalhes da vulnerabilidade em phenx/php-font-lib: vulnerabilidade de cross-site scripting de gravidade média, sem exploração conhecida.

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.

Leia mais

blog feature snyk container custom base recommendations
Blog

Conheça o Evo Agentic AppSec: segurança que acompanha o ritmo do desenvolvimento com IA

O desenvolvimento impulsionado por IA está avançando mais rápido do que os fluxos de trabalho de segurança tradicionais. O AppSec agentivo da Snyk usa agentes de segurança para encontrar, corrigir e verificar vulnerabilidades continuamente, enquanto as pessoas definem os critérios.

Live Stream

Agentes de Remediação, Desmistificados: Por Que Corrigir é Melhor do que Encontrar

Veja como o Remediation Agent da Snyk usa inteligência de segurança, análise de explorabilidade e validação para transformar vulnerabilidades em pull requests prontos para merge.

feature ai ide dark
Blog

Uma primeira visão do Evo Agentic AppSec: remediação agentiva e defesa contra código malicioso

Conheça os primeiros recursos de Agentic AppSec da Snyk: um agente de remediação autônomo que corrige vulnerabilidades e uma defesa contra código malicioso que bloqueia pacotes arriscados antes que sejam lançados.