OWASP Dependency-Check: CVE-Aktualisierungen in Minuten mit einem statischen NVD-Spiegel
Veröffentlicht
OWASP Dependency-Check findet in einem Projekt Bibliotheken mit bekannten Schwachstellen (CVEs). Seine Daten stammen aus der National Vulnerability Database (NVD) der USA. Über die Schnittstelle der NVD ist der Abruf langsam: Die erste Aktualisierung dauert Stunden, braucht einen API-Schlüssel und läuft in Drosselungen – und eine CI-Pipeline ohne Cache fängt jedes Mal von vorn an.
Deshalb betreiben wir einen öffentlichen Spiegel: nvd.epicsoft.one.
Statische Dateien statt Schnittstelle
Jede Nacht holt ein CI-Job die Änderungen der NVD mit vulnz (open-vulnerability-cli) und veröffentlicht den vollständigen Datenfeed als statische, komprimierte JSON-Dateien. Clients laden sie über einfaches HTTP: ohne API-Schlüssel, ohne seitenweisen Abruf, ohne Drosselung. Weil jeder Lauf nur die Änderungen holt, dauert er wenige Minuten.
dependency-check --updateonly \
--nvdDatafeed https://nvd.epicsoft.one/nvdcve-{0}.json.gz
Fertige Datenbanken
Statt seine Datenbank selbst aufzubauen, kann Dependency-Check auch mit einer fertigen beginnen. Jede Nacht lädt der Spiegel den neuen Feed in frische Datenbanken – einschließlich des CISA-Katalogs bekannter ausgenutzter Schwachstellen – und veröffentlicht sie neben dem Feed:
- H2, die eingebaute Datenbank von Dependency-Check
- MariaDB und MySQL
- PostgreSQL
Zu jeder Datei gehört eine SHA-256-Prüfsumme; db/db.json nennt die Version von Dependency-Check, den Stand der Daten und die Zahl der Einträge. Die Dateien passen nur zu dieser Version von Dependency-Check.
Auf sicheres Scheitern ausgelegt
- Ein Lauf veröffentlicht nur, wenn jedes Jahr des Feeds vollständig und lesbar ist; sonst bricht er ab, und der vorige Stand bleibt online.
- Eine Datenbank, die fehlschlägt oder nicht zu den anderen passt, hält den Feed nie auf – der Spiegel behält dann die Datenbanken der vorigen Nacht.
- Die Feed-Dateien werden unverändert ausgeliefert, sodass Clients genau die komprimierten Daten erhalten, die sie erwarten.
Frei nutzbar
Der Spiegel ist frei nutzbar. Die NVD-Daten und der CISA-Katalog sind gemeinfrei; unsere Skripte und die CI-Konfiguration stehen als Open Source unter der MIT-Lizenz auf GitLab und GitHub. Probleme melden Sie gern als Issue – Sicherheitsprobleme bitte als vertrauliches Issue auf GitLab.
Abhängigkeitsprüfungen gehören in jede Pipeline – wir helfen Ihnen bei der Einrichtung.