DEV Community

Thiago Bertuzzi 👨🏻‍💻
Thiago Bertuzzi 👨🏻‍💻

Posted on

GitHub : Dependabot suas dependencias atualizadas e seguras

Bertuzzi invocado

Fala galera,

tudo beleza?

Não é novidade que meu repositorio favorito é o Github, 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! E é dele que vamos falar hoje!

Bertuzzi Robo

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), ou no proprio repositorio :

No seu repositorio clique em settings :

Settings

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

Seccurity options

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

Dependabot

Caso queira configurações mais especificas pode acessar a documentação oficial clicando aqui.

Um exemplo de como ele se comporta :

Dependabot

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

Dependabot

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

Caso queira saber o que não se deve armazenar no seu código clique aqui

Espero ter ajudado!

Aquele abraço!

Speedy emails, satisfied customers

Postmark Image

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay