À propos du projet

OSV-Scanner est une interface officiellement prise en charge pour la base de données OSV et une interface CLI pour OSV-Scalibr. Il relie la liste des dépendances d'un projet aux vulnérabilités connues, aidant les développeurs à trouver et à corriger les problèmes dans leurs dépendances. Il prend en charge un large éventail de langages, notamment C/C++, Dart, Elixir, Go, Java, JavaScript, PHP, Python, R, Ruby et Rust, ainsi que des gestionnaires de paquets tels que npm, pip, yarn, Maven, les modules Go, Cargo, gem, Composer et NuGet. Il peut analyser récursivement les répertoires sources à la recherche de lockfiles et de manifestes pris en charge, détecter le code C/C++ vendored et effectuer une analyse d'appel pour réduire les faux positifs en déterminant si les fonctions vulnérables sont réellement utilisées. L'analyse des conteneurs est sensible aux couches et prend en charge les images de base et les artefacts de langage pour Alpine, Debian et Ubuntu, ainsi que les dépendances Go, Java, Node et Python. L'analyse des licences utilise les données de deps.dev pour résumer les licences des dépendances ou les vérifier par rapport à une liste autorisée SPDX. L'analyse hors ligne fonctionne avec une base de données OSV téléchargée localement après la récupération initiale. Une fonctionnalité expérimentale de remédiation guidée suggère des mises à niveau de versions de paquets en fonction de la profondeur des dépendances, de la gravité minimale, de la stratégie de correction et du retour sur investissement. Elle prend actuellement en charge les lockfiles et les manifestes npm, ainsi que les fichiers POM Maven, avec des modes CLI sans interface et interactif. OSV-Scanner interroge l'API OSV.dev pour les données de vulnérabilité, l'API deps.dev pour la résolution des dépendances, les métadonnées des conteneurs, les informations de licence et les vérifications de dépréciation, et peut contacter les registres de paquets tels que Maven Central, npm et PyPI lorsque la résolution native des registres est utilisée. Le mode hors ligne désactive les requêtes réseau.