GitHub libera relatórios privados de vulnerabilidade para todos

GitHub libera relatórios privados de vulnerabilidade para todos
Imagem: Rubaitul Azad / Unsplash

Mantenedores de open source e pesquisadores de segurança adotam uma nova prática recomendada para relatar e corrigir vulnerabilidades

O GitHub anunciou a disponibilidade geral dos relatórios privados de vulnerabilidade, um canal de colaboração privado que torna mais fácil para pesquisadores e mantenedores relatar e corrigir vulnerabilidades em repositórios públicos. De acordo com Kate Catlin, gerente sênior de produtos, até agora, a comunidade open source carecia de uma maneira padronizada e segura de relatar e colaborar em vulnerabilidades, tornando muito fácil para as vulnerabilidades permanecerem sem solução ou vazarem publicamente antes que as correções estivessem prontas.

No evento GitHub Universe 2022, a plataforma anunciou a versão beta pública do relatório privado de vulnerabilidade, para testar uma solução para esses problemas e obter feedback de mantenedores e pesquisadores de segurança. Desde então, os mantenedores de mais de 30 mil organizações habilitaram relatórios privados de vulnerabilidade em mais de 180 mil repositórios, recebendo mais de 1.000 envios de pesquisadores de segurança.

Benefícios para mantenedores: caso real do repositório JSON5

Mas os números sozinhos não contam toda a história, então é essencial ouvir a opinião de alguns desses primeiros usuários, como Jordan Tucker, mantenedor do JSON5: “O relatório privado de vulnerabilidade torna muito mais fácil para a comunidade open source relatar e corrigir vulnerabilidades, e eu encorajaria todos os mantenedores a habilitá-lo em seus repositórios públicos”, conta ele.

Com mais de 60 milhões de downloads semanais, o JSON5 está entre os primeiros 0,1% pacotes mais confiáveis no npm e foi adotado por grandes projetos como ChromiumNext.jsBabelRetoolWebStorm e muito mais. Parte da razão pela qual o JSON5 é tão popular é que, embora o formato de arquivo JSON seja comumente usado para comunicação máquina a máquina, a extensão JSON5 facilita escrever e manter manualmente.

Quando o especialista em Pentesting Jonathan Gregson descobriu uma vulnerabilidade JSON5, ele inicialmente fez contato com Jordan por meio de um Issue no GitHub para coordenar o envio. Entretanto, Jordan queria evitar uma discussão pública sem recorrer a um complicado e-mail. “Primeiro tentamos outro fornecedor para enviar a vulnerabilidade, mas nunca tivemos notícias dele”, conta Jordan. Então ele procurou uma alternativa e descobriu a versão beta pública do recurso de relatório privado de vulnerabilidade do GitHub. “Ativei em meu repositório e pedi ao Jonathan para enviar um relatório no GitHub. A partir daí, tudo foi rápido e sem atritos”, relembra ele. 

A correção resultante (CVE) disparou mais de 11 milhões de alertas: uma prova da popularidade do JSON5 e do valor do relatório privado de vulnerabilidade como uma prática recomendada que ajuda os mantenedores e pesquisadores de segurança a manter os projetos open source saudáveis e seguros.

Benefícios para pesquisadores de segurança

Para entender o real impacto dos relatórios de vulnerabilidade privados, Eric Tooley, gerente sênior de marketing de produto, conta que a equipe também conversou com Marco Squarcina, pesquisador de pós-doutorado na Research Unit Security and Privacy da TU Wien. No decorrer de sua pesquisa acadêmica, Marco descobriu uma vulnerabilidade que burla a segurança dos cookies: “Depois que descobri que era possível enviar por meio do recurso de relatório de vulnerabilidade privado do GitHub, entrei em contato com vários mantenedores e pedi que o habilitassem para que eu pudesse relatar o problema sem depender de muitos e-mails”, contou o pesquisador. 

Do ponto de vista de Marco, no entanto, a vantagem real é para os proprietários do projeto: “e-mails sobre uma vulnerabilidade podem parecer phishing ou passar despercebidos. Como os relatórios privados de vulnerabilidade abrem um canal de colaboração com pull requestde rascunho, os mantenedores obtêm tudo o que precisam diretamente no GitHub”. Marco é creditado como a pessoa que reportou no GitHub Security Advisory, que também resultou em um CVE.

Novos recursos e automações

Hoje, graças ao feedback da comunidade open source, Kate Catlin conta que foram implementadas várias melhorias para a disponibilidade geral de relatórios privados de vulnerabilidade, entre elas:

  • Ativar em escala: durante a versão beta pública, os relatórios privados de vulnerabilidade só podiam ser ativados em repositórios individuais. Agora, os mantenedores podem habilitar relatórios privados de vulnerabilidade em todos os repositórios de sua organização: 
Ativar em escala
Divulgação / GitHub

 

  • Múltiplos tipos de crédito: Os mantenedores podem escolher como creditar aqueles que encontram e contribuem para vulnerabilidades e remediação: 
Múltiplos tipos de crédito
Divulgação / GitHub

 

  • Integração e automação: uma nova API de recomendações de segurança de repositório oferece suporte a vários novos fluxos de trabalho de integração e automação:
    • Integração com sistemas de terceiros: os mantenedores podem canalizar relatórios privados de vulnerabilidade do GitHub para sistemas de gerenciamento de vulnerabilidade de terceiros.
    • Envios automatizados: os pesquisadores de segurança também podem usar a API para programar a abertura de um relatório privado de vulnerabilidade em vários repositórios, uma conveniência que economiza tempo quando os pacotes compartilham uma vulnerabilidade comum.
    • Alertas de vulnerabilidade: qualquer pessoa pode ficar de olho nos repositórios críticos agendando pings automáticos para notificações de novos relatórios de vulnerabilidade.

Além disso, o relatório privado de vulnerabilidade, juntamente com o restante dos recursos de segurança do GitHub, como Dependabotverificação de código e escaneamento de credenciais, é gratuito para repositórios públicos. Eric Tooley finaliza dizendo que como o lar de todos os desenvolvedores e do open source, o GitHub entende sua responsabilidade de oferecer suporte aos milhões de desenvolvedores, e a disponibilização dos relatórios privados de vulnerabilidade para todos é mais um movimento em prol da codificação com segurança na plataforma.


Leia também