Google a lancé OSV-Scanner, un outil gratuit permettant aux développeurs de logiciels libres d'accéder facilement à des informations sur les vulnérabilités. Il comprendrait une interface avec la base de données OSV qui relie la liste des dépendances d'un projet avec les vulnérabilités potentielles affectant le projet. OSV-Scanner est disponible pour Linux, macOS et Windows. Il fait également partie de la vérification des vulnérabilités de l'OpenSSF Scorecard.
"L'OSV-Scanner génère des informations fiables et de haute qualité sur les vulnérabilités qui comblent le fossé entre la liste des paquets d'un développeur et les informations contenues dans les bases de données sur les vulnérabilités", a déclaré Rex Pan, ingénieur logiciel au sein de l'équipe de sécurité Open Source de Google, dans le billet de blog.
OSV-Scanner, écrit dans le langage de programmation Go, est destiné à inspecter les applications open source afin d'analyser la sécurité de toutes les dépendances intégrées. Par conséquent, les bibliothèques logicielles qui sont ajoutées aux projets fournissent des fonctions pré-intégrées afin que les développeurs n'aient pas à recréer ces fonctions à partir de zéro.
Google a l'intention de transformer OSV-Scanner en un outil complet de gestion des vulnérabilités en l'intégrant davantage dans les flux de travail des développeurs (via des actions CI autonomes), en ajoutant des fonctionnalités telles que l'atténuation automatique des vulnérabilités avec des changements de version mineurs et en améliorant la prise en charge des vulnérabilités C/C++. Cela peut se faire lorsque OSV-Scanner est exécuté sur une application et génère une liste de dépendances directes et transitives avec des vulnérabilités connues, que le développeur de l'application peut alors traiter en spécifiant des versions sûres des paquets, si elles sont disponibles et compatibles.
Il est similaire aux outils spécifiques à JavaScript tels que npm audit ou Socket, mais il prend en charge une gamme plus large de systèmes d'empaquetage. Android, crates.io, Debian GNU/Linux, GitHub Actions, Go, Hex, Linux kernel, Maven, npm, NuGet, OSS-Fuzz, Packagist, Pub, PyPI et RubyGems en sont quelques exemples.
Son mode de fonctionnement consiste à rechercher dans les lockfiles d'un projet, les nomenclatures logicielles (SBOM) et les répertoires git le hash de validation le plus récent, puis à dresser la liste des dépendances transitives et des versions utilisées dans les projets du développeur, et enfin à comparer cette liste à la base de données Open Source Vulnerability (OSV) (par l'intermédiaire de l'API OSV.dev).
Les sources de cet article comprennent un article paru dans SCMedia.


