OS-pakket CVE matching (OSV.dev)
monsys neemt de pakket-inventaris die de agent al rapporteert: apt,
dpkg, dnf, yum, rpm, apk, zypper, en vraagt
OSV.dev naar bekende CVE’s tegen de exact
geïnstalleerde versies. Er draait geen extra scanner; geen wijziging
op de host. De matching gebeurt in de hub tegen een open publieke
dataset.
Waarom dit bestaat
Section titled “Waarom dit bestaat”De hub draait al drie CVE-pipelines:
- Applicatie-dependencies: OSV.dev tegen
package.json,requirements.txt,composer.lock,go.sum. Geshipt in schema 035. - Container-images: Trivy tegen image manifests. Schema 035.
- Kernel: Distro-trackers (USN, Debian Security Tracker, RHEL CSAF, Gentoo GLSA) tegen de draaiende kernel-release. Schema 093.
Het gat was OS-pakketten op de host zelf: een niet-gepatchte
libssl3, apache2, nginx, glibc. Schema 100 sluit dat gat door
dezelfde backend te hergebruiken die we al vertrouwen voor app-deps.
Dekking
Section titled “Dekking”OSV.dev dekt deze OS-ecosystemen, continu bijgewerkt:
| Distro-familie | OSV ecosysteem |
|---|---|
| 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 |
Distros zonder OSV-ecosysteem (Arch, Gentoo, FreeBSD, custom builds) worden stil overgeslagen: de Trust Score sub-component wordt blanked in plaats van straffen.
Hoe het werkt
Section titled “Hoe het werkt”- Elke 2 uur leest
OSPackageCveWorkerde laatste inventory-snapshot per agent, leidt een OSV-ecosysteem af uitos_name+os_version, en stuurt(ecosystem, package_name, version)in chunks van 1000 naarPOST https://api.osv.dev/v1/querybatch. - Elk uniek vuln-ID wordt eenmalig opgehaald via
GET https://api.osv.dev/v1/vulns/{id}, gecached binnen de cyclus. - Elke
(agent, package, version, vuln_id)match wordt geüpsert inos_package_cvesmet severity, fixed-versie, samenvatting, aliases. - De
/recommendations-pagina pikt ze automatisch op, en het per-agent CVE-tabblad UNIONt ze met de bestaande app-dep en Trivy bevindingen.
Impact op Trust Score
Section titled “Impact op Trust Score”De patch_hygiene-component (gewicht 30%) wordt een 3-weg composite
zodra alle drie sub-componenten data hebben:
application_cves: 50%kernel_currency: 25%os_packages: 25%
Wanneer een host nog te nieuw is om OS-pakket-data te hebben, wordt de sub-component blanked (gewicht 0): de score blijft stabiel in plaats van stilletjes te straffen.
Privacy
Section titled “Privacy”We sturen alleen (ecosystem, name, version)-triples naar OSV.dev.
Geen hostnames, geen tenant-ID’s, geen agent-ID’s. De exposure is
dezelfde als iemand die apt list --installed draait op de host met
shell-toegang. OSV.dev wordt beheerd door Google’s Open Source Security
Team onder Apache 2.0 licentie; de lookup zelf is ongeauthenticeerd
en gratis.
Actie ondernemen op een bevinding
Section titled “Actie ondernemen op een bevinding”Elke bevinding is observe-only: volgens het monsys human-in-the-loop
principe draait de hub nooit automatisch apt upgrade of een andere
mutatie. De /recommendations-pagina toont per host een preview-commando:
| Distro | Preview |
|---|---|
| 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 |
Voor gecontroleerde uitvoering bestaat de bestaande package_update
EAT-flow op de agent: operator keurt de upgrade goed via TOTP, de EAT
autoriseert een single-shot apt upgrade <pkg>=<version> met een
signed audit-log-entry. Dat deel is niet veranderd.
MCP tool
Section titled “MCP tool”Voor Claude Connector-gebruikers exposeert de nieuwe tool
monsys_list_os_cves dezelfde data met filters voor min_severity,
only_with_fix, en agent_id. Zoals alle detection-tools is hij
read-only.
Rangschikking op echte blootstelling
Section titled “Rangschikking op echte blootstelling”De pagina Kwetsbaarheden in gebruik toont elke kritieke kwetsbaarheid één keer en rangschikt ze. Bovenaan staat wat actief misbruikt wordt én bereikbaar is. Per regel staat waarom: actief misbruikt (CISA KEV), misbruik waarschijnlijk (EPSS van 10 procent of meer), bereikbaar vanaf internet, bedient websites, ernst kritiek, oplossing beschikbaar.
| Toestand | Wanneer | In de problemenlijst |
|---|---|---|
| Kritiek | misbruikt en bereikbaar | ja, en je telefoon gaat |
| Waarschuwing | misbruikt, of bereikbaar met een oplossing klaar | ja |
| Opgevolgd | geen oplossing en niet misbruikt | nee, wel op deze pagina; wordt een probleem zodra dat verandert |
Is de kwetsbare versie niet meer te vinden in de inventaris, dan sluit het probleem vanzelf met die vaststelling als bewijs.