L'outil binaire CVE est un outil gratuit et open source pour vous aider à trouver les vulnérabilités connues dans les logiciels, en utilisant les données de la liste National Vulnerability Database (NVD) des vulnérabilités et expositions courantes (CVE) ainsi que les données de vulnérabilité connues de Redhat, Open Source. Base de données de vulnérabilités (OSV), base de données consultative Gitlab (GAD) et Curl.
CVE Binary Tool utilise l'API NVD mais n'est ni approuvé ni certifié par le NVD.
L'outil dispose de deux modes de fonctionnement principaux :
Un scanner binaire qui vous aide à déterminer quels packages peuvent avoir été inclus dans le cadre d'un logiciel. Il y a 367 pions. Notre objectif initial était les composants open source courants et vulnérables tels que openssl, libpng, libxml2 et expat.
Outils permettant d'analyser les listes de composants connus dans divers formats, notamment .csv, plusieurs listes de packages de distribution Linux, des scanners de packages spécifiques à une langue et plusieurs formats de nomenclature logicielle (SBOM).
Il est destiné à être utilisé dans le cadre de votre système d'intégration continue pour permettre une analyse régulière des vulnérabilités et vous avertir rapidement des problèmes connus dans votre chaîne d'approvisionnement. Il peut également être utilisé pour détecter automatiquement les composants et créer des SBOM.
Ce que fait l'outil binaire CVE lorsqu'il s'exécute :
Téléchargez les données CVE (depuis NVD, Redhat, OSV, Gitlab et Curl).
Cela se produit une fois par jour par défaut, et non à chaque exécution d'une analyse.
Lors de la première exécution, le téléchargement de toutes les données peut prendre un certain temps.
Créer/lire une liste de composants. Il existe deux modes de fonctionnement :
Crée une liste de composants (y compris les versions) en utilisant une combinaison de vérificateurs binaires et de listes de composants de langage (telles que le fichier requirejs.txt de Python).
Lire SBOM (utiliser une liste de composants existante dans un format de nomenclature logicielle standardisé.)
Créer une liste CVE
Cela recherche tous les composants trouvés ou lus dans une nomenclature existante et signale tout problème connu qui leur est associé.
Inclure le tri/données supplémentaires
Il existe plusieurs options pour ajouter un tri/des notes, des informations provenant de rapports précédents pour suivre l'évolution des vulnérabilités au fil du temps ou des données de correctifs connus.
Générer un rapport dans un ou plusieurs formats (console, json, csv, html, pdf)
Pour plus de détails, consultez notre documentation ou ce guide de démarrage rapide
Démarrage rapide de l'outil binaire CVE / README
Liste de vérificateurs binaires
Vérificateurs spécifiques à la langue
Formats d'archives pris en charge
Recherche de vulnérabilités connues à l'aide du scanner binaire
Analyse d'un fichier SBOM pour les vulnérabilités connues
Générer un SBOM
Générer un VEX
Trier les vulnérabilités
Utiliser l'outil hors ligne
Utilisation de l'outil binaire CVE dans les actions GitHub
Installation de l'outil binaire CVE
Options d'utilisation les plus populaires
Options de sortie
Configuration
Détection automatique des composants
Exigences supplémentaires
Limites
Commentaires et contributions
Problèmes de sécurité
Liste complète des options
L'outil binaire CVE peut être installé à l'aide de pip :
pip installer cve-bin-tool
Si vous souhaitez essayer le dernier code du github cve-bin-tool ou effectuer du développement, vous pouvez également pip install --user -e .
pour installer une copie locale à partir d'un répertoire. La documentation du contributeur explique plus en détail comment mettre en place le développement local.
Pip installera les exigences de Python pour vous, mais pour certains types d'extraction, nous utilisons des bibliothèques système. Si vous rencontrez des difficultés pour extraire des fichiers, vous souhaiterez peut-être consulter nos listes supplémentaires de conditions requises pour Linux et Windows.
Lors de la première utilisation (et par défaut, une fois par jour), l'outil téléchargera les données de vulnérabilité à partir d'un ensemble de sources de données de vulnérabilité connues. En raison de problèmes de fiabilité avec NVD, à partir de la version 3.3, nous utiliserons par défaut notre propre miroir NVD sur https://cveb.in/ plutôt que de contacter directement NVD. Si vous souhaitez obtenir des données directement des serveurs NVD, vous devez fournir votre propre NVD_API_KEY pour utiliser leur API.
Si vous utilisez une version antérieure à 3.3 qui n'utilise pas notre miroir, veuillez utiliser un NVD_API_KEY comme décrit ci-dessus.
Pour exécuter le scanner binaire sur un répertoire ou un fichier :
cve-bin-tool <répertoire/fichier>
Remarque : Cette option utilisera également des vérificateurs spécifiques au langage pour rechercher les vulnérabilités connues dans les composants.
Par défaut, l'outil suppose que vous essayez d'analyser un répertoire entier, mais si vous lui fournissez un seul fichier .csv ou .json répertoriant les dépendances, il le traitera comme une nomenclature. Vous pouvez également spécifier les fichiers de nomenclature directement à l'aide de l'option --input-file
ou numériser les SBOM avec les instructions ci-dessous.
Pour numériser un fichier de nomenclature logicielle (SBOM) :
cve-bin-tool --sbom <sbom_filetype> --sbom-file <sbom_filename>
Les types SBOM valides sont SPDX, CycloneDX et SWID. L'analyse des noms de produits dans un fichier SBOM n'est pas sensible à la casse.
Le guide pratique d'analyse SBOM fournit des exemples supplémentaires d'analyse SBOM.
En plus d'analyser les SBOM, CVE Binary Tool peut être utilisé pour générer un SBOM à partir d'une analyse comme suit :
cve-bin-tool --sbom-type <sbom_type> --sbom-format <sbom-format> --sbom-output <sbom_filename> <autres options d'analyse selon les besoins>
Les types SBOM valides sont SPDX et CycloneDX.
Le SBOM généré comprendra le nom du produit, la version et le fournisseur (le cas échéant). Les informations sur la licence ne sont pas fournies.
Le guide pratique de génération SBOM fournit des exemples supplémentaires de génération SBOM.
En plus de scanner VEX, CVE Binary Tool peut être utilisé pour générer un VEX à partir d'une analyse comme suit :
cve-bin-tool --vex-type <vex_type> --vex-output <vex_filename> <autres options d'analyse selon les besoins>
Les types VEX valides sont CSAF, CycloneDX et OpenVEX.
Le guide pratique de la génération VEX fournit des exemples supplémentaires de génération VEX.
L'option --vex-file
peut être utilisée pour ajouter des données de tri supplémentaires telles que des remarques, des commentaires, etc. lors de l'analyse d'un répertoire afin que la sortie reflète ces données de tri et que vous puissiez gagner du temps lors du nouveau tri (Utilisation : cve-bin-tool --vex-file test.json /path/to/scan
). Le format pris en charge est le format CycloneDX, CSAF et OpenVEX VEX qui peut être généré à l'aide de l'option --vex-output
.
Utilisation typique :
Générez un fichier de tri à l'aide de cve-bin-tool /path/to/scan --vex-output triage.json
Modifiez triage.json avec votre éditeur de texte préféré pour fournir des informations de tri sur les vulnérabilités répertoriées.
Utilisez ce fichier de tri pour les analyses futures comme suit : cve-bin-tool /path/to/scan --vex-file triage.json
Pour un meilleur guide d'utilisation, reportez-vous à ce lien.
Il devrait être possible de partager des données de tri entre différentes exécutions de cve-bin-tool ou avec d'autres outils prenant en charge les formats CycloneDX VEX, OpenVEX et CSAF. Cela serait particulièrement utile pour les équipes qui analysent des produits ou des conteneurs associés, les équipes qui doivent utiliser plusieurs outils pour des raisons de conformité, les entreprises qui disposent d'un groupe central de politiques de sécurité qui fournit des conseils sur le tri des vulnérabilités, et bien plus encore.
La spécification de l'option --offline
lors de l'exécution d'une analyse garantit que cve-bin-tool ne tente pas de télécharger les derniers fichiers de base de données ou de rechercher une version plus récente de l'outil.
Notez que vous devrez obtenir une copie des données de vulnérabilité avant que l'outil puisse s'exécuter en mode hors ligne. Le guide pratique hors ligne contient plus d'informations sur la configuration de votre base de données.
Si vous souhaitez intégrer cve-bin-tool dans le cadre de votre pipeline d'action github, vous pouvez utiliser l'action GitHub officielle de cve-bin-tool. Trouvez plus de détails ici. L'action GitHub fournit des rapports sur l'onglet sécurité, qui sont disponibles pour les projets open source ainsi que pour les clients GitHub qui ont payé pour cet accès.
Nous fournissons également un exemple d'action GitHub si vous souhaitez utiliser l'outil directement. Cela peut être un bon choix pour les équipes qui souhaitent stocker les rapports dans un casier de preuves ou pour celles qui n'ont pas accès à l'onglet Sécurité de GitHub.
L'outil binaire CVE fournit par défaut une sortie basée sur la console. Si vous souhaitez fournir un autre format, vous pouvez le spécifier ainsi qu'un nom de fichier sur la ligne de commande en utilisant --format
. Les formats valides sont CSV, JSON, JSON2, console, HTML et PDF. Le nom du fichier de sortie peut être spécifié à l'aide de l'indicateur --output-file
.
Vous pouvez également spécifier plusieurs formats de sortie en utilisant la virgule (',') comme séparateur :
fichier cve-bin-tool -f csv,json,json2,html -o rapport
Remarque : Vous ne devez pas utiliser d'espaces entre les virgules (',') et les formats de sortie.
Les vulnérabilités signalées peuvent également être signalées au format Vulnerability Exploitability eXchange (VEX) en spécifiant --vex-output
avec le type défini à l'aide de l'option de ligne de commande --vex-type
. Le fichier VEX généré peut ensuite être utilisé comme --vex-file
pour prendre en charge un processus de tri.
Si vous souhaitez utiliser le support PDF, vous devrez installer la bibliothèque reportlab
séparément.
Si vous avez l'intention d'utiliser la prise en charge PDF lors de l'installation de cve-bin-tool, vous pouvez le spécifier et Report Lab sera installé dans le cadre de l'installation de cve-bin-tool :
pip install cve-bin-tool[PDF]
Si vous avez déjà installé cve-bin-tool, vous pouvez ajouter reportlab après coup en utilisant pip :
pip install --upgrade reportlab
Notez que reportlab a été retiré de l'installation par défaut de cve-bin-tool car il est associé à un CVE connu (CVE-2020-28463). Le code cve-bin-tool utilise les atténuations recommandées pour limiter les ressources ajoutées aux PDF, ainsi qu'une validation d'entrée supplémentaire. Il s'agit d'un CVE un peu étrange car il décrit les fonctionnalités de base des PDF : des éléments externes, tels que des images, peuvent y être intégrés, et ainsi toute personne visualisant un PDF peut charger une image externe (de la même manière que la visualisation d'une page Web peut déclencher charges externes). Il n'y a pas de « solution » inhérente à cela, seulement des mesures d'atténuation selon lesquelles les utilisateurs de la bibliothèque doivent s'assurer que seuls les éléments attendus sont ajoutés aux PDF au moment de la génération.
Étant donné que les utilisateurs ne souhaitent peut-être pas avoir un logiciel installé avec un CVE ouvert et irréparable associé, nous avons choisi de rendre la prise en charge PDF uniquement disponible aux utilisateurs qui ont eux-mêmes installé la bibliothèque. Une fois la bibliothèque installée, l'option de rapport PDF fonctionnera.
Vous pouvez utiliser l'option --config
pour fournir le fichier de configuration de l'outil. Vous pouvez toujours remplacer les options spécifiées dans le fichier de configuration par des arguments de ligne de commande. Voir nos exemples de fichiers de configuration dans le test/config
L'outil binaire CVE tente d'effectuer une détection automatique des composants à l'aide de vérificateurs binaires, de listes de composants de langage pris en charge et de méthodes d'extraction de fichiers. Les outils pris en charge pour la détection automatique sont répertoriés ci-dessous.
Les vérificateurs suivants sont disponibles pour rechercher des composants dans les fichiers binaires :
Dames disponibles | ||||||
---|---|---|---|---|---|---|
service de comptabilité | acide | apache_http_server | apcupsd | apparmor | asn1c | assimp |
astérisque | atftp | avahi | Axel | frapper | lier | binutils |
oiseau | bison | bleu | boinc | botanique | frère | papier bulle |
boîte occupée | bwm_ng | bzip2 | c_ares | capnproto | céph | échecs |
Chrony | civetteweb | clamav | collecté | commons_compress | connman | coreutils |
cpio | copain | configuration de cryptage | tasses | boucle | CV | sombrehttpd |
dav1d | davfs2 | bus | debianutils | client dh | dhcpcd | dhcpd |
dlt_daemon | dmidecode | dnsmasq | docker | domotique | tabourets dosf | point net |
pigeonnier | doxygène | dpkg | baisser l'ours | e2fsprogs | éd | elfutils |
emacs | inscrire | exfatprogs | examen | exiv2 | f2fs_tools | faad2 |
rapide | ffmpeg | déposer | Firefox | flac | synthèse fluide | rayon libre |
gratuit | fribidi | frr | rester bouche bée | gcc | gdal | gdb |
gdk_pixbuf | script fantôme | boiteux | git | désinvolte | glibc | gmp |
coquille de gnome | gnupg | les rongeurs | aller | gpgme | gpsd | graphiquemagique |
grep | grub2 | gstreamer | gupnp | gvfs | gzip | haproxy |
harfbuzz | Haserl | hdf5 | Heimdal | hôte | hunspell | hwloc |
i2pd | glace | icu | iperf3 | ipmitool | ipsec_tools | iptables |
irsi | iucode_tool | je suis | jack2 | jacksondatabind | janvier | jaspe |
jhead | jq | json_c | kbd | rester en vie | Kerberos | kexectools |
kodi | Kubernetes | ldns | lftp | libarchive | Libasse | libbpg |
libcoap | libconfuse | libcurl | libdb | libde265 | libbml | libévent |
libexpat | libgcrypt | libgd | libgit2 | libheif | libelle | libidn2 |
libinput | libjpeg | libjpeg_turbo | libksba | liblas | libmatroska | libmemcached |
libmicrohttpd | libmodbus | libns | libopenmpt | libpcap | bibliothèque | bibliothèquesvg |
bibliothèquesync | libsamplerate | libseccomp | fichierlibsnd | libsolv | libsoup | libsrtp |
libsh | libssh2 | libtasn1 | libtif | libtomcrypt | libupnp | libuv |
libvips | libvirt | serveur libvnc | libvorbis | libvpx | libxslt | Libyeml |
lumièretpd | Linux_kernel | Linuxptp | lldpd | logrotation | lrzip | Lua |
Luajit | lxc | lynx | lz4 | mailx | mariadb | mbedtls |
madame | memcaché | micropython | test de mine | mini_httpd | minicom | minidlna |
mini-upnpc | miniupnpd | moby | modsécurité | surveiller | moustique | mouvement |
mp4v2 | mpg123 | monospace | msmtp | mtr | mupdf | cabot |
mysql | nano | nasm | nbd | ncursions | néon | Nessus |
netatalk | données nettes | netkit_ftp | netpbm | ortie | nghttp2 | nginx |
ngircd | nmap | nœud | ntfs_3g | NTP | ntpsec | open_iscsi |
open_vm_tools | openafs | ouvrir cv | ouvrir jpeg | ouvrirldap | ouvrec | ouvresh |
ouvressl | ouvrewan | ouvertvpn | p7zip | pango | correctif | PCRE |
pcre2 | pcsc_lite | perl | php | picocom | cochon | Pixman |
png | polarssl_fedora | poppler | postgresql | ppp | privé | procps_ng |
proftpd | protobuf_c | pspp | pure_ftpd | mastic | python | qemu |
qpdf | qt | quagga | radare2 | radvd | rapace | rauque |
bureau | lire la ligne | tr/min | rsync | rsyslog | rtl_433 | rtmpdump |
runc | rouiller | samba | sane_backends | sdl | hippocampe | shadowsocks_libev |
snapd | sngrep | renifler | socat | sofia_sip | discours | pimenter |
SQLite | courges | calmar | chut | stellaire | cygne fort | étourdissement |
subversion | sudo | suricate | sylphe | journalisation système | statistique système | système |
goudron | tcpdump | tcpréplay | terminologie | tesseract | épargne | thttpd |
oiseau-tonnerre | échelle de temps | petit proxy | tor | tpm2_tss | traceroute | transmission |
pantalon | ttyd | serveur_deuxnky | u_boot | udisks | non lié | unixodbc |
upx | util_linux | vernis | vim | VLC | vorbis_tools | vsftpd |
webkitgtk | wget | requin filaire | loupssl | wpa_supplicant | Xerces | xml2 |
xéconomiseur d'écran | xwayland | yasme | Zabbix | zchunk | zeek | zlib |
zinc | zsh | zstandard |
Tous les vérificateurs se trouvent dans le répertoire des vérificateurs, tout comme les instructions sur la façon d'ajouter un nouveau vérificateur. La prise en charge de nouveaux vérificateurs peut être demandée via les problèmes GitHub.
Un certain nombre de vérificateurs sont disponibles pour rechercher des composants vulnérables dans des packages linguistiques spécifiques.
Langue | Fichiers pris en charge |
---|---|
Dard | pubspec.lock |
Aller | Go.mod |
Java | pom.xml ; Archives JAR, WAR et EAR |
Javascript | package-lock.json , yarn.lock |
Rouiller | Cargo.lock |
Rubis | Gemfile.lock |
R. | renv.lock |
Rapide | Package.resolved |
Python | requirements.txt , PKG-INFO , METADATA ; Fichiers .whl et .egg |
Perl | cpanfile |
Plus d’informations sur les vérificateurs spécifiques à une langue peuvent être trouvées dans le manuel de l’outil binaire CVE.
Les formats d'archives suivants sont actuellement pris en charge par l'extracteur automatique :
Format d'archive | Extension du fichier |
---|---|
fermeture éclair | .zip, .exe, .jar, .msi, .egg, .whl, .war, .ear |
goudron | .tar, .tgz, .tar.gz, .tar.xz, .tar.bz2 |
déb | .deb, .ipk |
tr/min | .rpm |
taxi | .taxi |
apk | .apk |
zst | .zst |
paquet | .pkg |
Pour utiliser l'extracteur automatique, vous aurez peut-être besoin des utilitaires suivants en fonction du type de formats d'archives pris en charge que vous devez extraire.
Les utilitaires ci-dessous sont requis pour exécuter la suite de tests complète sous Linux :
file
strings
tar
unzip
rpm2cpio
cpio
ar
cabextract
La plupart d'entre eux sont installés par défaut sur de nombreux systèmes Linux, mais cabextract
et rpm2cpio
en particulier devront peut-être être installés.
Sur les systèmes Windows, vous aurez peut-être besoin de :
ar
7z
Expand
pdftotext
Windows a Expand
installé par défaut, mais ar
et 7z
devront peut-être être installés. Si vous souhaitez exécuter notre suite de tests ou analyser un fichier compressé zstd, nous vous recommandons d'installer ce fork 7-zip-zstd de 7zip. Nous utilisons actuellement 7z
pour extraire les fichiers jar
, apk
, msi
, exe
et rpm
. Pour installer ar
vous pouvez installer MinGW (qui contient binutils) à partir d'ici et exécuter le fichier .exe téléchargé.
Si vous obtenez une erreur lors de la création de bibliothèques lorsque vous essayez d'installer à partir de pip, vous devrez peut-être installer les outils de génération Windows. Les outils de génération Windows sont disponibles gratuitement sur https://visualstudio.microsoft.com/visual-cpp-build-tools/
Si vous obtenez une erreur lors de l'installation de brotlipy sous Windows, l'installation du compilateur ci-dessus devrait la corriger.
pdftotext
est requis pour exécuter les tests. (Les utilisateurs de cve-bin-tool n'en auront peut-être pas besoin, les développeurs en auront probablement.) La meilleure approche pour l'installer sous Windows consiste à utiliser conda (cliquez ici pour plus d'instructions).
Vous pouvez vérifier notre configuration CI pour voir quelles versions de Python nous testons explicitement.
Ce scanner ne tente pas d'exploiter les problèmes ou d'examiner le code plus en détail ; il recherche uniquement les signatures de bibliothèque et les numéros de version. En tant que tel, il ne peut pas savoir si quelqu'un a rétroporté des correctifs vers une version vulnérable, et cela ne fonctionnera pas si les informations sur la bibliothèque ou la version ont été intentionnellement obscurcies.
Cet outil est destiné à être utilisé comme une vérification rapide à exécuter et facilement automatisable dans un environnement non malveillant afin que les développeurs puissent être informés des anciennes bibliothèques présentant des problèmes de sécurité qui ont été compilées dans leurs binaires.
L'outil ne garantit pas que les vulnérabilités signalées soient réellement présentes ou exploitables, et il n'est pas non plus capable de trouver toutes les vulnérabilités présentes avec une garantie.
Les utilisateurs peuvent ajouter des informations de tri aux rapports pour marquer les problèmes comme faux positifs, indiquer que le risque a été atténué par des modifications de configuration/d'utilisation, etc.
Les détails du tri peuvent être réutilisés sur d'autres projets. Ainsi, par exemple, le tri sur une image de base Linux peut être appliqué à plusieurs conteneurs utilisant cette image.
Pour plus d’informations et l’utilisation des informations de tri avec l’outil, veuillez consulter ici.
Si vous utilisez les capacités du scanner binaire, sachez que nous ne disposons que d'un nombre limité de vérificateurs binaires (voir tableau ci-dessus), nous ne pouvons donc détecter que ces bibliothèques. Les contributions de nouveaux contrôleurs sont toujours les bienvenues ! Vous pouvez également utiliser une autre méthode pour détecter les composants (par exemple, un outil de nomenclature tel que tern), puis utiliser la liste résultante comme entrée dans cve-bin-tool pour obtenir une liste de vulnérabilités plus complète.
L'outil utilise une base de données de vulnérabilités afin de détecter les vulnérabilités actuelles. Si la base de données n'est pas fréquemment mise à jour (surtout si l'outil est utilisé en mode hors ligne), l'outil ne pourra pas détecter les vulnérabilités nouvellement découvertes. Il est donc fortement conseillé de maintenir la base de données à jour.
L'outil ne garantit pas que toutes les vulnérabilités soient signalées car il n'a accès qu'à un nombre limité de bases de données de vulnérabilités accessibles au public. Les contributions visant à introduire de nouvelles sources de données dans l'outil sont toujours les bienvenues.
Bien que certains contrôles de validation soient effectués sur les données de la base de données de vulnérabilités, l'outil n'est pas en mesure d'affirmer la qualité des données ou de corriger les écarts si les données sont incomplètes ou incohérentes. Cela peut donner lieu, par exemple, à certains rapports de vulnérabilité dont la gravité est signalée comme INCONNUe.
Les bogues et les demandes de fonctionnalités peuvent être effectués via les problèmes GitHub. Sachez que ces problèmes ne sont pas privés, alors faites attention lorsque vous fournissez une sortie pour vous assurer que vous ne divulguez pas de problèmes de sécurité dans d'autres produits.
Les demandes de tirage sont également les bienvenues via git.
Les nouveaux contributeurs doivent lire le guide du contributeur pour commencer.
Les personnes qui ont déjà contribué à des projets open source n'auront peut-être pas besoin du guide complet, mais devraient tout de même utiliser la liste de contrôle des demandes d'extraction pour faciliter les choses pour tout le monde.
Les contributeurs de l'outil binaire CVE sont priés d'adhérer au code de conduite de la communauté Python. Veuillez contacter Terri si vous avez des préoccupations ou des questions concernant ce code de conduite.
Les problèmes de sécurité liés à l'outil lui-même peuvent être signalés à l'équipe de réponse aux incidents de sécurité d'Intel via https://intel.com/security.
Si, au cours de l'utilisation de cet outil, vous découvrez un problème de sécurité avec le code de quelqu'un d'autre, veuillez le divulguer de manière responsable à la partie appropriée.
Utilisation : cve-bin-tool <directory/file to scan>
choix : -h, --help afficher ce message d'aide et quitter -e EXCLURE, --exclude EXCLUDE Séparés par des virgules Exclure le chemin du répertoire -V, --version affiche le numéro de version du programme et quitte --disable-version-check ignore la recherche d'une nouvelle version --disable-validation-check ignore la vérification des fichiers XML par rapport au schéma --offline fonctionner en mode hors ligne --ajout détaillé d'une description CVE dans un rapport csv ou json (aucun effet sur la console, html ou pdf) Téléchargement de données CVE : Arguments liés aux sources de données et à la configuration du cache -n {api,api2,json,json-miroir,json-nvd}, --nvd {api,api2,json,json-miroir,json-nvd} choisir la méthode pour obtenir les listes CVE de NVD -u {maintenant, quotidiennement, jamais, dernière}, --update {maintenant, quotidiennement, jamais, dernière} calendrier de mise à jour des sources de données et de la base de données d'exploits (par défaut : quotidiennement) --nvd-api-key NVD_API_KEY Spécifiez la clé API NVD (utilisée pour améliorer la limite de débit NVD). Définissez sur « non » pour ignorer toutes les clés de l'environnement. -d DISABLE_DATA_SOURCE, --disable-data-source DISABLE_DATA_SOURCE liste de sources de données séparées par des virgules (CURL, EPSS, GAD, NVD, OSV, PURL2CPE, REDHAT, RSD) à désactiver (par défaut : AUCUNE) --use-mirror USE_MIRROR utiliser un miroir pour mettre à jour la base de données Saisir: répertoire répertoire à analyser -i INPUT_FILE, --input-file INPUT_FILE fournir le nom du fichier d'entrée -C CONFIGURATION, --config CONFIGURATION fournir le fichier de configuration -L PACKAGE_LIST, --package-list PACKAGE_LIST fournir la liste des packages --sbom {spdx,cyclonedx,swid} spécifier le type de nomenclature logicielle (sbom) (par défaut : spdx) --sbom-file SBOM_FILE fournir le nom du fichier sbom --vex-file VEX_FILE fournir un nom de fichier d'échange d'exploitabilité de vulnérabilité (vex) pour le traitement de triage Sortir: -q, --quiet supprime la sortie -l {debug,info,avertissement,erreur,critique}, --log {debug,info,avertissement,erreur,critique} niveau de journalisation (par défaut : info) -o OUTPUT_FILE, --output-file OUTPUT_FILE fournir le nom du fichier de sortie (par défaut : sortie vers stdout) --html-theme HTML_THEME fournir un répertoire de thèmes personnalisé pour le rapport HTML -f {csv,json,json2,console,html,pdf}, --format {csv,json,json2,console,html,pdf} mettre à jour le format de sortie (par défaut : console) spécifier plusieurs formats de sortie en utilisant la virgule (',') comme séparateur remarque : n'utilisez pas d'espaces entre la virgule (',') et les formats de sortie. --generate-config {yaml,toml,yaml,toml,toml,yaml} générer un fichier de configuration pour l'outil cve bin aux formats toml et yaml. -c CVSS, --cvss Score CVSS minimum CVSS (sous forme d'entier compris entre 0 et 10) à signaler (par défaut : 0) -S {faible, moyen, élevé, critique}, --severity {faible, moyen, élevé, critique} Gravité CVE minimale à signaler (par défaut : faible) --métrique vérifier les métriques (par exemple, EPSS) à partir des cves trouvées --epss-percentile EPSS_PERCENTILE Le centile epss minimum de CVE est compris entre 0 et 100 à signaler. Active automatiquement `--metrics` --epss-probabilité EPSS_PROBABILITY La probabilité epss minimale de CVE est comprise entre 0 et 100 à signaler. Active automatiquement `--metrics` --no-0-cve-report produit un rapport uniquement lorsque des CVE sont trouvés -A [-], --available-fix [-] Répertorie les correctifs disponibles du package à partir de la distribution Linux -b [-], --backport-fix [-] Répertorie les correctifs rétroportés s'ils sont disponibles sur la distribution Linux --affected-versions Répertorie les versions du produit affectées par un CVE donné (pour faciliter les mises à niveau) --sbom-output SBOM_OUTPUT fournir le nom de fichier de la nomenclature logicielle (sbom) à générer --sbom-type {spdx,cyclonedx} spécifier le type de nomenclature logicielle (sbom) à générer (par défaut : spdx) --sbom-format {tag,json,yaml} spécifier le format de la nomenclature logicielle (sbom) à générer (par défaut : tag) Sortie Vex : Arguments liés au document de sortie Vex. --vex-ouptput VEX_OUTPUT Fournir le nom du fichier d'échange d'exploitabilité des vulnérabilités (vex) à générer --vex-type {cyclonedx, csaf, openvex} spécifier le type d'échange d'exploitabilité de vulnérabilité (vex) à générer (par défaut : cyclonedx) --product PRODUIT Nom du produit --release RELEASE Version finale --vendor VENDOR Vendeur/Fournisseur de produit -rr REVISION_REASON, --revision-reason REVISION_REASON une raison pour la mise à jour du document vex doit être spécifiée entre guillemets doubles --filter-triage Filtrer les cves en fonction des données de tri du fichier Vex Fusionner le rapport : Arguments liés aux rapports intermédiaires et fusionnés -a [AJOUTER], --append [AJOUTER] enregistrer la sortie en tant que rapport intermédiaire au format json -t TAG, --tag TAG ajoute une balise unique pour différencier plusieurs rapports intermédiaires -m MERGE, --merge MERGE chemin des rapports intermédiaires séparés par des virgules pour la fusion -F FILTRE, --filter FILTRE chaîne de balises séparées par des virgules pour filtrer les rapports intermédiaires Dames : -s SAUTES, --skips SAUTES liste de vérificateurs séparés par des virgules à désactiver -r RUNS, --runs RUNS une liste de vérificateurs séparés par des virgules à activer Gestion de base de données : --import-json IMPORT_JSON importer une base de données à partir de fichiers JSON découpés par années --ignore-sig ne vérifie pas la signature PGP lors de l'importation de données json --log-signature-erreur lorsque la signature ne correspond pas, enregistrez l'erreur uniquement au lieu de l'arrêter (UNSAFE) --vérifier PGP_PUBKEY_PATH vérifier le signe PGP lors de l'importation de fichiers json --export-json EXPORT_JSON exporter la base de données sous forme de fichiers JSON découpés par années --pgp-sign PGP_PRIVATE_KEY_PATH signer les fichiers json exportés avec PGP --phrase secrète PHRASE PASSÉE phrase secrète requise pour signer avec PGP --export EXPORT nom de fichier de la base de données d'exportation --import IMPORT importer le nom du fichier de la base de données Exploits: --exploits vérifie les exploits des cves trouvées Obsolète : --triage-input-file TRIAGE_INPUT_FILE remplacé par --vex-file -x, --extract extraire automatiquement les fichiers compressés --report Produit un rapport même s'il n'y a pas de CVE pour le format de sortie respectif
Pour plus d'informations sur toutes ces options, veuillez consulter le manuel d'utilisation de CVE Binary Tool.