
Lädt CVSS-, EPSS- und CISA-Daten zu bekannten ausgenutzten Schwachstellen herunter und aggregiert sie in einheitlichen JSON/CSV-Dateien und einer SQLite-Datenbank. Reichert Schwachstellenscannerberichte (z.B. OpenVAS) für priorisierte Behebung an. Enthält optionale Logstash-Pipeline und PowerBI-Dashboard-Vorlage.
Common Vulnerability Scoring System (CVSS) ist ein kostenloser und offener Industriestandard zur Bewertung des Schweregrads von Sicherheitsschwachstellen in Computersystemen.
Das Exploit Prediction Scoring System (EPSS) schätzt die Wahrscheinlichkeit, dass eine Softwareschwachstelle in freier Wildbahn ausgenutzt wird.
CISA veröffentlicht eine Liste bekannter ausgenutzter Schwachstellen.
Dieses Projekt lädt die Informationen von den drei Quellen herunter und kombiniert sie in einer Liste.
Scanner zeigen Ihnen die CVE-Nummer und den CVSS-Score, exportieren jedoch oft nicht die vollständigen Details wie "exploitabilityScore" oder "userInteractionRequired". Durch Hinzufügen des EPSS-Scores erhalten Sie mehr Optionen, um zu entscheiden, was zuerst getan werden soll, und können nach Schwellenwerten filtern, die für Ihre Umgebung sinnvoll sind.
Sie können die Informationen nutzen, um die von Ihrem Schwachstellenscanner wie OpenVAS bereitgestellten Informationen anzureichern und so die Behebung zu priorisieren.
Sie können Tools wie PowerBI verwenden, um die Ergebnisse des Schwachstellenscanners mit den vom Skript in diesem Repository heruntergeladenen Informationen zu kombinieren.
Nach dem Herunterladen werden die erforderlichen Informationen extrahiert, formatiert und Ausgabedateien erstellt.
CVSS, EPSS und eine kombinierte Datei aller CVE-Informationen werden verfügbar sein. Ausgaben sind im JSON- und CSV-Format verfügbar.
Zusätzlich werden die Informationen in eine SQLite-Datenbank importiert.
Das Ziel war nicht Leistung oder Effizienz.
Stattdessen ist das Skript einfach geschrieben. Mehrere Schritte werden durchgeführt, um es verständlicher und nachvollziehbarer zu machen. Dateien von Zwischenschritten werden auf die Festplatte geschrieben, damit Sie die Befehle leichter an Ihre Bedürfnisse anpassen können.
Es verwendet nur bash, jq und sqlite3, um sehr anfängerfreundlich zu sein und die Verwendung von jq zu demonstrieren.
Dieses Repository enthält einen Demo-Ordner mit einer PowerBI-Vorlagendatei. Es erstellt ein Dashboard, das Sie an Ihre Bedürfnisse anpassen können.

Der OpenVAS-Bericht muss im CSV-Format vorliegen, damit der Import funktioniert.

PowerBI verwendet die erstellte CVE.json-Datei und erstellt eine Beziehung:

Sie können PowerBI kostenlos von https://aka.ms/pbiSingleInstaller herunterladen und benötigen kein Microsoft-Konto, um es zu nutzen.
Sie können entweder darauf warten, dass cron das Download-Skript planmäßig ausführt.
Alternativ können Sie das Download-Skript manuell ausführen, indem Sie folgenden Befehl eingeben:
docker exec -it vulnerability-tables-cron bash /opt/scripts/download.sh
Es gibt drei Docker-Container.
Der Cron-Container lädt die Informationen einmal pro Woche (Montag 06:00) herunter und speichert die Dateien im Ausgabeverzeichnis.
Er verwendet curl und wget, um Dateien herunterzuladen. jq wird verwendet, um mit JSON zu arbeiten.
Der Filebeat-Container liest die JSON-Dateien und leitet sie an den Logstash-Container weiter.
Der Logstash-Container kann verwendet werden, um an eine OpenSearch-Instanz zu senden, in Azure Log Analytics hochzuladen oder andere unterstützte Ausgaben zu verwenden.
Filebeat und Logstash sind optional und nur der Bequemlichkeit halber enthalten.
Es werden mehrere Ausgabedateien erstellt. Hier eine Schätzung:
316K CISA_known_exploited.csv
452K CISA_known_exploited.json
50M CVSS.csv
179M CVSS.json
206M CVE.json
56M CVE.csv
6.7M EPSS.csv
12M EPSS.json
49M database.sqlite
Sie können diese Informationen für jede CVE erwarten:
grep -i 'CVE-2021-44228' CVE.json | jq
{
"CVE": "CVE-2021-44228",
"CVSS2_accessComplexity": "AV:N/AC:M/Au:N/C:C/I:C/A:C",
"CVSS2_accessVector": "NETWORK",
"CVSS2_authentication": "MEDIUM",
"CVSS2_availabilityImpact": "NONE",
"CVSS2_baseScore": "COMPLETE",
"CVSS2_baseSeverity": "COMPLETE",
"CVSS2_confidentialityImpact": "COMPLETE",
"CVSS2_exploitabilityScore": "9.3",
"CVSS2_impactScore": "null",
"CVSS2_integrityImpact": "8.6",
"CVSS2_vectorString": "10",
"CVSS3_attackComplexity": "null",
"CVSS3_attackVector": "null",
"CVSS3_availabilityImpact": "null",
"CVSS3_baseScore": "null",
"CVSS3_baseSeverity": "null",
"CVSS3_confidentialityImpact": "null",
"CVSS3_exploitabilityScore": "null",
"CVSS3_impactScore": "null",
"CVSS3_integrityImpact": "null",
"CVSS3_privilegesRequired": "null",
"CVSS3_scope": "null",
"CVSS3_userInteraction": "null",
"CVSS3_vectorString": "null",
"CVSS3_acInsufInfo": "null",
"CVSS3_obtainAllPrivilege": "null",
"CVSS3_obtainUserPrivilege": "null",
"CVSS3_obtainOtherPrivilege": "null",
"CVSS3_userInteractionRequired": "null",
"EPSS": "0.97095",
"EPSS_Percentile": "0.99998",
"CISA_dateAdded": "2021-12-10",
"CISA_RequiredAction": "For all affected software assets for which updates exist, the only acceptable remediation actions are: 1) Apply updates; OR 2) remove affected assets from agency networks. Temporary mitigations using one of the measures provided at https://www.cisa.gov/uscert/ed-22-02-apache-log4j-recommended-mitigation-measures are only acceptable until updates are available."
}