2026-11-10 22:31:12 +01:00
2026-11-10 22:31:12 +01:00
2026-11-10 22:31:12 +01:00
2026-11-10 22:31:12 +01:00
2026-11-10 22:31:12 +01:00
2026-11-10 22:31:12 +01:00
2026-11-10 22:31:12 +01:00
2026-11-10 22:31:12 +01:00

vuln-suse-vex

Eigener Gitea-Mirror der SUSE CSAF 2.0 VEX-Dokumente (je CVE) ab 2017. Die bereits angelegte Gitea-Adresse ist https://git.apex-project.de/VULN/vuln-suse-vex.

Quelle

  • Offizielle SUSE-Quelle: https://ftp.suse.com/pub/projects/security/csaf-vex.tar.bz2
  • Ausgabe: data/vex/YYYY/CVE-YYYY-NNNN.json
  • Der Downloader verwendet If-None-Match und If-Modified-Since soweit die Quelle diese Header unterstützt.
  • Hinweis: Bei einem geänderten Tar-Archiv wird das vollständige Archiv erneut geladen. Das ist kein echtes File-Delta. Das Repository selbst verwendet einen persistenten Git-Checkout.
  • Kein Fallback auf möglicherweise veraltete Mirrors. Bei Fehlern bleibt der letzte Datenbestand unverändert.

Erstinstallation

  1. Leeres Gitea-Repository VULN/vuln-suse-vex anlegen.
  2. Dateien committen und nach main pushen.
  3. Auf der Gitea-VM:
sudo apt update
sudo apt install -y git python3 ca-certificates util-linux bzip2
sudo install -d -o act_runner -g act_runner -m 700 /var/lib/act_runner/cache/vuln-suse-vex
  1. Actions aktivieren. Runner-Label vuln-runner verwenden. secrets.GITEA_TOKEN muss Schreibrechte besitzen.
  2. Workflow SUSE VEX Mirror manuell starten; danach alle 6 Stunden zur Minute 49 UTC.

Fehlerbehandlung

  • Ein unterbrochener Import lässt möglicherweise ?? data/ zurück. Das Skript bewahrt diese Dateien und synchronisiert sie bei gleichbleibendem Remote-Commit erneut.
  • Wenn sich main geändert hat und der Cache uncommittete Dateien enthält, wird aus Sicherheitsgründen abgebrochen. Keinesfalls git clean -fd oder git reset --hard auf diese Daten anwenden, ohne sie vorher zu prüfen.
  • Eine geänderte Quelldatei wird zunächst vollständig heruntergeladen und erst nach erfolgreicher Archiv- und JSON-Validierung verarbeitet.
  • Nach einem unterbrochenen Commit/Push lokale Git-Historie prüfen.
  • Lokaler Test: python3 -m unittest discover -s tests -v.

Grenzen

  • Keine Integration von separaten SUSE-Advisories; diese liegen in vuln-suse.
  • Der Feed kann größer als mehrere hundert MB sein; ausreichend Platz für Archiv, JSON-Dateien und Git-Historie vorsehen.
  • state/sync.json wird für einen erfolgreichen Snapshot aktualisiert. Die zusätzliche HTTP-Metadatei bleibt nur auf der VM.
  • Vor produktiver Freigabe einen kompletten Live-Import testen.
S
Description
No description provided
Readme
34 KiB
Languages
Python 84.2%
Shell 15.8%