Alle Artikel

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.

Bereit für den nächsten Schritt?

Es gab nie einen besseren Zeitpunkt, um anzufangen. Erzählen Sie uns von Ihrem Projekt.

Kontakt aufnehmen