Keine CVE-Scans: Engine nur Debian (Ubuntu/RHEL/Alpine scheitern) + cve_scan_cron leer (keine Automatik) #36

Closed
opened 2026-06-01 22:15:23 +00:00 by chinux · 3 comments
Owner

Frage

„Keine CVE-Scans vorhanden?" — es entstehen keine CVE-Scan-Ergebnisse.

Root Cause (zwei Ursachen)

1. CVE-Scan ist Debian-only → Ubuntu & Co. scheitern

server/routers/security_router.py:

DEBIAN_CODENAMES = {"buster":"10","bullseye":"11","bookworm":"12","trixie":"13","forky":"14"}
...
if not codename or codename not in DEBIAN_CODENAMES:
    ... raise HTTPException(400, "... CVE-Scan derzeit nur für Debian.")

Es sind nur Debian-Codenamen zugelassen + OSV-Ecosystem Debian:N. Ubuntu (jammy/noble/…), RHEL/Alma/Rocky, Alpine, Arch, Windows, FreeBSD → sofortiger Fehler „kein Debian", keine VMCveReport-Zeilen. Da Ubuntu sehr verbreitet ist, erklärt das „keine Scans" für einen Großteil der Flotte.

2. Geplante Scans laufen nur mit gesetztem Cron

_cve_scan_tick (server/scheduler.py:127) bricht ab, wenn security.cve_scan_cron leer/ungültig ist — Default "" (settings_router.py:37). Das Feld existiert in /settings → Security (mit Cron-Picker), ist aber leer → nie automatische Scans. (Manuelle Scans gehen, aber nur für Debian, siehe 1.)

Fix

A. Automatisierung ermöglichen (klein)

cve_scan_cron setzbar/auffindbar machen — ist in /settings vorhanden; entweder sinnvollen Default (z. B. 0 4 * * *) vorbelegen oder in der UI deutlicher als „aus, bis konfiguriert" kennzeichnen.

B. Ecosystems über Debian hinaus (Kern)

Die OS→Ecosystem-Erkennung erweitern (__cve_scan_inner_impl, security_router.py:753):

  • Ubuntu (größter Hebel, minimal): aus /etc/os-release VERSION_ID → OSV-Ecosystem Ubuntu:<version>; Paketliste weiterhin via dpkg-query (gleicher Pfad). Nur die Codename/Ecosystem-Map + die „kein Debian"-Guard erweitern.
  • RHEL/Alma/Rocky: rpm -qa --qf '%{NAME}\t%{EVR}\n' → OSV-Ecosystem Red Hat/Rocky Linux/AlmaLinux.
  • Alpine: apk info -v → OSV Alpine:vX.Y.
  • Nicht unterstützte OS sauber als status="skipped" statt "error" ablegen (kein irreführender Fehler).

Die OSV-Querybatch-/Detail-Logik bleibt unverändert — nur Paketquelle + Ecosystem je OS.

Offene Entscheidung

Welche Ecosystems brauchst du real? Ubuntu ist der offensichtliche erste Schritt; RHEL-Familie + Alpine je nach Flotte. Sag, was bei dir läuft, dann priorisiere ich den Scope.

Akzeptanz

  • Mit gesetztem Cron entstehen automatisch CVE-Scans.
  • Ubuntu-VMs (mind.) liefern CVE-Reports statt „kein Debian".
  • Nicht unterstützte OS → skipped, kein Fehler.

Branch

feat/cve-scan-ecosystems

