BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Dependabot cria automaticamente PRs no GitHub para corrigir suas vulnerabilidades

Dependabot cria automaticamente PRs no GitHub para corrigir suas vulnerabilidades

Aproveitando a API GitHub Security Advisory, o serviço comercial do Dependabot visa ajudar os desenvolvedores a rastrear suas dependências, monitorar a segurança de seus programas e garantir que quaisquer vulnerabilidades em potencial sejam removidas da maneira mais fácil possível, criando automaticamente os PRs (pull requests) para resolvê-los.

De acordo com o co-fundador do Dependabot, Gray Baker, os aplicativos Ruby podem facilmente extrair mais de 100 dependências. Com mais de 700 dependências, esse número é ainda maior para o JavaScript. Para tornar o assunto mais complexo, apenas uma pequena fração dessas 700 dependências, menos de cinco por cento, parece ser de dependências diretas, ou seja, dependências que o desenvolvedor conscientemente decidiu usar.

A maioria dessas dependências é "transitiva", o que significa que elas são atraídas por outras dependências sem um link direto entre elas e o aplicativo que as utiliza.

Há certamente uma relação entre o número de dependências transitivas que um aplicativo recebe e a filosofia por trás do registro de pacote que cada idioma usa. É bem sabido, de fato, que o NPM é de longe o maior repositório, principalmente devido ele favorecer a criação de pequenos pacotes para realizar funções minimalistas que são invocadas por muitos outros pacotes. Este fato ficou sob os holofotes há alguns anos, quando um pequeno pacote usado para strings de preenchimento à esquerda foi removido da NPM e quebrou mais de 200 milhões de outros pacotes e aplicativos. O ecossistema Python, como um contra-exemplo, parece muito mais saudável nesse aspecto, com o número de dependências transitivas sendo, em média, igual ao das dependências diretas.

Com dependências na ordem de dezenas ou centenas, é uma tarefa crítica mantê-las atualizadas para trazer correções de segurança. Essa é a razão pela qual o GitHub introduziu seu Alerta de Segurança, que notifica aos administradores de repositórios quando as vulnerabilidades da biblioteca da lista Common Vulnerabilities and Exposures (CVEs) são detectadas em seus repositórios. Isso dá aos administradores um precioso "alerta" para reagir prontamente e corrigir a vulnerabilidade, atualizando para uma versão segura. Infelizmente, isso deixa em cima deles a responsabilidade de identificar uma versão que corrige a vulnerabilidade e crie um PR para gerenciar a mudança.

Aqui é onde o Dependabot entra em cena, criando automaticamente um PR no GitHub e isolando a dependência que precisa ser atualizada. Isso possibilita a integração do processo de monitoramento e resolução de possíveis vulnerabilidades com um fluxo de trabalho de integração contínua (IC) que garante que o aplicativo não seja corrompido por esse PR. Para projetos que não possuem um pipeline de integração contínua, o Dependabot disponibiliza publicamente a taxa de aprovação de IC para uma determinada atualização. Isso é calculado sobre todos os projetos que executam a mesma atualização, para que saiba, por exemplo, que apenas para 3% deles a atualização falhou nos testes de IC.

O Dependabot está disponível no GitHub Marketplace. Os preços variam de US$ 0 por mês para contas GitHub pessoais ou de código aberto, a US$ 100 por mês para projetos privados ilimitados em uma conta da organização.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT