Até quem não é desenvolvedor pode corrigir vulnerabilidades no código no The Big Fix
Gerald Crescione
23 de fevereiro de 2022
0 minutos de leituraVeja como uma tarefa rotineira de gerenciamento de projetos me levou a abrir um pull request em um repositório open source no GitHub.
Como novo integrante da equipe de Marketing da Snyk, participei recentemente dos preparativos para The Big Fix, um evento que reúne desenvolvedores, profissionais de DevOps e especialistas em segurança de todos os níveis para ajudar a tornar a internet mais segura, corrigindo vulnerabilidades enquanto se divertem e ganham brindes.
Todo mundo está convidado. Por que eu não corrigiria uma vulnerabilidade?
Conversando com a equipe, percebi que todo o processo é tão simples que até alguém sem conhecimentos técnicos como eu poderia participar da iniciativa e contribuir ativamente para esse esforço global de tornar a internet mais segura. Então, resolvi tentar.
Etapa 1: começando a usar a Snyk
Fazer a inscrição no The Big Fix foi simples. Bastou usar minha conta da Snyk, que é totalmente gratuita e pode ser criada em poucos minutos. Como trabalho exclusivamente com marketing, não posso dizer que usava muito a plataforma. Criei minha conta apenas para conhecer o produto e entender razoavelmente como ele funciona.
O próximo passo foi conectar a Snyk à minha conta do GitHub e conceder à plataforma as permissões padrão para analisar meus projetos e sugerir correções para vulnerabilidades sempre que possível.

Etapa 2: escolhendo o projeto certo
Com a conta configurada e conectada ao GitHub, pude importar um projeto e analisá-lo em busca de vulnerabilidades. Agora precisava escolher o projeto certo para contribuir. Não tenho projetos próprios — só alguns trechos de código bem insignificantes. Então, teria que contribuir com outro projeto. De preferência, ele seria open source e relacionado ao ecossistema cloud native, que é a minha área.
De fato, em experiências anteriores, participei de startups e projetos muito focados em Infrastructure as Code (IaC). Tive a oportunidade de trabalhar em algumas publicações de blog nas quais listávamos todas as ferramentas open source interessantes que giram em torno do HashiCorp Terraform e o tornam ainda melhor para gerenciar recursos na nuvem. Minha lista de ferramentas era:
Terraformer (também chamado de “Terraform reverso”): uma ferramenta open source incrível, criada pela equipe de SRE do Waze, que analisa infraestruturas de nuvem existentes, criadas manualmente, e as transforma em código Terraform, permitindo reimportá-las à sua base de código IaC.
TFlint: um linter que analisa estaticamente seu código Terraform, identifica tipos de instância inválidos e detecta erros de digitação e incompatibilidades na hora.
Terratest: uma biblioteca Go que realiza testes de integração dos seus arquivos Terraform.
Escolhi o Terratest porque gosto muito do fato de a equipe por trás da ferramenta se preocupar em testar nossas infraestruturas — algo que, sejamos sinceros, ainda não é uma prática recomendada tão comum.
Se você não conhece a ferramenta, aqui vai uma breve apresentação: o Terratest foi criado pelos nossos amigos da Gruntwork. É uma poderosa biblioteca Go na qual você inclui seu código Terraform e o manipula programaticamente para fazer o que quiser e, assim, realizar todos os testes de integração necessários.
Etapa 3: escolhendo a correção certa
Primeiro, precisei analisar o Terratest para ver se encontrava alguma vulnerabilidade no repositório. Para isso, fiz um fork simples do repositório público e depois o importei para a Snyk para analisá-lo.

Vamos ser sinceros: não sou desenvolvedor. Tenho conhecimentos extremamente básicos e, quando mexo com código, não consigo ser muito útil. Ainda assim, queria muito participar do The Big Fix e contribuir, mesmo que modestamente, com esse ótimo projeto, o Terratest.
Ao analisar o projeto, tive a sorte de encontrar uma correção bem simples — atualizar uma imagem Docker — que estava ao meu alcance.

