Ferramenta Google examina código aberto, grátis

Male Data Scientist Coding on Desktop Computer
Sheila Zabeu -

Dezembro 21, 2022

O Google lançou em dezembro uma ferramenta gratuita para que desenvolvedores de código aberto encontrem facilmente informações sobre vulnerabilidades. O OSV-Scanner fornece uma interface para o banco de dados OSV que conecta a lista de dependências de um projeto com vulnerabilidades que potenticialmente o afetam.

Trata-se de uma nova fase de duas outras empreitadas recentes do Google que visam melhorar a triagem de vulnerabilidades para desenvolvedores e usuários de software de código aberto. Uma delas foi a publicação do esquema Open Source Vulnerability (OSV), base de dados que reúne milhares de vulnerabilidades de 16 ecossistemas, entre eles OSS-Fuzz, Go, Rust, Python e DWF. A outra iniciativa foi o lançamento do serviço OSV.dev, que permite que diferentes ecossistemas de código aberto e bancos de dados de vulnerabilidade publiquem e consumam informações em um formato simples, preciso e legível por máquina.

Em geral, projetos de software possuem inúmeras dependências; bibliotecas externas incorporadas para adicionar funcionalidades sem precisar desenvolvê-las do zero. Essas dependências podem conter vulnerabilidades previamente conhecidas ou descobertas posteriormente ao desenvolvimento do software. Controlar manualmente todas essas dependências, suas versões e suas vulnerabilidades é tarefa passível de erros e nada eficiente, portanto é preciso automatizá-la.

É justamente nesse ponto que os chamados scanners podem ajudar. Eles contam com recursos automatizados que comparam o código e suas dependências com listas de vulnerabilidades e notificam sobre patches ou atualizações, quando forem necessários. Para ser ter uma ideia da importância desse tipo de atividade, a Ordem Executiva dos Estados Unidos para Segurança Cibernética de 2021 incluiu esse tipo de automação como requisito para os padrões nacionais de desenvolvimento de software seguro.

Especificamente, no caso do OSV-Scanner, como o banco de dados do OSV.dev usado para consulta é de código aberto e distribuído, apresenta vários benefícios em comparação com as bases consultivas e scanners de código fechado, segundo o Google. Por exemplo, cada comunicado de vulnerabilidade vem de uma fonte aberta e autorizada. Qualquer pessoa pode sugerir melhorias para os avisos, ajudando a manter um banco de dados de alta qualidade. Além disso, o formato OSV é legível por máquinas.

Primeiramente, o OSV-Scanner encontra as dependências do software em questão e depois conecta essas informações com o banco de dados OSV para exibir pontos frágeis relevantes do projeto. Como a ferramenta também está integrada ao OpenSSF Scorecard, a análise também considerará as vulnerabilidades dos 1,2 milhões de projetos avaliados regularmente pelo Scorecard.

Ao todo, o serviço OSV.dev, base de trabalho da ferramenta OSV-Scanner, reúne 16 ecossistemas, incluindo as principais linguagens, sistemas e distribuições Linux, fazendo dele o maior banco de dados de vulnerabilidade de código aberto, segundo o Google, com um total de mais de 38 mil alertas.

O que vem por aí?

Os planos do Google para o OSV-Scanner não é apenas oferecê-lo como um simples scanner, mas desenvolver a partir dele uma excelente ferramenta de gerenciamento de vulnerabilidades que também ajude a minimizar o fardo da correção de bugs conhecidos.

Em uma primeira etapa, a intenção é integrar a ferramenta com fluxos de trabalho dos desenvolvedores, permitindo fácil configuração e agendamento para acompanhar o surgimento de vulnerabilidades.

Além disso, aspira melhorar a compatibilidade com vulnerabilidades das linguagens C/C++ que, na visão do Google, é um dos ecossistemas mais difíceis quando se trata de gerenciamento de vulnerabilidades devido à falta de um gerenciador canônico de pacotes para identificar código C/C++.

O Google também quer adicionar recursos exclusivos ao OSV-Scanner, como a capacidade de utilizar informações sobre vulnerabilidades no nível das funções, analisando gráfico de chamadas e a possibilidade de corrigir vulnerabilidades automaticamente sugerindo alterações mínimas.

O download do OSV-Scanner pode ser feito a partir do site osv.dev. Outra opção é executar a ferramenta automaticamente com projeto GitHub usando o Scorecard.