Google lance un scanner de vulnérabilités gratuit pour les développeurs de logiciels libres
Google a lancé OSV-Scanner, un outil gratuit permettant aux développeurs de logiciels libres d'accéder facilement aux 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 aux 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 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 pour analyser la sécurité de toutes les dépendances intégrées. Il s'agit donc de bibliothèques logicielles qui sont ajoutées aux projets pour fournir des fonctions préétablies afin que les développeurs n'aient pas à recréer ces fonctions à partir de zéro.
Bien que Google ait l'intention de transformer OSV-Scanner en un outil complet de gestion des vulnérabilités en l'intégrant davantage aux 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 être fait 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 un éventail plus large de systèmes de packaging. 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 le hash du commit le plus récent dans les lockfiles, les nomenclatures logicielles (SBOM) et les répertoires git d'un projet, 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) (via l'API OSV.dev).
Les sources de cette pièce incluent un article dans SCMedia.