Usar coleções de código pré-escritas em seu projeto, chamadas de bibliotecas ou pacotes, é uma prática comum. Esses módulos de código economizam muito tempo, permitindo que você se concentre nos aspectos novos e criativos do seu trabalho em vez de codificar grandes componentes reutilizáveis do zero. Quando adicionados ao seu projeto, eles são chamados de dependências, pois seu trabalho depende do código que eles contêm.
Embora o uso de dependências seja perfeitamente normal, elas podem conter vulnerabilidades de código, o que, por sua vez, tornaria seu projeto inseguro. Felizmente, ferramentas como Dependabot podem encontrar vulnerabilidades de dependência, gerar solicitações de pull para corrigi-las e até impedir que elas ocorram no futuro. Neste tutorial, você aprenderá a habilitar e usar Dependabot, e seus recursos, para manter suas dependências seguras.
Como configurar o repositório de demonstração
Vamos começar criando um fork de um projeto de demonstração com algumas vulnerabilidades de dependência. Como não implantaremos o projeto, não há nenhum risco de segurança neste exercício.
- Navegue até o repositório
new2code/dependabot-demo. - No canto superior direito da página, clique Fork.
- Na página exibida, clique em Create fork.
Como habilitar recursos de segurança de dependência
Agora que configuramos o projeto, vamos configurar Dependabot para localizar e criar correções para dependências inseguras.
- Na barra de navegação do seu repositório, clique em Security and quality.
- Na linha "Dependabot alerts", clique em Habilitar Dependabot alerts.
- Na seção "Dependabot", ao lado de "Dependabot alerts", clique em Habilitar.
- No pop-up exibido, leia a instrução sobre como habilitar o grafo de dependência e clique em Enable.
- Para permitir que Dependabot abra automaticamente solicitações de pull para corrigir vulnerabilidades de dependência, ao lado de "Dependabot security updates", clique em Habilitar.
Visualizando suas dependências inseguras
Com Dependabot configurado, vamos descobrir quais de nossas dependências contêm vulnerabilidades.
- Na barra de navegação do repositório, clique em Security and quality.
- Para ver o Dependabot alerts do repositório na navegação lateral, clique em Dependabot.
- Para ver informações detalhadas sobre um alerta, clique no título dele. Para este exercício, clique em Injeção de comando em analisador de fórmula frequente.
Noções básicas sobre um alerta do Dependabot
Agora que Dependabot identificou algumas vulnerabilidades em nossas dependências, vamos analisar as informações fornecidas no alerta "Injeção de Comando no analisador de fórmulas a quente".
Corrigir resumo
Abaixo do título do alerta, você pode ver um breve resumo da correção dessa vulnerabilidade, incluindo o número de alertas que ela fechará e o local da vulnerabilidade. Em nosso caso, o alerta informa que atualizar o pacote para a hot-formula-parser versão 3.0.1 corrigirá um Dependabot alerta identificado em nosso javascript/package-lock.json arquivo.
Esta seção também acompanha Dependaboto progresso da criação de uma solicitação de pull para corrigir a vulnerabilidade. Depois que uma correção estiver disponível, você verá um botão rotulado como " Revisar atualização de segurança" vinculando-se à solicitação de pull.

Detalhes da vulnerabilidade
Abaixo dos detalhes de correção, Dependabot fornece mais informações sobre a vulnerabilidade, incluindo:
- O nome do pacote vulnerável
- As versões do pacote que contêm a vulnerabilidade
- A versão do pacote que corrige a vulnerabilidade
- Detalhes sobre o tipo de vulnerabilidade e como ela pode ser explorada

Neste alerta, podemos ver que a função parse no pacote hot-formula-parser não verifica corretamente se a entrada de usuário é segura antes de executá-la, o que permite que invasores executem comandos mal-intencionados.
Dica
Se você não entender completamente os detalhes da vulnerabilidade, tente solicitar Bate-Papo Copilot uma explicação.
Linha do tempo
Por fim, você pode ver a linha do tempo do alerta na parte inferior da página. Nossa linha do tempo atualmente contém o carimbo de data/hora de quando Dependabot abriu o alerta e será atualizada automaticamente quando corrigirmos a vulnerabilidade.

Como proteger suas dependências
Para proteger nosso projeto de forma rápida e fácil, vamos aplicar a correção Dependabot criada.
-
No campo de alerta com o resumo da correção, clique em Revisar atualização de segurança.
-
Na página do pull request, clique em Arquivos alterados para ver as alterações de Dependabot. Depois de examinar as alterações, clique em Conversa para retornar à visão geral da solicitação de pull.
-
Para aplicar a correção, na parte inferior da página, clique em Merge pull request e clique em Confirm merge.
Depois que a requisição de pull for mesclada, o alerta vinculado Dependabot será fechado automaticamente e o tempo de correção será adicionado ao cronograma.
Como evitar vulnerabilidades de dependência futuras
Para ajudar a evitar que dependências inseguras surjam no futuro, vamos permitir que Dependabot abra automaticamente solicitações de pull atualizando suas dependências à medida que novas versões sejam lançadas.
- Na barra de navegação do repositório, clique em Configurações.
- Na seção "Segurança" da barra lateral, clique em Advanced Security.
- Ao lado de "Dependabot version updates", clique em Habilitar.
Próximas etapas
Agora que você experimentou Dependabot e seus recursos em um repositório de demonstração, habilite-os em seus próprios projetos para localizar, corrigir e evitar vulnerabilidades de dependência facilmente.