Ein Tool zum Abrufen, Transformieren und Speichern von Schwachstellendaten aus verschiedenen Quellen.
Unterstützte Datenquellen:
Alpine (https://secdb.alpinelinux.org)
Amazon (https://alas.aws.amazon.com/AL2/alas.rss & https://alas.aws.amazon.com/AL2022/alas.rss)
Debian (https://security-tracker.debian.org/tracker/data/json & https://salsa.debian.org/security-tracker-team/security-tracker/raw/master/data/DSA/list)
GitHub-Sicherheitshinweise (https://api.github.com/graphql)
NVD (https://services.nvd.nist.gov/rest/json/cves/2.0)
Oracle (https://linux.oracle.com/security/oval)
RedHat (https://www.redhat.com/security/data/oval)
SLES (https://ftp.suse.com/pub/projects/security/oval)
Ubuntu (https://launchpad.net/ubuntu-cve-tracker)
Wolfi (https://packages.wolfi.dev)
Mit Pip:
pip install vunnel
Mit Docker:
Docker-Run --rm -it -v $(pwd)/data:/data -v $(pwd)/.vunnel.yaml:/.vunnel.yaml ghcr.io/anchore/vunnel:latest Führen Sie NVD aus
Wo:
Das data
hält die verarbeiteten Daten auf dem Host
Die .vunnel.yaml
verwendet die Hostanwendungskonfiguration (falls vorhanden).
Sie können latest
gegen eine bestimmte Version austauschen (wie bei den Git-Tags).
Eine vollständige Liste der verfügbaren Tags finden Sie im Vunnel-Paket.
Listen Sie die verfügbaren Anbieter von Schwachstellendaten auf:
$ vunnel list alpine amazon chainguard debian github mariner nvd oracle rhel sles ubuntu wolfi
Laden Sie einen Anbieter herunter und verarbeiten Sie ihn:
$ vunnel run wolfi 2023-01-04 13:42:58 root [INFO] running wolfi provider 2023-01-04 13:42:58 wolfi [INFO] downloading Wolfi secdb https://packages.wolfi.dev/os/security.json 2023-01-04 13:42:59 wolfi [INFO] wrote 56 entries 2023-01-04 13:42:59 wolfi [INFO] recording workspace state
Sie sehen die verarbeiteten Schwachstellendaten im lokalen Verzeichnis ./data
$ tree data data └── wolfi ├── checksums ├── metadata.json ├── input │ └── secdb │ └── os │ └── security.json └── results └── wolfi:rolling ├── CVE-2016-2781.json ├── CVE-2017-8806.json ├── CVE-2018-1000156.json └── ...
Hinweis: Um eine ausführlichere Ausgabe zu erhalten, verwenden Sie -v
, -vv
oder -vvv
(z. B. vunnel -vv run wolfi
).
Vorhandene Eingabe- und Ergebnisdaten für einen oder mehrere Anbieter löschen:
$ vunnel clear wolfi 2023-01-04 13:48:31 root [INFO] clearing wolfi provider state
Beispielkonfigurationsdatei zum Ändern des Anwendungsverhaltens:
# .vunnel.yamlroot: ./processed-datalog: Level: Traceproviders: Wolfi: Request_Timeout: 125 Laufzeit: bestehende_Eingabe: bestehende_Ergebnisse beibehalten: löschen-before-schreiben bei_Fehler: Aktion: Fehlereingabe: Ergebnisse beibehalten: Wiederholungszahl beibehalten: 3 Wiederholungsverzögerung: 10
Verwenden Sie vunnel config
um eine bessere Vorstellung von allen möglichen Konfigurationsoptionen zu erhalten.
Ja, das kannst du! Weitere Informationen finden Sie in den Anbieterdokumenten.
Dieses Tool „leitet“ Schwachstellendaten an einer einzigen Stelle zusammen, um sie einfacher verarbeiten zu können. Sagen Sie „Schwachstellendaten-Trichter“ 100-mal schnell genug, und am Ende wird es zu „Vunnel“ werden :).