Correspondance CVE des paquets OS (OSV.dev)
monsys récupère l’inventaire de paquets que l’agent rapporte déjà —
apt, dpkg, dnf, yum, rpm, apk, zypper — et interroge
OSV.dev pour les CVE connues sur les versions
exactes installées. Aucun scanner distant n’est lancé, l’agent sur
l’hôte ne change pas ; la correspondance s’effectue côté hub contre un
jeu de données public ouvert.
Pourquoi cela existe
Section intitulée « Pourquoi cela existe »Le hub exploite déjà trois pipelines CVE :
- Dépendances applicatives — OSV.dev contre
package.json,requirements.txt,composer.lock,go.sum. Schéma 035. - Images conteneur — Trivy contre les manifests. Schéma 035.
- Noyau — Trackers distro (USN, Debian Security Tracker, RHEL CSAF, Gentoo GLSA) contre la version de noyau en cours. Schéma 093.
Le manquant était les paquets OS sur l’hôte lui-même : une libssl3,
apache2, nginx, glibc non patchée. Le schéma 100 comble ce
manque en réutilisant le même backend déjà éprouvé pour les
dépendances applicatives.
Couverture
Section intitulée « Couverture »OSV.dev couvre ces écosystèmes OS, mis à jour en continu :
| Famille distro | Écosystème OSV |
|---|---|
| Ubuntu | Ubuntu:24.04, Ubuntu:22.04, Ubuntu:20.04, Ubuntu:18.04 |
| Debian | Debian:12, Debian:11, Debian:10 |
| Alpine | Alpine:v3.19, Alpine:v3.18, … |
| Rocky Linux | Rocky Linux:9, Rocky Linux:8 |
| AlmaLinux | AlmaLinux:9, AlmaLinux:8 |
| openSUSE Tumbleweed | openSUSE:Tumbleweed |
| Wolfi | Wolfi |
| Chainguard | Chainguard |
| SUSE SLES 15 | SUSE:SLES15 |
Les distros sans écosystème OSV (Arch, Gentoo, FreeBSD, builds personnalisés) sont silencieusement ignorées — la sous-composante du Trust Score est neutralisée plutôt que pénalisée.
Fonctionnement
Section intitulée « Fonctionnement »- Toutes les 2 heures
OSPackageCveWorkerlit le dernier snapshot d’inventaire par agent, dérive un écosystème OSV depuisos_name+os_version, et soumet(ecosystem, package_name, version)àPOST https://api.osv.dev/v1/querybatchpar lots de 1000. - Chaque ID de vulnérabilité unique est ensuite récupéré une fois via
GET https://api.osv.dev/v1/vulns/{id}, mis en cache pour le cycle. - Chaque correspondance
(agent, package, version, vuln_id)est upsert dansos_package_cvesavec sévérité, version corrective, résumé, alias. - La page
/recommendationsles remonte automatiquement, et l’onglet CVE par agent les fusionne (UNION) avec les findings app-dep et Trivy existants.
Impact sur le Trust Score
Section intitulée « Impact sur le Trust Score »La composante patch_hygiene (poids 30 %) devient un composite à
3 voies dès que les trois sous-composantes ont des données :
application_cves— 50 %kernel_currency— 25 %os_packages— 25 %
Quand l’hôte est trop récent pour avoir des données OS-package, la sous-composante est neutralisée (poids 0) — le score reste stable au lieu de pénaliser silencieusement.
Confidentialité
Section intitulée « Confidentialité »Nous envoyons uniquement des triplets (ecosystem, name, version) à
OSV.dev. Pas de hostname, pas de tenant ID, pas d’agent ID. L’exposition
est équivalente à un apt list --installed exécuté localement par
quiconque dispose d’un shell sur la machine. OSV.dev est opéré par
l’équipe Open Source Security de Google sous licence Apache 2.0 ; le
lookup est non authentifié et gratuit.
Agir sur un finding
Section intitulée « Agir sur un finding »Chaque finding est observe-only — selon le principe human-in-the-loop
de monsys, le hub ne lance jamais automatiquement apt upgrade ni
aucune autre mutation. La page /recommendations propose une commande
de prévisualisation par hôte :
| Distro | Aperçu |
|---|---|
| Ubuntu / Debian | sudo apt-get update && sudo apt-get upgrade -y |
| RHEL / Rocky / Alma | sudo dnf upgrade --security -y |
| Alpine | sudo apk update && sudo apk upgrade |
| openSUSE / SLES | sudo zypper patch |
Pour une exécution contrôlée il existe le flux EAT package_update
existant sur l’agent — l’opérateur approuve la mise à jour via TOTP, le
EAT autorise un apt upgrade <pkg>=<version> à usage unique avec une
entrée d’audit-log signée. Cette partie n’a pas changé.
Outil MCP
Section intitulée « Outil MCP »Pour les utilisateurs du Claude Connector, le nouvel outil
monsys_list_os_cves expose les mêmes données avec des filtres
min_severity, only_with_fix, et agent_id. Comme tous les outils
detection, il est en lecture seule.