CVE matching
Monsys correlates de geïnstalleerde packages op iedere host met meerdere CVE-feeds en geeft elke match een gewogen risicoscore.
Bronnen
- NVD v2 — National Vulnerability Database, met CVSS 3.1 scores en CPE-string match (incl. version-range constraints).
- OSV.dev — package-specifieke kwetsbaarheden voor apt, rpm, pip, npm, cargo, gem.
- EPSS — Exploit Prediction Scoring System (FIRST.org). Geeft een waarschijnlijkheid (0–1) dat een CVE binnen 30 dagen geëxploiteerd zal worden.
Matching-algoritme
- Voor elke geïnstalleerde package
(name, version)wordt CPE-naam matching en OSV ecosystem-query parallel uitgevoerd. - Voor NVD-hits worden version-range constraints (
versionStartIncluding,versionEndExcluding…) toegepast — installed must fall in the vulnerable range. - OSV-hits die al door NVD gevonden zijn, worden gededupeerd op CVE-id.
Risk score formule
risk = cvss * (epss > 0 ? epss : 0.05) * 1.5 if published > 30 dagen geleden * 2.0 if known public exploit (ExploitDB / Metasploit) * 1.5 if affected service luistert op publiek interfacegecapped op 10.0Limitaties
- Debian/Ubuntu backporting: Canonical patcht security holes vaak in een oudere versie. Onze matcher kan niet onderscheiden tussen “1.18.0” upstream en “1.18.0-6ubuntu0.4” (waar de fix in zit). Dit veroorzaakt false positives voor LTS-distros.
- Windows: WMIC/winget tonen alleen geïnstalleerde MSI’s, niet portable apps.
- Beta/RC-versies: NVD CPE strings dekken release-versies; pre-releases matchen mogelijk niet correct.