A tool to generate datasets and models based on vulnerabilities descriptions from @vulnerability-lookup.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Alexandre Dulaunoy 1a08a9102f
Some checks failed
Build and deploy documentation / Build Sphinx documentation (push) Has been cancelled
Build and deploy documentation / Deploy to GitHub Pages (push) Has been cancelled
Add funding section for AIPITCH project
Added a new section on funding for the AIPITCH project, detailing its support and objectives.
2026-08-14 14:33:39 +02:00
.github/workflows chg: [docs] Updated docs configuration for GitHub pages. 2026-08-12 10:59:56 +02:00
docs chg: [doc] simplify and clarify the README and documentation 2026-08-13 11:59:59 +02:00
tools chg: [doc] ATT&CK dataset/model update procedures; tools/attack for cwes_predicted refresh 2026-08-12 14:31:32 +02:00
vulntrain new: [trainers] CTID bucket multi-task + tactic auxiliary head (E5) 2026-08-12 09:56:56 +02:00
.gitignore chg: [repo] Remove misplaced arXiv-tarball ignore rule 2026-07-24 11:11:42 +02:00
AUTHORS chg: [RELEASE] Updated CHANGELOG, README, and dependencies. Bumped release number. 2025-07-01 10:40:26 +02:00
CHANGELOG.md chg: Release 3.2.0 2026-08-06 19:47:25 +02:00
CITATION.cff chg: updated changelog 2025-07-23 09:14:35 +02:00
CLAUDE.md chg: [trainers] Move CWE mapping tools and data out of the trainers package 2026-07-13 07:43:44 +02:00
COPYING chg: [documentation] Updated README and COPYING. 2025-02-24 10:54:47 +01:00
poetry.lock chg: [dependencies] Updated Python dependencies. 2026-08-13 08:42:48 +02:00
pyproject.toml chg: [project] Updated project.urls section with a link to the new documentation page. 2026-08-12 11:17:25 +02:00
README.md Add funding section for AIPITCH project 2026-08-14 14:33:39 +02:00

VulnTrain

Latest release License PyPi version

VulnTrain turns the vulnerability data collected by Vulnerability-Lookup into AI datasets and trained models. It processes over one million advisory records (CVE, GitHub advisories, CSAF, PySecDB, CNVD, FSTEC) to answer questions such as:

  • How severe is this vulnerability, given only its description?
  • Which CWE does this patch fix?
  • Which MITRE ATT&CK techniques does this CVE enable?

All resulting datasets and models are published on Hugging Face:

Model on HF

Installation

pipx install VulnTrain

For development:

git clone https://github.com/vulnerability-lookup/VulnTrain.git
cd VulnTrain/
poetry install

Documentation

Full documentation — configuration, dataset generation, training recipes and methodology — is available at https://vulnerability-lookup.github.io/VulnTrain

For more information about the use of AI in Vulnerability-Lookup, please refer to the user manual.

Usage

Every task follows the same three stages, each with its own command.

1. Build a dataset from the vulnerability sources and push it to the Hub:

vulntrain-dataset-generation --sources cvelistv5,github,csaf_redhat,pysec \
  --repo-id CIRCL/vulnerability-scores

2. Train a model on that dataset (trainers push to the Hub by default; use --no-push for a local run):

vulntrain-train-severity-classification --base-model roberta-base \
  --dataset-id CIRCL/vulnerability-scores \
  --repo-id CIRCL/vulnerability-severity-classification-roberta-base

3. Validate the trained model:

vulntrain-validate-severity-classification

Available tasks

Task Train with Published model
Severity classification vulntrain-train-severity-classification …severity-classification-roberta-base
Severity classification (Chinese, CNVD) vulntrain-train-severity-cnvd-classification …severity-classification-chinese-macbert-base
CWE classification from patches vulntrain-train-cwe-classification …cwe-classification-modernbert-base
CVE → ATT&CK techniques vulntrain-train-attack-classification …attack-technique-classification-roberta-base
CVE → ATT&CK techniques (bi-encoder) vulntrain-train-attack-biencoder …attack-technique-biencoder
Description generation vulntrain-train-description-generation …description-generation-gpt2*

Every command accepts --help. The exact command lines used to regenerate each published artifact are in the runbook.

How to cite

For the severity classification work:

Bonhomme, C., & Dulaunoy, A. (2025). VLAI: A RoBERTa-Based Model for Automated Vulnerability Severity Classification (Version 1.4.0) [Computer software]. https://doi.org/10.48550/arXiv.2507.03607

@misc{bonhomme2025vlai,
    title={VLAI: A RoBERTa-Based Model for Automated Vulnerability Severity Classification},
    author={Cédric Bonhomme and Alexandre Dulaunoy},
    year={2025},
    eprint={2507.03607},
    archivePrefix={arXiv},
    primaryClass={cs.CR}
}

For the ATT&CK technique mapping work:

Bonhomme, C., & Dulaunoy, A. (2026). Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion. https://doi.org/10.48550/arXiv.2607.25572

@misc{bonhomme2026mappingcvesmitreattck,
    title={Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion},
    author={Cédric Bonhomme and Alexandre Dulaunoy},
    year={2026},
    eprint={2607.25572},
    archivePrefix={arXiv},
    primaryClass={cs.CR},
    url={https://arxiv.org/abs/2607.25572},
}

License

VulnTrain is licensed under GNU General Public License version 3

Copyright (c) 2025-2026 Computer Incident Response Center Luxembourg (CIRCL)
Copyright (C) 2025-2026 Cédric Bonhomme - https://github.com/cedricbonhomme
Copyright (C) 2025 Léa Ulusan - https://github.com/3LS3-1F

Funding

AIPITCH (AI-Powered Innovative Toolkit for Cybersecurity Hubs) is a co-funded EU project supported by the European Cybersecurity Competence Centre (ECCC) under the DIGITAL-ECCC-2024-DEPLOY-CYBER-06-ENABLINGTECH program and CIRCL.

The project brings together an international consortium to develop AI-based tools that enhance the capabilities of operational cybersecurity teams. These tools are designed to support critical services, with a focus on national security teams, while also being applicable to internal security teams in companies and institutions.