## Frage „Keine CVE-Scans vorhanden?" — es entstehen keine CVE-Scan-Ergebnisse. ## Root Cause (zwei Ursachen) ### 1. CVE-Scan ist Debian-only → Ubuntu & Co. scheitern `server/routers/security_router.py`: ```python DEBIAN_CODENAMES = {"buster":"10","bullseye":"11","bookworm":"12","trixie":"13","forky":"14"} ... if not codename or codename not in DEBIAN_CODENAMES: ... raise HTTPException(400, "... CVE-Scan derzeit nur für Debian.") ``` Es sind **nur Debian-Codenamen** zugelassen + OSV-Ecosystem `Debian:N`. **Ubuntu** (jammy/noble/…), RHEL/Alma/Rocky, Alpine, Arch, Windows, FreeBSD → sofortiger Fehler „kein Debian", keine `VMCveReport`-Zeilen. Da Ubuntu sehr verbreitet ist, erklärt das „keine Scans" für einen Großteil der Flotte. ### 2. Geplante Scans laufen nur mit gesetztem Cron `_cve_scan_tick` (`server/scheduler.py:127`) bricht ab, wenn `security.cve_scan_cron` leer/ungültig ist — Default `""` (`settings_router.py:37`). Das Feld existiert in **/settings → Security** (mit Cron-Picker), ist aber leer → **nie** automatische Scans. (Manuelle Scans gehen, aber nur für Debian, siehe 1.) ## Fix ### A. Automatisierung ermöglichen (klein) `cve_scan_cron` setzbar/auffindbar machen — ist in /settings vorhanden; entweder sinnvollen Default (z. B. `0 4 * * *`) vorbelegen oder in der UI deutlicher als „aus, bis konfiguriert" kennzeichnen. ### B. Ecosystems über Debian hinaus (Kern) Die OS→Ecosystem-Erkennung erweitern (`__cve_scan_inner_impl`, `security_router.py:753`): - **Ubuntu** (größter Hebel, minimal): aus `/etc/os-release` `VERSION_ID` → OSV-Ecosystem `Ubuntu:<version>`; Paketliste weiterhin via `dpkg-query` (gleicher Pfad). Nur die Codename/Ecosystem-Map + die „kein Debian"-Guard erweitern. - **RHEL/Alma/Rocky**: `rpm -qa --qf '%{NAME}\t%{EVR}\n'` → OSV-Ecosystem `Red Hat`/`Rocky Linux`/`AlmaLinux`. - **Alpine**: `apk info -v` → OSV `Alpine:vX.Y`. - Nicht unterstützte OS sauber als `status="skipped"` statt `"error"` ablegen (kein irreführender Fehler). Die OSV-Querybatch-/Detail-Logik bleibt unverändert — nur Paketquelle + Ecosystem je OS. ## Offene Entscheidung Welche Ecosystems brauchst du real? Ubuntu ist der offensichtliche erste Schritt; RHEL-Familie + Alpine je nach Flotte. Sag, was bei dir läuft, dann priorisiere ich den Scope. ## Akzeptanz - Mit gesetztem Cron entstehen automatisch CVE-Scans. - Ubuntu-VMs (mind.) liefern CVE-Reports statt „kein Debian". - Nicht unterstützte OS → `skipped`, kein Fehler. ## Branch `feat/cve-scan-ecosystems`
chinux changed title from Keine CVE scans vorhanden ? to Keine CVE-Scans: Engine nur Debian (Ubuntu/RHEL/Alpine scheitern) + cve_scan_cron leer (keine Automatik) 2026-06-01 22:28:53 +00:00
Author
Owner

Wird durch die CVE-Entfernung obsolet — CVE wird nicht mehr genutzt und komplett entfernt (siehe das Remove-Issue). Daher won't-fix.

Wird durch die CVE-Entfernung obsolet — CVE wird nicht mehr genutzt und komplett entfernt (siehe das Remove-Issue). Daher won't-fix.
Author
Owner

Wieder geoeffnet — CVE bleibt (Entfernung war ein Missverstaendnis). Scope wie gehabt: Engine ueber Debian hinaus (Ubuntu/RHEL/Alpine) + cve_scan_cron.

Wieder geoeffnet — CVE bleibt (Entfernung war ein Missverstaendnis). Scope wie gehabt: Engine ueber Debian hinaus (Ubuntu/RHEL/Alpine) + cve_scan_cron.
chinux reopened this issue 2026-06-02 11:00:07 +00:00
Author
Owner

Second Claude succeed

Verifiziert: security_router.py:596 OS→Ecosystem-Mapper liefert (family, ecosystem, pkg_cmd) für debian/ubuntu/rhel/alpine (dpkg/rpm/apk), unsupported → skipped statt Fehler (Status skipped :557/:570).

**Second Claude succeed** ✅ Verifiziert: `security_router.py:596` OS→Ecosystem-Mapper liefert `(family, ecosystem, pkg_cmd)` für **debian/ubuntu/rhel/alpine** (dpkg/rpm/apk), `unsupported → skipped` statt Fehler (Status `skipped` :557/:570).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
chinux/theProx#36
No description provided.