Google ha introdotto il toolkit OSV-Scanner per la verifica di vulnerabilità non corrette nel codice e nelle applicazioni, lavorando sull'intera catena di dipendenze associate al codice. OSV-Scanner consente di identificare le situazioni in cui un'applicazione diventa vulnerabile a causa di problemi in una delle librerie utilizzate come dipendenza. In questo caso, la libreria vulnerabile può essere utilizzata indirettamente, ovvero richiamata tramite un'altra dipendenza. Il codice del progetto è scritto in Go ed è distribuito con licenza Apache 2.0.
OSV-Scanner è in grado di scansionare automaticamente e ricorsivamente una struttura di directory, identificando progetti e applicazioni in base alla presenza di directory Git (le informazioni sulle vulnerabilità vengono determinate analizzando gli hash dei commit), file SBOM (Software Bill of Material nei formati SPDX e CycloneDX) e manifest o file di blocco provenienti da gestori di pacchetti come Yarn, NPM, GEM, PIP e Cargo. Supporta inoltre la scansione del payload delle immagini container Docker create a partire da pacchetti presenti nei repository. Debian.

Le informazioni sulla vulnerabilità sono tratte dal database OSV (Open Source Vulnerabilities), che contiene informazioni sui problemi di sicurezza nei seguenti repository: Crate.io (Rust), Go, Maven, NPM (JavaScript), NuGet (C#), Packagist (PHP), PyPI (Python), RubyGems, Android, Debian e Alpine, nonché dati sulle vulnerabilità del kernel Linux e informazioni provenienti da segnalazioni di vulnerabilità in progetti ospitati su GitHub. Il database OSV riflette lo stato di risoluzione del problema, i commit che hanno introdotto e corretto la vulnerabilità, l'intervallo di versioni interessate, i collegamenti al repository del codice del progetto e la notifica del problema. L'API fornita consente il rilevamento delle vulnerabilità a livello di commit e tag e l'analisi dell'impatto della vulnerabilità su prodotti derivati e dipendenze.

Fonte: opennet.ru
