Le produit

Cinq maillons, et aucun qui se vende séparément

Un inventaire alimente un catalogue, le catalogue produit des constats, un constat exploité ouvre un incident, et l'incident produit un dossier. Rompez un maillon et les suivants cessent de valoir quelque chose — c'est pour cela que tout ce que la loi exige figure dans toutes les offres.

01

Déposer

Votre chaîne d'intégration pousse le SBOM à chaque publication — GitHub Actions, GitLab CI, ou l'API avec un jeton. Le document est conservé octet pour octet et son empreinte SHA-256 calculée à la réception.

CycloneDX et SPDX, en JSON. Un composant sans purl est inventorié et marqué non surveillable, jamais compté comme sain.

02

Surveiller

Chaque nuit, les avis des paquets que vous avez réellement déclarés sont rapatriés depuis OSV, confrontés au catalogue CISA des failles activement exploitées, et complétés des scores CVSS du NVD.

Seul le dernier SBOM de chaque version vivante est interrogé. Un même défaut publié sous deux identifiants ne donne qu'un constat.

03

Trier

Chaque constat se tranche avec sa justification : concerné, non concerné, faux positif, corrigé en version X. Une comparaison de versions indécidable lève un constat marqué incertain plutôt que d'être classée sans suite.

Une décision humaine n'est jamais effacée par une resynchronisation, et tout tri est journalisé avec l'état qu'il remplace.

04

Déclarer

Une faille exploitée sur une version encore commercialisée ouvre un incident. Vous déclarez la date de prise de connaissance, et les trois échéances de l'article 14 sont écrites — pas recalculées à l'affichage.

Les rapports sont pré-remplis des faits que l'outil détient, jamais des appréciations que vous devez porter.

05

Prouver

Une archive contenant la liste de contrôle, les SBOM tels que reçus, les déclarations VEX, les dossiers d'incident, le journal d'audit et sa vérification. Chaque fichier porte son empreinte au manifeste.

Elle se lit sans cet outil, et elle dit ce qui manque aussi clairement que ce qui est là.

Le journal d'audit

Ce qui sépare un relevé d'activité d'un élément de preuve

Chaque entrée est chaînée par empreinte SHA-256 à la précédente, sur une sérialisation canonique. Retirer une ligne, en changer une date ou en réécrire l'auteur casse la chaîne, et la page de vérification le dit en nommant l'entrée fautive.

#35 finding.triaged ← a1f9…
#36 incident.anchors_set ← 7c42…
#37 report.submitted ← e083…
✓ 37 entrées — chaîne intègre

L'utilisateur de base de données applicatif n'a ni UPDATE ni DELETE sur cette table : l'ajout seul est tenu au niveau SQL, pas seulement par convention de code.

Ce qu'il ne fait pas
  • Il ne vous rend pas conforme. La qualification de vos produits et le contenu de vos déclarations restent les vôtres.
  • Il ne dépose rien à votre place. La transmission se fait sur la plateforme unique de l'article 16.
  • L'absence d'alerte ne vaut pas absence de vulnérabilité. Un composant sans identifiant de paquet est signalé non surveillable plutôt que compté comme sain.
Suis-je concerné ?Essayer 30 jours