22 lines
1.6 KiB
Markdown
22 lines
1.6 KiB
Markdown
# vuln-osv – Gitea OSV raw-data mirror
|
||
|
||
Speichert Original-JSON aus OSV-Ökosystem-Snapshots direkt in Git unter `data/<ECOSYSTEM>/<ID>.json`.
|
||
|
||
## Installation
|
||
1. Leeres Gitea-Repository `VULN/vuln-osv` erstellen, dieses Verzeichnis pushen.
|
||
2. Auf der Gitea-VM: `sudo install -d -o act_runner -g act_runner -m 700 /var/lib/act_runner/cache/vuln-osv`.
|
||
3. `vuln-runner:host` muss registriert sein. `python3`, `git` und `flock` müssen verfügbar sein.
|
||
4. Actions-Job-Token benötigt Schreibrechte. Workflow `.gitea/workflows/update.yml` starten.
|
||
|
||
## Updates
|
||
- Zeitplan: alle sechs Stunden (Minute 41).
|
||
- HTTP `If-None-Match` / `If-Modified-Since`: Bei unverändertem Export Antwort `304`, kein ZIP-Download.
|
||
- Wenn sich ein ZIP ändert, wird **das gesamte Ökosystem-ZIP erneut geladen**, nicht nur die Änderungen. Ein späterer Umbau auf `modified_id.csv` spart weitere Bandbreite.
|
||
- Nur geänderte JSON-Dateien werden geschrieben und committed.
|
||
- Standard-Ökosysteme: PyPI, npm, Go, Maven, NuGet, crates.io, Packagist, RubyGems, GitHub Actions, OSS-Fuzz.
|
||
- Für andere Ökosysteme `python3 scripts/sync.py --ecosystems 'PyPI,npm,Go'` ausführen, beziehungsweise Workflow-Aufruf anpassen.
|
||
- **Löschungen**: Standardmäßig werden keine Dateien entfernt. Erst nach belastbar bestätigtem Full-Snapshot mit `--allow-deletions` aktivieren. Ein fehlender Snapshot darf niemals als Leeren interpretiert werden.
|
||
- Sehr große Git-Repos: Speicherplatz, Inodes und Gitea-Push-Limits kontrollieren. Für npm/Go sind mehrere hunderttausend Dateien möglich.
|
||
|
||
Offizielle Quelle: https://google.github.io/osv.dev/data/
|