Google ha presentato lo strumento OSV-Scanner per controllare la presenza di vulnerabilità non corrette nel codice e nelle applicazioni, tenendo conto di tutte le dipendenze collegate al codice. OSV-Scanner consente di identificare situazioni in cui un'applicazione diventa vulnerabile a causa di problemi in una delle librerie utilizzate come dipendenze. Inoltre, la libreria vulnerabile può essere utilizzata indirettamente, ovvero richiamata tramite un'altra dipendenza. Il codice del progetto è scritto in linguaggio Go ed è distribuito sotto licenza Apache 2.0.
OSV-Scanner può automaticamente scansionare in modo ricorsivo l'albero delle directory, identificando progetti e applicazioni in base alla presenza di repository git (le informazioni sulle vulnerabilità sono 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 del contenuto delle immagini dei container docker, costruite sulla base di pacchetti provenienti dai repository Debian.

Le informazioni sulle vulnerabilità provengono dal database OSV (Open Source Vulnerabilities), che raccoglie dati 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, oltre ai dati sulle vulnerabilità nel kernel di Linux e altre informazioni dai report sulle vulnerabilità nei progetti ospitati su GitHub. Nel database OSV è riflesso lo stato di correzione del problema, sono indicati i commit relativi all'emergere e alla 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 monitorare a livello di commit e tag l'emergere della vulnerabilità e analizzare l'esposizione al problema di prodotti derivati e dipendenze.

Fonte: opennet.ru
