Sobre o projeto

O OSV-Scanner é um frontend oficialmente suportado para a base de dados OSV e uma interface CLI para o OSV-Scalibr. Liga a lista de dependências de um projeto a vulnerabilidades conhecidas, ajudando os programadores a encontrar e corrigir problemas nas suas dependências. Suporta uma ampla variedade de linguagens, incluindo C/C++, Dart, Elixir, Go, Java, JavaScript, PHP, Python, R, Ruby e Rust, bem como gestores de pacotes como npm, pip, yarn, Maven, Go modules, Cargo, gem, Composer e NuGet. Pode analisar diretórios de código-fonte recursivamente à procura de lockfiles e manifestos suportados, detetar código C/C++ vendorizado e realizar análise de chamadas para reduzir falsos positivos, determinando se as funções vulneráveis são realmente utilizadas. A análise de contentores tem em conta as camadas e suporta imagens base e artefactos de linguagem para Alpine, Debian e Ubuntu, além de dependências Go, Java, Node e Python. A análise de licenças utiliza dados do deps.dev para resumir as licenças das dependências ou verificá-las em relação a uma lista de permissões SPDX. A análise offline funciona com uma base de dados OSV descarregada localmente após a obtenção inicial. Uma funcionalidade experimental de remediação guiada sugere atualizações de versões de pacotes com base na profundidade das dependências, severidade mínima, estratégia de correção e retorno do investimento. Atualmente suporta lockfiles e manifestos npm, e ficheiros POM do Maven, com modos CLI headless e interativo. O OSV-Scanner consulta a API OSV.dev para dados de vulnerabilidades, a API deps.dev para resolução de dependências, metadados de contentores, informações de licenças e verificações de descontinuação, e pode contactar registos de pacotes como Maven Central, npm e PyPI quando é utilizada a resolução nativa de registos. O modo offline desativa os pedidos de rede.