Skip to main content

De zero a herói da segurança: teste seus projetos no GitHub em busca de vulnerabilidades conhecidas

Escrito por
prioritize vulns

12 de novembro de 2020

0 minutos de leitura

Você usa o GitHub nos seus projetos? Ótimo! Mas como garante que suas dependências de código aberto não tenham vulnerabilidades?

Nesta publicação, vamos mostrar como criar uma conta gratuita na Snyk, importar seu primeiro projeto do GitHub para a Snyk e testar suas dependências de código aberto em busca de vulnerabilidades conhecidas. Se quiser acompanhar, vamos compartilhar os mesmos repositórios e o aplicativo que estamos usando.

Se preferir assistir a um vídeo, aqui está uma versão de 90 segundos desta publicação, na qual mostro as mesmas etapas para criar uma conta na Snyk, importar um projeto do GitHub e testá-lo pela primeira vez.

Getting Started with Snyk: Import and Test a GitHub Repository

Vamos começar pelo começo!

Preciso criar uma conta, então vou acessar o site Snyk.io clicando na opção Fazer login, no menu no canto superior direito desta página, e usar minha conta do GitHub para entrar com login federado, selecionando-a na lista de opções, como mostrado abaixo:

Tela de cadastro que oferece inscrição gratuita com GitHub ou Google, além das opções de SSO, Bitbucket, Azure AD e Docker ID.

Durante a criação da conta, preciso conceder à Snyk acesso de leitura ao endereço de e-mail associado à minha conta do GitHub. A Snyk enviará informações relevantes, como notificações de segurança e relatórios dos projetos importados, para esse endereço de e-mail.

Será exibida uma lista de formas populares de importar projetos para a Snyk e testá-los em busca de vulnerabilidades, como mostrado abaixo:

Captura de tela perguntando onde o código está hospedado, com as opções GitHub e Bitbucket Cloud para testar as dependências do projeto.

Use a origem que fizer mais sentido para o seu ambiente — o processo é bem parecido.

No meu caso, o projeto que quero testar está no GitHub, então vou selecionar essa opção. Quero que a Snyk faça verificações periódicas nos meus projetos e crie automaticamente pull requests de correção no meu repositório, para que os problemas de segurança possam ser resolvidos automaticamente. Para isso, preciso conceder permissões adicionais na minha conta do GitHub. Vou fazer isso aceitando as opções padrão, como mostra a captura de tela a seguir. É claro que você pode desativar essas permissões, se preferir. No entanto, assim não poderá usar os recursos mais avançados e úteis de pull requests de correção da Snyk.

Tela de acesso ao repositório do GitHub com opções para repositórios públicos e privados ou apenas públicos, opções de segurança da Snyk e um botão Continuar.

Em seguida, preciso selecionar o projeto goof na lista dos meus repositórios do GitHub e adicioná-lo à minha conta da Snyk. Se quiser acompanhar, você precisará criar um fork do projeto goof da Snyk. Depois disso, use esse projeto na sua própria lista de repositórios nas próximas etapas. Na imagem a seguir, você pode ver que selecionei o projeto goof na lista de repositórios encontrados pela Snyk na minha conta do GitHub. Vou clicar em Adicionar repositórios selecionados, no canto superior direito da tela, para importá-lo para a Snyk.

Tela de seleção de repositório do GitHub no Snyk, mostrando a organização simonsnyk com o repositório goof selecionado, ao lado de go-sample e exploit-workshop.

A Snyk vai ler o arquivo de manifesto package.json do projeto goof, que é um projeto Node.js, e criar um gráfico de dependências. Ele inclui tanto as dependências diretas usadas pelo projeto goof quanto as dependências transitivas das quais essas dependências diretas dependem.

Esse processo continua até que o gráfico completo de dependências seja criado. A Snyk testa essas dependências com a Snyk Vulnerability Database e gera um relatório completo. Só pelo painel, já podemos ver que foram encontrados 60 problemas de segurança, incluindo 31 vulnerabilidades de alta gravidade.

Parece legal, não é? Experimente hoje mesmo!

Na próxima vez, vamos analisar essa lista de vulnerabilidades com mais detalhes e mostrar como corrigi-las criando pull requests de correção automaticamente.

Comece a participar de desafios de Capture the Flag

Aprenda a resolver desafios de Capture the Flag assistindo sob demanda ao nosso workshop virtual introdutório.

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.

feature insights context
Blog

A prevenção é essencialmente um problema resolvido?

A prevenção em código gerado por agentes está resolvida do ponto de vista arquitetural — mas escolher controles que protejam a segurança sem desacelerar o desenvolvimento continua sendo um desafio.

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.