Un outil pour récupérer, transformer et stocker des données de vulnérabilité à partir de diverses sources.
Sources de données prises en charge :
Alpin (https://secdb.alpinelinux.org)
Amazone (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)
Avis de sécurité GitHub (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)
Avec pépin :
pip installer le tunnel
Avec docker :
exécution du docker --rm -it -v $(mot de passe)/data:/data -v $(pwd)/.vunnel.yaml:/.vunnel.yaml ghcr.io/anchore/vunnel:latest exécuter NVD
Où:
le volume data
conserve les données traitées sur l'hôte
le .vunnel.yaml
utilise la configuration de l'application hôte (si présente)
vous pouvez échanger latest
contre une version spécifique (identique aux balises git)
Consultez le package VPNnel pour une liste complète des balises disponibles.
Répertoriez les fournisseurs de données de vulnérabilité disponibles :
$ vunnel list alpine amazon chainguard debian github mariner nvd oracle rhel sles ubuntu wolfi
Téléchargez et traitez un fournisseur :
$ 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
Vous verrez les données de vulnérabilité traitées dans le répertoire local ./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 └── ...
Remarque : pour obtenir une sortie plus détaillée, utilisez -v
, -vv
ou -vvv
(par exemple, vunnel -vv run wolfi
)
Supprimez les données d'entrée et de résultat existantes pour un ou plusieurs fournisseurs :
$ vunnel clear wolfi 2023-01-04 13:48:31 root [INFO] clearing wolfi provider state
Exemple de fichier de configuration pour modifier le comportement de l'application :
# .vunnel.yamlroot : ./processed-datalog : niveau : traceproviders : wolfi : request_timeout : 125 runtime : existant_input : conserver les résultats existants : supprimer-avant-écrire on_error : action : échec d'entrée : conserver les résultats : conserver retry_count : 3 retry_delay : 10
Utilisez vunnel config
pour avoir une meilleure idée de toutes les options de configuration possibles.
Oui, vous pouvez ! Consultez la documentation du fournisseur pour plus d’informations.
Cet outil "entonnoir" les données de vulnérabilité en un seul endroit pour un traitement facile... disons "entonnoir de données de vulnérabilité" 100 fois assez rapidement et éventuellement, cela finira par devenir "vunnel" :).