# vuln-alpine – Gitea mirror Vollständiger Mirror der offiziellen Alpine Security Database im unveränderten JSON-Format. ## Offizielle Quelle https://secdb.alpinelinux.org/ – das ältere `alpinelinux/alpine-secdb` GitHub-Repository ist **deprecated**. Der Downloader entdeckt Verzeichnisse `v3.5` und neuer sowie `edge` automatisch und speichert – wenn im offiziellen Verzeichnis vorhanden – `main.json` und `community.json` unter `data/secdb//`. Der Start ab `v3.5` bewahrt historische Daten rund um 2017. ## Installation in Gitea 1. Leeres Repository `VULN/vuln-alpine` auf https://git.apex-project.de erstellen (Branch `main`). 2. Diese Dateien in dein neues Repository committen und pushen. 3. Auf der Gitea-VM: ```bash sudo apt-get install -y git python3 util-linux ca-certificates coreutils sudo install -d -o act_runner -g act_runner -m 700 /var/lib/act_runner/cache/vuln-alpine ``` 4. Sicherstellen, dass der Runner das Label `vuln-runner` besitzt und `GITEA_TOKEN` Schreibzugriff auf `VULN/vuln-alpine` hat. 5. Action **Alpine Security Database Mirror** starten. Danach automatischer Zeitplan alle sechs Stunden zur Minute 07 (Gitea-Zeitzone/CRON-Konfiguration beachten). ## Verhalten - Kein `actions/checkout`, sondern persistenter Checkout in `/var/lib/act_runner/cache/vuln-alpine/repo`. - HTTP ETag und Last-Modified im lokalen `http-cache.json` (nicht in Git). - Bei jeder Synchronisierung wird der offizielle Verzeichnisindex abgerufen. Neue Versionen werden automatisch entdeckt. - JSON wird geparst und strukturell validiert; Originalbytes werden unverändert gespeichert und per SHA256 im `state/manifest.json` dokumentiert. - Bei HTTP-/Validierungsfehlern wird kein Git-Commit durchgeführt. Der nächste Lauf setzt erneut an. - Historische Daten werden bewusst **nicht** gelöscht, wenn eine alte Version aus dem Index verschwindet. Datenkorrekturen aus vorhandenen Quellen werden synchronisiert. - Bei unverändertem Inhalt entsteht kein Commit. - Git-Zugangsdaten werden nur als kurzlebige Environment-Konfiguration an Git-Unterprozesse übergeben. ## Tests ```bash python3 -m unittest discover -s tests -v bash -n scripts/run-cached.sh ``` ## Hinweis Runner läuft im `host`-Modus unter `act_runner`. Damit können Workflows beliebige Programme mit den Rechten dieses Benutzers auf dem Gitea-Host ausführen. Nur vertrauenswürdige Workflows zulassen. Lizenz/Weiterverteilung: Die Bedingungen der Datenquelle vor einer öffentlichen Veröffentlichung prüfen.