
Renseignement sur les vulnérabilités et les exploits — recherche ExploitDB, NVD, Metasploit avec mappage CVE→ATT&CK et intégration LogNorm/HuntForge | Fait partie de Nebula Forge
Outil de renseignement sur les vulnérabilités et les exploits | Nebula Forge Detection Suite v2
VulnForge agrège le renseignement sur les exploits depuis ExploitDB, NVD et Metasploit, mappe les résultats aux techniques MITRE ATT&CK, et alimente directement le pipeline purple team de Nebula Forge — générant des playbooks de chasse, des exports compatibles LogNorm et des déclencheurs de simulation AtomicLoop à partir d'une seule recherche.
VulnForge comble l'écart entre la découverte de vulnérabilités et l'ingénierie de détection. Recherchez un CVE ou un mot-clé, récupérez les données d'exploit mappées aux techniques ATT&CK, puis transmettez ce contexte en aval — directement dans HuntForge pour la génération de playbooks ou AtomicLoop pour la simulation.
Position dans le pipeline :
VulnForge → HuntForge (hunt playbook) → AtomicLoop (simulation) → Wazuh (detection)
mitreattack-python

VulnForge fait partie de Nebula Forge — une plateforme SOC open-source couvrant l'ensemble du workflow d'ingénierie de détection.
| Outil | Port | Rôle |
|---|---|---|
| LogNorm | 5006 | Normalisation de logs (ECS-lite) |
| HuntForge | 5007 | Génération de playbooks de chasse ATT&CK |
| DriftWatch | 5008 | Analyse de dérive des règles Sigma |
| ClusterIQ | 5009 | Regroupement et triage des alertes |
| AtomicLoop | 5011 | Exécuteur de tests Atomic Red Team |
| VulnForge | 5012 | Renseignement sur les vulnérabilités et exploits |
git clone https://github.com/Rootless-Ghost/VulnForge.git
cd VulnForge
pip install -r requirements.txt
python app.py
Accessible sur http://localhost:5012
Cet outil s'exécute en tant que service conteneurisé dans la suite Nebula Forge. La méthode recommandée pour tout démarrer ensemble :
# From the Nebula-Forge repo root
cp .env.example .env # POSTGRES_PASSWORD and ATOMICLOOP_API_KEY required; NVD_API_KEY (higher rate limits) is optional
docker compose up -d # starts all services including vulnforge
Accès : http://localhost:5012
Conteneur autonome :
docker build -t vulnforge .
docker run -p 5012:5012 \
-e NVD_API_KEY=your-key-here \
vulnforge
apache 2.4), un identifiant CVE (par ex. CVE-2021-44228), ou les deuxRecherche :
curl -X POST http://localhost:5012/api/search \
-H "Content-Type: application/json" \
-d '{"keyword": "log4j", "cve": "CVE-2021-44228"}'
Export vers LogNorm :
curl -X POST http://localhost:5012/export/lognorm \
-H "Content-Type: application/json" \
-d '{"results": [...]}'
Envoi vers HuntForge :
curl -X POST http://localhost:5012/export/huntforge \
-H "Content-Type: application/json" \
-d '{"technique_id": "T1190", "cve": "CVE-2021-44228"}'
Vérification de l'état :
curl http://localhost:5012/health
VulnForge mappe les CVE aux techniques ATT&CK à l'aide d'une recherche chaînée :
CVE → NVD CWE tags → CAPEC → ATT&CK Technique
Les résultats incluent l'identifiant de la technique, le nom de la technique, la tactique et le niveau de confiance (high/medium/low). Lorsqu'aucun mapping n'est trouvé, UNKNOWN est renvoyé plutôt que d'omettre silencieusement le champ.
{
"event.kind": "vulnerability",
"cve.id": "CVE-2021-44228",
"vulnerability.score.base": 10.0,
"vulnerability.severity": "CRITICAL",
"threat.technique.id": "T1190",
"threat.technique.name": "Exploit Public-Facing Application",
"threat.tactic.name": "Initial Access",
"source.tool": "VulnForge",
"@timestamp": "2026-04-15T00:00:00Z"
}
flask, requests, beautifulsoup4, mitreattack-pythonVulnForge est destiné aux tests de sécurité autorisés, à l'ingénierie de détection et aux opérations purple team. Ne l'utilisez pas contre des systèmes que vous ne possédez pas ou pour lesquels vous ne disposez pas d'une autorisation écrite explicite de tester.
Ce projet est sous licence MIT — consultez le fichier LICENSE pour plus de détails.
Développé par Rootless-Ghost