GitHub : Dependabot suas dependencias atualizadas e seguras
Tags: security, github, devops, development
Published: 2023-07-07 14:44:12


![Bertuzzi invocado](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qswszoo12epk1lkscxao.png)

Fala galera,

tudo beleza?

Não é novidade que meu repositorio favorito é o [Github](https://github.com/), inclusive sempre digo que o mesmo tem diversas funcionalidades muito bacanas para ajudar a melhorar e proteger seu código.

Quando desenvolvemos um software é comum depender de bibliotecas e pacotes de terceiros, porem manter tudo atualizado é geralmente um problema. Existem pacotes que possuem diversas atualizações importantes de segurança, ja outros ao atualizar quebram nosso build com mudanças de assinatura de método ou funcionalidades.

O Github tem uma ferramenta muito legal para nos ajudar nisso o [Dependabot](https://github.com/dependabot)! E é dele que vamos falar hoje!

![Bertuzzi Robo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ur77w9mluksb9akmn8ph.png)

**Dependabot!**

O Dependabot é um serviço de integração contínua oferecido pelo GitHub, projetado especificamente para monitorar e atualizar automaticamente as dependências dos repositórios. Ele analisa regularmente o arquivo de manifesto de dependências (como o package.json no JavaScript ou o csproj  do .net) e notifica sobre versões desatualizadas, novas e atualizações criticas de  correções de segurança.

**Legal, mas como funciona?**

O Dependabot funciona integrado ao seu repositorio ou a um fluxo devops do GitHub. Quando ativado em um repositório, o Dependabot verifica regularmente as dependências em busca de atualizações disponíveis. O Mais incrivel é que ele cria solicitações de pull (PRs) com as atualizações propostas, permitindo que você revise e teste as mudanças antes de comita-las em seu código.

Mais incrivel ainda do ponto de vista de segurança, o Dependabot analisa as atualizações em busca de vulnerabilidades conhecidas. Se uma atualização resolver uma vulnerabilidade de segurança, o Dependabot criará uma PR específica para essa atualização, destacando a importância da correção. Isso é incrivel! Principalmente para manter o seu projeto protegido contra possíveis ameaças.

**Como configurar o DependaBot?**

Existem 2 formas de configurar o DependaBot, uma é com um arquivo **dependabot.yml** adicionado ao seu repositorio (caso queira ver todas as opções do Arquivo [clique aqui](https://docs.github.com/pt/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file)), ou no proprio repositorio : 

No seu repositorio clique em settings :


![Settings](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ob1d6bdtejbhczlf2m7.jpg)

Em Seguida nas opções de segurança :


![Seccurity options](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3l1f3vp2uqqmccxmg6yc.jpg)

Então temos todas as opções do Dependabot :


![Dependabot](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wmdrjdz3bmqcgaj9yy55.jpg)

Caso queira configurações mais especificas pode acessar a documentação oficial [clicando aqui](https://docs.github.com/pt/code-security/dependabot).

Um exemplo de como ele se comporta :

![Dependabot](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7qhqxn85v8kyw9fdzhxj.jpg)

O Pull request é bem explicativo e facil de entender antes de dar o merge :

![Dependabot](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ap95q116pc0k09xaq4f.jpg)

**Então recapitulando os beneficios do Dependabot :**

**Manutenção dependências:** Ele automatiza a tarefa de acompanhar e atualizar suas dependências, poupando tempo e esforço. Ele mantém você informado sobre as atualizações disponíveis e cria PRs prontas para serem revisadas e mescladas.

**Correção de vulnerabilidades:** Isso ajuda a garantir que você esteja ciente das vulnerabilidades conhecidas nas suas dependências. Ao criar PRs específicas para resolver essas vulnerabilidades, ele facilita a aplicação das correções necessárias para manter seu código e sistema seguro.

**Ja esta no GitHub:** O Dependabot é um serviço nativo do GitHub, o que significa que ele se integra perfeitamente ao ambiente do GitHub. Ele se alinha com os fluxos de trabalho existentes, Actions, repositorio ,notificações e revisões de código, facilitando a adoção e utilização por desenvolvedores.

Caso queira saber mais sobre Desenvolvimento seguro [clique aqui](https://dev.to/tbertuzzi/desenvolvimento-seguro-s-sdlc-1n4f)

Caso queira saber o que não se deve armazenar no seu código [clique aqui](https://dev.to/tbertuzzi/10-dicas-basicas-de-arquitetura-de-codigo-3-cuidado-com-o-que-voce-armazena-290o)

Espero ter ajudado!

Aquele abraço!