A Snyk facilita muito para qualquer pessoa, independentemente do nível de conhecimento, encontrar e corrigir um problema. Basta clicar no botão Abrir um PR com a correção para acessar seu repositório e receber uma sugestão de correção adequada para a vulnerabilidade.

Gostei muito de poder explorar melhor a plataforma e acessar a documentação para entender melhor do que se tratava essa vulnerabilidade e quais riscos ela poderia trazer. Basicamente, a correção consistia em atualizar uma versão antiga de uma imagem.

Preparar, apontar, corrigir!
Estava tudo pronto: a vulnerabilidade tinha sido encontrada, a correção estava preparada e só faltava clicar no botão Abrir um PR com a correção e acessar o GitHub.

No meu repositório, foi muito fácil analisar a correção e decidir se queria integrá-la ou não — e, obviamente, eu quis. (Lembre-se: tem brinde para ganhar.)

Integrar o PR foi muito simples e me deixou com uma enorme sensação de propósito e realização.

Espere! Acabei de corrigir uma vulnerabilidade em um repositório privado que nem uso.
Fazer um fork de um repositório público só para analisá-lo e corrigir uma vulnerabilidade não adianta. E, por mais tentadora que seja a possibilidade de ganhar uma camiseta de edição limitada, eu queria mesmo contribuir de verdade, ainda que fosse um pouquinho.
Tudo bem! Bastava copiar a correção e abrir um PR no repositório original do Terratest no GitHub.

E... voilà. Corrigir uma vulnerabilidade é divertido. Contribuir com projetos open source é ainda melhor.
Corrigir uma vulnerabilidade sempre merece reconhecimento e comemoração.
Já falei da comunidade em torno do The Big Fix?
Uma das coisas mais legais desse projeto é que ele faz parte de uma comunidade. É no servidor do Discord da comunidade DevSecCon que a mágica acontece. Depois de entrar no servidor, você pode acessar o canal the-big-fix, conversar com outros desenvolvedores sobre o que corrigiu e discutir tudo sobre segurança da informação e DevSecOps.

Corrigir vulnerabilidades de segurança em aplicações enquanto se diverte — como isso funciona?
A ideia do The Big Fix é ajudar a encontrar e corrigir vulnerabilidades de um jeito divertido, recompensando os participantes com brindes. É muito simples: basta:
Entrar na conta da Snyk (ou criar uma gratuitamente, caso ainda não tenha uma).
Importar e analisar um projeto.
Encontrar uma vulnerabilidade (sim, provavelmente haverá vulnerabilidades nos seus projetos, por mais que você se esforce para evitá-las).
Corrigi-la com um PR pela plataforma da Snyk.
(Etapa opcional) Relaxar e imaginar como você vai ficar estiloso com sua camiseta de edição limitada do Big Fix.
Importar e analisar outros projetos para corrigir ainda mais vulnerabilidades.
Se você quer participar dessa iniciativa, há vários recursos para ajudar a começar, caso precise. Uma busca simples por #TheBigFix no Twitter provavelmente é o melhor ponto de partida. Outra opção interessante é assistir ao vídeo abaixo sobre como começar a corrigir vulnerabilidades no IDE VS Code.

E agora?
Vale lembrar que o The Big Fix é um evento de um mês. Começou em 18 de janeiro e termina em 25 de fevereiro com um “Big Fix-a-Thon”: uma transmissão ao vivo de 24 horas sobre DevSecOps e segurança para desenvolvedores. A boa notícia é que você não precisa esperar até 25 de fevereiro para encontrar uma vulnerabilidade e corrigi-la. Enquanto escrevo este post, 35.302 projetos já foram analisados, 454.116 vulnerabilidades foram encontradas e 82.109 foram corrigidas. É incrível!
Participe do Big Fix-a-Thon interativo em 25 de fevereiro: uma transmissão ao vivo de 24 horas sobre DevSecOps e segurança para desenvolvedores, com atrações divertidas e palestrantes incríveis para ajudar você na sua jornada de correção.
Faça parte do The Big Fix
Junte-se a milhares de desenvolvedores que já estão protegendo suas aplicações com a Snyk.



