OSV-Scanner, um scanner de vulnerabilidade do Google

Scanner OSV

OSV-Scanner funciona como um front-end para o banco de dados OSV.dev

O Google lançou recentemente o OSV-Scanner, uma ferramenta que oferece aos desenvolvedores de código aberto acesso fácil para verificar vulnerabilidades não corrigidas em código e aplicativos, levando em consideração toda a cadeia de dependências associadas ao código.

OSV-Scanner permite detectar situações em que um aplicativo se torna vulnerável devido a problemas em uma das bibliotecas usadas como dependência. Nesse caso, a biblioteca vulnerável pode ser usada indiretamente, ou seja, chamada por meio de outra dependência.

No ano passado, realizamos um esforço para melhorar a classificação de vulnerabilidades para desenvolvedores e consumidores de software de código aberto. Isso envolveu a publicação do esquema de vulnerabilidade de código aberto (OSV) e o lançamento do serviço OSV.dev, o primeiro banco de dados de vulnerabilidade de código aberto distribuído. O OSV permite que todos os 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.

Os projetos de software geralmente são construídos sobre uma montanha de dependências: em vez de começar do zero, o desenvolvedores incorporam bibliotecas de software externas em projetos e adicionar funcionalidades adicionais. No entanto, pacotes de código abertoo geralmente contém trechos de código não documentados que são extraídos de outras bibliotecas. Esta prática cria o que é conhecido como “dependências transitivas” no software e significa que ele pode conter várias camadas de vulnerabilidade que são difíceis de rastrear manualmente.

As dependências transitivas se tornaram uma fonte crescente de risco de segurança de código aberto no último ano. Um relatório recente da Endor Labs descobriu que 95% das vulnerabilidades de código aberto estão em dependências transitivas ou indiretas, e um relatório separado da Sonatype também destacou que as dependências transitivas representam seis das sete vulnerabilidades que afetam o código aberto.

De acordo com o Google, a nova ferramenta começará procurando por essas dependências transitivas analisando manifestos, listas de materiais de software (SBOMs) quando disponíveis e hashes de confirmação. Em seguida, ele se conectará ao banco de dados de vulnerabilidades de código aberto (OSV) para exibir as vulnerabilidades relevantes.

Scanner OSV pode escanear automaticamente recursivamente uma árvore de diretórios, identificando projetos e aplicativos pela presença de diretórios git (informações sobre vulnerabilidades determinadas por meio de análise de hash de confirmação), arquivos SBOM (lista de materiais de software nos formatos SPDX e CycloneDX), manifestos ou administradores de bloqueio de pacotes de arquivos como o Yarn , NPM, GEM, PIP e Cargo. Ele também suporta a varredura do preenchimento de imagens de contêiner docker construídas com base em pacotes dos repositórios Debian.

O OSV-Scanner é o próximo passo neste esforço, pois fornece uma interface com suporte oficial para o banco de dados OSV que conecta a lista de dependências de um projeto com as vulnerabilidades que os afetam.

La informações sobre vulnerabilidades são retiradas do banco de dados OSV (Vulnerabilidades de código aberto), que abrange informações sobre problemas de segurança em Сrates.io (Rust), Go, Maven, NPM (JavaScript), NuGet (C#), Packagist (PHP), PyPI (Python), RubyGems, Android, Debian e Alpine, bem como dados de vulnerabilidade do kernel do Linux e relatórios de vulnerabilidade do projeto hospedados no GitHub.

O banco de dados OSV reflete o status de correção do problema, confirmações com o aparecimento e correção da vulnerabilidade, intervalo de versões afetadas pela vulnerabilidade, links para o repositório do projeto com o código e notificação do problema. A API fornecida permite rastrear a manifestação de uma vulnerabilidade no nível de commit e tag e analisar a exposição ao problema de produtos derivados e dependências.

Por fim, vale ressaltar que o código do projeto é escrito em Go e distribuído sob a licença Apache 2.0. Você pode conferir mais detalhes sobre isso no link a seguir.

Os desenvolvedores podem baixar e experimentar o OSV-Scanner no site osv.dev ou usar a verificação de vulnerabilidade do OpenSSF Scorecard  para executar automaticamente o scanner em um projeto GitHub.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.