Dans le monde actuel, où tout, des machines à café aux équipements industriels, est connecté au réseau, connaître et évaluer la sécurité de vos logiciels et de leurs dépendances n’a jamais été aussi crucial. La plupart des vulnérabilités proviennent de petits bogues dans des composants logiciels, et plus récemment (bien que plus rarement) d’attaques sophistiquées sur la chaîne d’approvisionnement. Mais dès lors que les appareils sont exposés à Internet, ces bogues peuvent devenir des portes d’entrée pour des attaquants situés à l’autre bout du monde.
Les systèmes modernes reposent également sur une large base de composants open source : bibliothèques, noyaux, outils de compilation et dépendances tierces qui constituent une part importante de l’image finale du firmware. Si l’open source accélère l’innovation et permet de mutualiser les coûts de développement, il introduit aussi un flux continu de mises à jour en amont et de divulgations de vulnérabilités que les équipes doivent suivre et gérer.
Les SBOMs (Software Bill of Materials) se sont imposés comme une bonne pratique pour rendre transparente la composition logicielle. Toutefois, l’analyse des SBOMs à la recherche de vulnérabilités est souvent plus difficile qu’elle ne devrait l’être, en particulier dans les environnements embarqués, où de nombreux concepteurs de produits manquent d’expertise en cybersécurité et des ressources nécessaires pour réaliser des audits complets sans outils automatisés.
De plus, le Cyber Resilience Act (CRA) de l’Union Européenne impose aux fabricants de produits connectés avec des éléments numériques de créer et maintenir une Software Bill of Materials documentant les composants et vulnérabilités, et servant de base à un suivi continu à mesure que de nouveaux problèmes émergent. Bien que la divulgation publique ne soit pas obligatoire, les fabricants doivent fournir ces informations aux autorités de surveillance du marché sur demande.
C’est pourquoi nous avons créé VulnScout : pour aider les organisations à répondre à leurs besoins en matière de sécurité et de conformité pour les systèmes embarqués qu’elles développent.
VulnScout est un scanner de vulnérabilités basé sur les SBOMs, conçu pour être convivial pour les développeurs et simple à intégrer avec Yocto, Buildroot et la plupart des systèmes générant des SBOMs. Il prend en charge les formats SPDX, CycloneDX et OpenVEX, ce qui permet une détection et une exploration simplifiées des vulnérabilités au niveau de la compilation, avec un minimum de configuration et de mise en place. Il comble ainsi le fossé entre les outils de cybersécurité et le développement logiciel au quotidien, notamment dans les projets comportant des dizaines voire des centaines de dépendances open source.
[L’introduction est en français, le reste du texte en anglais]
Limitations of Current SBOM Scanners
Many existing tools are excellent at what they do, but they often come with trade-offs that limit their usefulness as a single source of truth for project-level vulnerability assessment:
- Grype is powerful and lightweight but lacks fix tracking or SBOM enrichment.
- Dependency-Track provides a full-featured dashboard but requires centralized infrastructure with a server and database setup.
- Anchore’s tools focus on containerized environments and cloud-native workflows.
But what if you just want to:
- Scan SBOM files generated by Yocto, Buildroot, or any existing build system or distribution
- Merge results from SPDX, CycloneDX, or Yocto outputs
- Explore, sort, filter, track, and document what’s fixed vs. what’s still a risk, including which open-source components are still vulnerable
- Do all of this from a web-based interface, without setting up a server
That’s where VulnScout comes in.
What Sets VulnScout Apart
Unlike many other tools that require a persistent web and database infrastructure, VulnScout is fully self-contained. It runs locally, stores its state within your project repository, and integrates directly with your build system, making CVE assessments version-controlled and part of your release process.
VulnScout helps teams keep track of which components are vulnerable, which ones have been fixed, and which ones still need attention. This history is preserved in the repository, making it part of your engineering workflow and auditable over time.
While other solutions are tightly coupled to specific data formats, VulnScout is format-agnostic and supports SPDX 2.x, SPDX 3.0, CycloneDX, and OpenVEX out of the box, eliminating the need for format conversion. VulnScout can also act as a conversion and reporting tool, allowing you to transform SBOM inputs into:
- Structured SBOMs
- Human-readable reports (PDF, text, HTML)
- CLI summaries for quick CI/CD integration
This makes it ideal for both automated builds and preparing audit documentation, especially when you need to demonstrate how you’ve addressed vulnerabilities across your open-source dependencies.
How VulnScout Works
Instead of analyzing binaries or source code directly, VulnScout focuses on SBOM inputs. It consumes formats like SPDX, CycloneDX, Grype JSON, and Yocto CVE-check JSON, enriching them with data from:
- NVD (National Vulnerability Database)
- EPSS (Exploit Prediction Scoring System)
- OSV (Open Source Vulnerabilities) (coming soon)
- Grype-compatible data sources
- Vulnerability information already embedded in the SBOM files
Click to open the video
Once scanned, VulnScout generates:
- Rich web-based dashboards
- Extended reporting in PDF, CSV, and text
- Structured output files (SPDX, CycloneDX, OpenVEX)
- CLI summaries for quick integration
- CI alerts based on filters (for example: a new vulnerability with EPSS score > 7.0)
It is designed to run locally, either plugged into a Yocto or Buildroot setup or via a Docker container, and can be triggered with a single script (vulnscout.sh
) or a Yocto layer (meta-vulnscout
). This workflow allows you to continuously monitor open-source components as part of every build, catching regressions and new disclosures early.
Click to open the video
Try VulnScout
You can get started with VulnScout in just a few minutes.
Check out the VulnScout GitHub repository for installation instructions, examples, and quick-start guides. If you use Yocto, check out meta-vulnscout, allowing for seamless integration with your image recipes.
Run it locally or in your CI pipeline to keep your open-source components under continuous watch and stay ahead of new vulnerabilities.