Projet open source
Galeax/CVE2CAPEC avatar
Galeax/CVE2CAPEC

CVE2CAPEC relie les vulnérabilités aux motifs d attaque

Ce projet transforme « Galeax/CVE2CAPEC maps CVE identifiers into CAPEC attack patterns and generates practical threat reports for security response workflows. » en une solution open source exploitable, avec une chaîne d’outils réutilisable et des moyens d’intégration pour des cas d’usage concrets.

317 étoiles52 forksPythonGPL-3.0

En bref

De quoi s’agit-il ?
Un utilitaire Python qui construit une chaîne de CVE à CWE à CAPEC aux frameworks MITRE, avec une base de données mise à jour quotidiennement.
À qui s’adresse-t-il ?
CVE2CAPEC est un outil de pipeline ciblé qui transforme une liste de CVE en identifiants de framework MITRE liés, avec une base de données actualisée automatiquement chaque jour. Son périmètre est limité, et le README laisse plusieurs détails opérationnels à vérifier par l'utilisateur.
Puis-je l’utiliser commercialement ?
Oui, sous conditions. GPL-3.0 est une licence copyleft : si vous distribuez un logiciel qui l’inclut, vous devez publier le code source de ce logiciel sous la même licence. Un usage interne, sans distribution, ne déclenche pas cette obligation.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 2 jours.
En quel langage est-il écrit ?
Principalement Python, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Ce que fait l'outil

CVE2CAPEC est un projet Python qui prend les CVE nouvellement publiées et les enrichit avec les identifiants CWE, CAPEC et techniques MITRE associés provenant d'ATT&CK, D3FEND et ATLAS. Le README le décrit comme un moyen d'obtenir automatiquement toutes les nouvelles CVE avec leurs correspondances. Les métadonnées du dépôt indiquent qu'il a été présenté au BlackHat Europe 2025 Arsenal, bien que le README lui-même ne mentionne pas cet événement. Le projet stocke toutes les données CVE dans un dossier database et produit un fichier nommé results/new_cves.jsonl.

La chaîne de CVE vers techniques

Le mapping fonctionne via une séquence de scripts. retrieve_cve.py récupère les nouvelles CVE. Ensuite, cve2cwe.py relie chaque CVE à ses entrées Common Weakness Enumeration. cwe2capec.py mappe ces CWE aux modèles Common Attack Pattern Enumeration and Classification. capec2technique.py convertit les CAPEC en techniques MITRE ATT&CK. Deux autres scripts, technique2defend.py et technique2atlas.py, étendent la chaîne respectivement aux techniques MITRE D3FEND et MITRE ATLAS. Chaque étape utilise la sortie de la précédente, construisant une chaîne qui se termine par des identifiants des trois frameworks MITRE.

Exécuter le pipeline soi-même

Pour exécuter l'outil localement, le README donne trois commandes d'installation : git clone, cd dans le répertoire, et pip install -r requirements.txt. Ensuite, vous pouvez mettre à jour les bases de données source en exécutant cinq scripts : update_capec_db.py, update_cwe_db.py, update_technique_db.py, update_defend_db.py et update_atlas_db.py. La chaîne de six étapes ci-dessus est ensuite exécutée dans l'ordre. Le README ne spécifie pas de version Python, mais les métadonnées listent Python 3.11.9 comme version de langage.

Mises à jour quotidiennes automatiques

CVE2CAPEC est conçu pour que vous n'ayez pas besoin de l'exécuter vous-même. Selon le README, GitHub Actions met à jour la base de données chaque jour à 00:05 UTC. Les résultats mis à jour, y compris les nouvelles CVE et leurs données liées, sont écrits dans results/new_cves.jsonl. Cela permet aux consommateurs d'obtenir des correspondances fraîches sans manipuler les scripts manuellement. Le README ne décrit pas comment planifier ou configurer ces GitHub Actions, ni ce qui déclenche le workflow.

Sources de données et licence

Le README liste quatre sources pour les données sous-jacentes : MITRE ATT&CK sous Apache 2.0, MITRE D3FEND sous licence MIT, les données MITRE ATLAS du dépôt mitre-atlas/atlas-data sous Apache 2.0, et CAPEC et CWE, pour lesquels aucune licence n'est indiquée. Le projet lui-même est publié sous la GNU General Public License version 3. Le README propose également une alternative commerciale, invitant les utilisateurs à contacter contact@galeax.com pour des options s'ils doivent éviter la GPL.

Ce que le README ne dit pas · galeax cve2capec

Plusieurs détails opérationnels sont absents de la documentation du dépôt. Il n'est pas fait mention des caractéristiques de performance, des plateformes prises en charge ou des exigences de version Python au-delà du champ langue des métadonnées. Aucune suite de tests ni exemple de sortie n'est fourni. Le README ne décrit pas comment les données sont structurées dans le dossier database ni le format du fichier de résultats. Il ne précise pas non plus à quelle fréquence la chaîne de mapping est réexécutée au-delà de la mise à jour quotidienne, ni si les scripts gèrent des mises à jour incrémentales ou des reconstructions complètes. Ces points devraient être vérifiés en examinant le code ou en exécutant les scripts.

Questions à garder ouvertes pour galeax-cve2capec

Le matériau de galeax-cve2capec ne détaille pas toutes les conditions d'exploitation. Il faut donc distinguer la fonction explicitement annoncée, l'exemple fourni et les hypothèses laissées sans réponse. Cette distinction est particulièrement utile quand le résultat est ensuite consommé par un autre programme ou conservé comme preuve.

La lecture peut rester très concrète : relever la version, l'identifiant, le chemin ou la commande mentionnés par le dépôt, puis comparer le résultat à la forme attendue. Si une étape n'est pas décrite, elle doit être signalée comme inconnue. Cette méthode ne prétend pas compléter galeax-cve2capec; elle décrit exactement ce que son README permet de vérifier avant de lui confier une tâche réelle.

Conclusion éditoriale

CVE2CAPEC est un outil de pipeline ciblé qui transforme une liste de CVE en identifiants de framework MITRE liés, avec une base de données actualisée automatiquement chaque jour. Son périmètre est limité, et le README laisse plusieurs détails opérationnels à vérifier par l'utilisateur.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
Notes de la communauté

Notes de la communauté