Firma Google zaprezentowała narzędzie OSV-Scanner do sprawdzania obecności niezałatwionych luk w kodzie i aplikacjach, działające z uwzględnieniem całego łańcucha powiązanych zależności. OSV-Scanner pozwala identyfikować sytuacje, w których aplikacja staje się podatna na ataki z powodu problemów w jednej z używanych zależności bibliotek. Zainfekowana biblioteka może być wykorzystywana pośrednio, tzn. być wywoływana za pośrednictwem innej zależności. Kod projektu jest napisany w języku Go i jest rozpowszechniany na licencji Apache 2.0.
OSV-Scanner może automatycznie skanować drzewo katalogów w sposób rekurencyjny, określając projekty i aplikacje poprzez obecność katalogów git (informacje o lukach w zabezpieczeniach są określane poprzez analizę hashy commitów), plików SBOM (Software Bill Of Materials w formatach SPDX i CycloneDX), manifestów lub plików lock menedżerów pakietów, takich jak Yarn, NPM, GEM, PIP i Cargo. Obsługiwane jest również skanowanie baz obrazów kontenerów dockera, zbudowanych na podstawie pakietów z repozytoriów Debiana.

Informacje o lukach w zabezpieczeniach pochodzą z bazy danych OSV (Open Source Vulnerabilities), obejmującej dane o problemach z bezpieczeństwem w repozytoriach Crates.io (Rust), Go, Maven, NPM (JavaScript), NuGet (C#), Packagist (PHP), PyPI (Python), RubyGems, Android, Debian i Alpine, a także dane o lukach w jądrze Linuksa i informacje z raportów o lukach w projektach umieszczonych na GitHubie. W bazie OSV odzwierciedlony jest status naprawy problemu, wskazane są commity dotyczące pojawienia się i naprawienia luki, zakres podatnych wersji oraz odnośniki do repozytorium projektu z kodem oraz powiadomienia o problemie. Umożliwiane przez API śledzenie na poziomie commitów i tagów zjawisk luk w zabezpieczeniach oraz analiza podatności problemom produktów pochodnych i zależności.

Źródło: opennet.ru
