48 lines
2.5 KiB
Markdown
48 lines
2.5 KiB
Markdown
# 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/<release>/`. 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.
|