Vulnx : un outil pour explorer et filtrer les CVE depuis votre Terminal
Vulnx, anciennement cvemap, est un outil en ligne de commande permettant d'explorer la base de vulnérabilités (CVE) et ainsi d'obtenir des précisions à leur sujet. Facile à utiliser, il peut être utilisé comme outil de veille pour identifier les nouvelles vulnérabilités à traiter en priorité et celles qui méritent une attention particulière. Vulnx s'utilise via des requêtes manuelles ou directement au sein de scripts puisqu'il est capable de formater la sortie de ses résultats au format JSON.
Vulnx est développé par ProjectDiscovery, à l'origine d'autres outils comme le scanner de vulnérabilités Nuclei. Initialement appelé cvemap, l'outil s'appelle désormais Vulnx et permet d'explorer la base de CVE directement via un terminal. Cet outil présente l'avantage de combiner les données de multiples sources publiques, notamment :
- La base de données de CVE NVD (du NIST),
- La base de données de CVE de la CISA et le catalogue des vulnérabilités connues et exploitées (KEV),
- Les données de scoring EPSS et le mapping avec le CPE,
- Les données disponibles sur le Web, en particulier sur GitHub (ce qui permet notamment d'avoir des informations sur les PoC),
- La disponibilité d'un template Nuclei pour chaque vulnérabilité
Vous pouvez utiliser Vulnx pour lister les vulnérabilités les plus récentes (tout confondu), rechercher les vulnérabilités sur un produit spécifique ou encore obtenir des détails (rapport) sur une CVE. L'outil est très flexible, comme nous le verrons par la suite, et agit comme un moteur de recherche pour les vulnérabilités (CVE) avec plus de 300 000 entrées à l'heure actuelle.
Note : Vulnx est aussi un outil intéressant pour rechercher des vulnérabilités sur un produit lorsque vous effectuez un pentest. Et, ensuite, vous pouvez basculer sur Nuclei pour évaluer la vulnérabilité sur votre cible. Il y a une synergie intéressante entre les deux outils.
Sommaire
KEV, CVSS, POC, EPSS.... Les termes à connaître
Pour utiliser Vulnx efficacement, il me semble important de bien comprendre la signification de certains termes. Voici un rapide rappel sur les termes que vous croiserez en utilisant Vulnx et sur leur signification.
CVSS (Common Vulnerability Scoring System)
Le score CVSS, c'est un standard historique qui représente en quelque sorte la gravité théorique. Ce score note la sévérité d'une faille de 0 à 10. C'est un indicateur important, mais ce n'est pas le seul à prendre en considération, car il ne permet pas une analyse réaliste.
- Ce qu'il dit : "À quel point la faille est dangereuse si elle est exploitée ?"
- Le piège : une faille peut avoir un score de 9.8/10, ce qui correspond à une faille de sécurité critique, sans pour autant être très dangereuse. Par exemple, si elle nécessite une authentification et que le serveur n'est pas exposé sur Internet, etc.
Le score CVSS, c'est comme la puissance de la bombe, pas la probabilité qu'elle explose.
EPSS (Exploit Prediction Scoring System)
Beaucoup de vulnérabilités sont publiées, mais quelles vulnérabilités méritent réellement d'être traitées en urgence ? C'est dans le but d'aider à répondre à cette question que le score EPSS a été créé il y a quelques années. C'est un score plus moderne (de 0 à 1, ou 0% à 100%) qui cherche en quelque sorte à prédire l'avenir en analysant les caractéristiques d'une vulnérabilité.
- Ce qu'il dit : "Quelle est la probabilité que cette faille soit exploitée par des pirates dans les 30 prochains jours ?"
- L'intérêt : il permet de filtrer le bruit. Une faille CVSS avec un score de 9/10 et un EPSS de 0.05% est moins urgente qu'une faille avec un score CVSS 7/10 avec un EPSS de 85%.
Pour les équipes de sécurité, il aide à identifier les failles de sécurité qui ont le plus de chances d'être exploitées (ou qui sont déjà exploitées) afin de les traiter en priorité.
PoC (Proof of Concept)
Le PoC, c'est tout simplement la preuve que c'est possible d'exploiter une vulnérabilité. C'est un bout de code ou un script (souvent publié sur GitHub ou un blog technique) qui démontre concrètement comment utiliser la faille.
- Pourquoi c'est important : dès qu'un PoC est publié et accessible à tous, n'importe quel "script kiddie" peut copier-coller le code pour tenter d'exploiter la vulnérabilité en question.
KEV (Known Exploited Vulnerabilities)
Le KEV est une source d'informations précieuse gérée par l'agence américaine CISA, spécialisée dans la cybersécurité. Ce catalogue de vulnérabilités contient celles à traiter en priorité (alerte rouge). Pourquoi ? Si une CVE est dans le KEV, c'est que des pirates l'exploitent activement en ce moment même dans la nature pour attaquer des entreprises. Il est donc fortement recommandé de patcher.
VulnCheck
VulnCheck est une entreprise privée spécialisée dans le renseignement sur les vulnérabilités. Dans le cas de l'utilisation de Vulnx, son rôle est d'être une source d'information supplémentaire, notamment pour détecter l'apparition d'exploits (PoC).
HackerOne
La plateforme HackerOne est aussi consultée pour tenir compte des rapports sur les CVE signalées, notamment dans le cadre des programmes de bug bounty.
Installation de Vulnx
Pour utiliser Vulnx sur votre machine, vous devez disposer de Go (sauf si vous partez sur l'image Docker mais il faut spécifier la requête à chaque exécution ; c'est éphémère). Ensuite, vous pourrez installer l'outil et ses dépendances en exécutant simplement cette commande :
go install github.com/projectdiscovery/cvemap/cmd/vulnx@latest
Si vous avez besoin d'aide pour installer et configurer Go sur votre machine, référez-vous à ce tutoriel :
Ensuite, vous n'aurez qu'à appeler la commande vulnx pour vérifier que l'outil est bien disponible sur votre machine. Par défaut, un résumé complet s'affiche, avec différentes métriques.
vulnx

Pour obtenir de l'aide et des exemples, vous pouvez exécuter cette commande :
vulnx --help
Sachez que Vulnx s'appuie sur l'API de ProjectDiscovery et que le nombre de requêtes est limité à 10 requêtes par minute. Si vous ne souhaitez pas être bloqué, vous devez créer une clé d'API gratuitement sur cette page et l'enregistrer sur votre instance Vulnx :
vulnx auth --api-key XXXXXXX
Parcourir la base de données des CVE
Premiers pas avec Vulnx
La commande vulnx search est très puissante pour rechercher dans la base de CVE. Tout d'abord, si vous souhaitez rechercher les vulnérabilités liées à un produit spécifique, spécifiez simplement son nom. L'exemple ci-dessous cible MongoDB, récemment affecté par la CVE surnommée MongoBleed.
Note : n'utilisez pas un thème clair avec votre terminal, sinon vous ne verrez pas les intitulés de CVE et les intitulés, car le texte est blanc.
Voici la commande à exécuter et son résultat.
vulnx search mongodb
Dans le résultat de la commande, il y a une vulnérabilité qui attire tout de suite l'attention : la CVE-2025-14847, c'est justement la faille MongoBleed. Nous pouvons constater trois informations importantes : des exploits PoC sont disponibles (41, d'après la sortie), le score EPSS est de 0.5825 sur 1 (moyen) et la vulnérabilité est référencée dans le KEV de la CISA. Ces trois informations montrent que cette vulnérabilité mérite une attention particulière.

Pour obtenir des informations supplémentaires sur cette vulnérabilité, appelez son identifiant à la suite de la commande vulnx id (vous pouvez aussi indiquer plusieurs valeurs séparées par une virgule) :
vulnx id cve-2025-14847
Nous obtenons des informations détaillées sur cette vulnérabilité : un résumé, les risques, comment se protéger, des liens vers les PoC, des liens vers des références externes et un lien vers l'éventuel template Nuclei s'il existe. Plutôt intéressant pour avoir une carte d'identité rapide d'une CVE.

Vous pouvez aussi rechercher des informations sur plusieurs produits, par exemple pour cibler MongoDB et React :
vulnx search "mongodb || react"
Exemples d'utilisation de Vulnx
Ci-dessous, un ensemble de filtres de recherche que vous pouvez utiliser avec Vulnx et qui vous montreront le potentiel de cet outil. 79 filtres différents sont disponibles ! Sachez que vous pouvez cumuler les filtres avec && (et) et || (ou).
La syntaxe à adopter est la suivante :
vulnx [commande] "requête de recherche" [flags]
- Rechercher les vulnérabilités avec un score CVSS supérieur à 8.0 et qui ont été enregistrées en 2025 (ou ultérieurement). Les résultats sont limités à 50 CVE, si vous souhaitez afficher tous les résultats, indiquez 0.
vulnx search "cvss_score:>8.0 && cve_created_at:>=2025" --limit 50
- Rechercher les vulnérabilités avec un score CVSS supérieur à 8.0, qui ont été enregistrées en 2025 (ou ultérieurement) et dont le score EPSS est supérieur ou égal à 0.30.
vulnx search "cvss_score:>8.0 && cve_created_at:>=2025 && epss_score:>=0.30" --limit 50
- Rechercher les vulnérabilités avec un score CVSS supérieur à 8.0, qui ont été enregistrées en 2026 (ou ultérieurement) et dont un exploit PoC est disponible.
vulnx search "cvss_score:>8.0 && cve_created_at:>=2026 && is_poc:true" --limit 50
- Rechercher les failles MongoDB référencées dans le KEV de la CISA ou de VulnCheck (
is_ckevpour inclure uniquement la CISA).
vulnx search mongodb "is_kev:true"
- Rechercher les vulnérabilités récentes (publiées aujourd'hui ou hier).
vulnx search "age_in_days:<=1" --limit 0
- Rechercher les vulnérabilités associées aux produits Microsoft (première ligne) ou celles associées à Windows 11 25H2 (seconde ligne).
vulnx search "affected_products.vendor:microsoft"
vulnx search "affected_products.product:windows_11_25h2"
- Rechercher les vulnérabilités découvertes dans les solutions open source.
vulnx search "is_oss:true"
- Rechercher les vulnérabilités Windows Server 2025 publiées les 31 derniers jours et exporter les résultats dans un fichier au format JSON. La seconde ligne montre comment avoir un retour console JSON, sans créer un fichier de sortie.
vulnx search "affected_products.product:windows_server_2025 && age_in_days:<=31" --output windows.json
vulnx search "affected_products.product:windows_server_2025 && age_in_days:<=31" --json
Vous pouvez obtenir des précisions sur les 79 filtres via cette commande :
vulnx filters
Retrouvez aussi d'autres exemples sur le dépôt GitHub :
Obtenir un rapport quotidien sur les vulnérabilités
Vulnx présente un potentiel intéressant pour suivre les vulnérabilités au quotidien. Que ce soit un suivi au sens large ou un suivi ciblé (sur quelques produits que vous utilisez), il est pertinent. Cela est d'autant plus vrai lorsqu'on automatise cette surveillance.
J'ai mis en place plusieurs workflows avec n8n où j'exécute des requêtes spécifiques avec Vulnx afin de détecter les nouvelles vulnérabilités les plus critiques. Autrement dit, pour détecter celles qui représentent une menace émergente. Je suis persuadé que cette analyse automatique va m'aider dans le cadre de ma veille.

Le workflow ci-dessus me permet de recevoir un rapport par e-mail avec des informations sur les vulnérabilités correspondantes à mes critères de recherche, qu'elles soient nouvelles ou actualisées. En l'occurrence, je recherche trois types de vulnérabilités :
- Les vulnérabilités ajoutées au catalogue KEV de la CISA
- Les vulnérabilités critiques pour lesquelles un exploit PoC est disponible
- Les vulnérabilités où le score EPSS est supérieur ou égal à 0.01 (1%)
Ce workflow est exécuté une fois par jour et il analyse les résultats de la veille, afin de n'avoir qu'un seul rapport à consulter par jour. C'est pour cette raison qu'il y a un nœud "Date - Yesterday" dans le workflow, afin de déterminer la date d'hier. Au niveau des nœuds Vulnx, voici les commandes utilisées (exécutées en SSH sur un serveur où l'outil est déployé).
- Vulnx - KEV :
/home/mon_user/go/bin/vulnx search "is_ckev:true && cve_updated_at:>={{ $json.yesterday }}" --json --silent - Vulnx - Critical + PoC :
/home/mon_user/go/bin/vulnx search "is_poc:true && cvss_score:>=9.0 && cve_updated_at:>={{ $json.yesterday }}" --json --silent - Vulnx - EPSS :
/home/mon_user/go/bin/vulnx search "epss_score:>=0.01 && cve_updated_at:>={{ $json.yesterday }}" --json --silent
Voici un aperçu du rapport (non complet) :

Ce sont mes critères actuels pour la génération de ce rapport. Je verrai pour éventuellement affiner par la suite, l'idée étant de limiter le "bruit" au maximum pour faire ressortir les vulnérabilités les plus dangereuses.
Conclusion
Vulnx est un outil pratique pour obtenir des informations sur une CVE puisqu'il regroupe les informations de différentes sources. Grâce aux indicateurs clés et aux liens intégrés, cela permet de se faire une idée rapide sur les nouvelles failles de sécurité découvertes.
Pour aller plus loin, vous pouvez automatiser la recherche d'informations et la surveillance des nouvelles CVE puisque Vulnx peut générer des résultats au format JSON. C'est d'ailleurs ce que nous avons vu avec ce workflow n8n.


Bonjour,
Merci pour cet article.
Je voulais savoir quel outil open source il y avait pour détecter des vulnérabilités sur des machines linux et/ou Windows.
Merci
Bonjour Cyril,
Personnellement, j’utilise Metasploit Framework qui est très complet. Peut-être trop!
https://www.metasploit.com/