# vuln-cve Mirror der offiziellen [CVE List V5](https://github.com/CVEProject/cvelistV5), gefiltert auf CVE-ID-Jahre ab 2017. Alle Records werden unverändert unter `data/YYYY//CVE-....json` versioniert. Der Upstream-Git-Commit und der letzte Sync stehen in `state/sync.json`. ## Einrichtung 1. GitHub-Repository `vuln-cve` erstellen, Branch `main`. 2. Linux Self-hosted Runner mit Labels `self-hosted`, `linux`, `x64`, `vulnerability` registrieren. `git`, `rsync` und `python3` installieren. 3. In GitHub Actions Schreibzugriff für `GITHUB_TOKEN` zulassen. Branch-Regeln müssen Bot-Pushes erlauben. 4. Workflow `Sync CVE List V5` manuell starten; danach läuft er stündlich. Lokal: `python3 scripts/sync.py --since-year 2017 && python3 scripts/validate.py`. **Kapazität:** der erste Sync enthält sehr viele kleine Dateien und benötigt viel Speicher, I/O und Git-Objekte. GitHub-Datei-/Repository-Grenzen beachten; bei wachsender Datenmenge in Jahres-Repositories aufteilen. Das Skript führt absichtlich einen vollständigen Upstream-Abgleich statt einer potentiell unvollständigen `delta.json`-Auswertung durch. **Sicherheit:** Repository ausschließlich mit vertrauenswürdigen Runnern aktualisieren. `rsync --delete` löscht nur Inhalte unter `data/`, wenn der Upstream mindestens 1.000 gültige CVE-Records enthielt und *alle* Quelldateien validiert wurden. Der Sync bewahrt nur CVE-Jahrgänge ab 2017 auf. Historische Änderungen vor dem ersten Import sind nicht enthalten; Git dokumentiert Änderungen ab dem ersten eigenen Commit.