Google ha presentato lo strumento OSV-Scanner per controllare la presenza di vulnerabilità di sicurezza non corrette nel codice e nelle applicazioni, lavorando tenendo conto dell'intera catena di dipendenze associate al codice. OSV-Scanner permette di identificare situazioni in cui un'applicazione diventa vulnerabile a causa di problemi in una delle librerie utilizzate come dipendenza. La libreria vulnerabile può essere utilizzata indirettamente, cioè chiamata tramite un'altra dipendenza. Il codice del progetto è scritto in linguaggio Go ed è distribuito sotto licenza Apache 2.0.
OSV-Scanner può scansionare automaticamente in modo ricorsivo l'albero delle directory, identificando progetti e applicazioni tramite la presenza di directory git (le informazioni sulle vulnerabilità vengono determinate attraverso l'analisi degli hash dei commit), file SBOM (Software Bill Of Material nei formati SPDX e CycloneDX), manifesti o file lock dei gestori di pacchetti, come Yarn, NPM, GEM, PIP e Cargo. È supportata anche la scansione della parte interna delle immagini dei container Docker, create sulla base di pacchetti provenienti dai repository Debian.

Le informazioni sulle vulnerabilità vengono estratte dal database OSV (Open Source Vulnerabilities), che copre dettagli sui problemi di sicurezza nei repository di Crates.io (Rust), Go, Maven, NPM (JavaScript), NuGet (C#), Packagist (PHP), PyPI (Python), RubyGems, Android, Debian e Alpine, così come dati sulle vulnerabilità nel kernel Linux e informazioni provenienti da rapporti sulle vulnerabilità in progetti ospitati su GitHub. Nel database OSV è riflesso lo stato della correzione del problema, sono indicati i commit con la comparsa e la correzione della vulnerabilità, l'intervallo delle versioni vulnerabili, i link al repository del progetto con il codice e la notifica del problema. L'API fornita consente di tracciare a livello di commit e tag la manifestazione della vulnerabilità e analizzare l'esposizione ai problemi di prodotti e dipendenze derivati.

Fonte: opennet.ru
