extract 0 0 0

jason-oneal/mitre-stix-cve-exploitdb-dataset-alpaca-chatml-harmony

published by @jason-oneal

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
3.2K
Last 30 days
446
Likes
15
Size
2.1 GB
Created on HF
2026-02-03
Age
8 months ago

Description

MITRE+NVD+ExploitDB Dataset (Alpaca/ChatML/Harmony)

A dataset for training AI assistants/agents on vulnerability analysis and pentesting Q&A. It is built by the pentestds pipeline, which fetches and merges data from MITRE CVE, NVD (CVSS enrichment), ExploitDB, and a small set of HuggingFace datasets. Provenance is recorded for every entry, and the pipeline emits Alpaca, ChatML, and Harmony JSONL files.

Dataset Summary

This dataset is designed for training AI… See the full description on the dataset page: https://huggingface.co/datasets/jason-oneal/mitre-stix-cve-exploitdb-dataset-alpaca-chatml-harmony.

Tags

language:enlicense:apache-2.0size_categories:1M<n<10Mformat:jsonmodality:textlibrary:datasetslibrary:pandaslibrary:polarslibrary:mlcroissantregion:uscybersecuritypentestingvulnerabilityCVEexploitredteammitre-attack

README current version from Hugging Face


license: apache-2.0

datasets:

  • cve
  • exploitdb
  • mitre
  • nvd
  • securecode-v2
  • mitre-attack
  • ttp-mapping

language:

  • en

tags:

  • cybersecurity
  • pentesting
  • vulnerability
  • CVE
  • exploit
  • redteam
  • mitre-attack

pretty_name: MITRE+NVD+ExploitDB Dataset

configs:

  • config_name: alpaca
    data_files:

    • split: train
      path: alpaca/train.jsonl
    • split: validation
      path: alpaca/validation.jsonl
  • config_name: chatml
    data_files:

    • split: train
      path: chatml/train.jsonl
    • split: validation
      path: chatml/validation.jsonl
  • config_name: harmony
    data_files:

    • split: train
      path: harmony/train.jsonl
    • split: validation
      path: harmony/validation.jsonl

MITRE+NVD+ExploitDB Dataset (Alpaca/ChatML/Harmony)

A dataset for training AI assistants/agents on vulnerability analysis and pentesting Q&A. It is built by the pentestds pipeline, which fetches and merges data from MITRE CVE, NVD (CVSS enrichment), ExploitDB, and a small set of HuggingFace datasets. Provenance is recorded for every entry, and the pipeline emits Alpaca, ChatML, and Harmony JSONL files.

Dataset Description

Dataset Summary

This dataset is designed for training AI agents to understand and perform penetration testing tasks. It is built by an automated Python pipeline that:

  • Downloads CVE data from MITRE
  • Streams CVEs from NVD and extracts CVSS where available
  • Indexes ExploitDB and links exploits to CVEs
  • Loads and merges additional datasets from HuggingFace (e.g., MITRE ATT&CK reasoning, TTP mapping, SecureCode v2)
  • Validates records using Pydantic schemas for Alpaca and ChatML formats
  • Tracks provenance for every record
  • Outputs Alpaca, ChatML, and Harmony JSONL files
  • Uploads the dataset to HuggingFace when TOKEN is configured

Included data types:

  • CVE Data: Real vulnerability information from MITRE
  • CVSS: NVD CVSS metrics (when present)
  • Exploit Code: Proof-of-concept exploit references/snippets from ExploitDB
  • Secure Coding: Multi-turn secure coding dialogues and vulnerability remediations
  • Red Team Techniques: MITRE ATT&CK-aligned reasoning data
  • Security Mappings: TTP mapping scenarios

Supported Tasks

  • Vulnerability Analysis: Understanding and explaining CVEs
  • Exploit Development: Writing and understanding exploit code
  • Pentesting Methodology: Planning and executing penetration tests
  • Red Team Operations: Advanced persistent threat simulation
  • Tool Usage: Understanding cybersecurity tools and commands

Dataset Structure & Pipeline

The dataset is available in multiple formats (Alpaca, ChatML, Harmony), generated by the pipeline. The build process can be triggered by running pentestds build.

Naming conventions

Repository name

By default, the builder uploads to:

  • jason-oneal/mitre-stix-cve-exploitdb-dataset-alpaca-chatml-harmony

This name comes from the builder’s USERNAME + a fixed suffix.

File names

Each format is written as JSONL and split into train/validate:

  • Alpaca: alpaca_train.jsonl, alpaca_validate.jsonl
  • ChatML: chatml_train.jsonl, chatml_validate.jsonl
  • Harmony: harmony_train.jsonl, harmony_validate.jsonl (each line is {"text": "...raw Harmony tokens..."})

Metadata files:

  • Dataset card: README.md (uploaded from the builder repo’s card.md)
  • Citation: CITATION.cff
  • Provenance: provenance.json

Alpaca Format

{
    "instruction": "Explain CVE-2023-1234",
    "input": "",
    "output": "CVE-2023-1234 is a critical vulnerability in Example Software..."
}

ChatML Format

{
    "messages": [
        {"role": "user", "content": "Explain CVE-2023-1234"},
        {"role": "assistant", "content": "CVE-2023-1234 is a critical vulnerability in Example Software..."}
    ]
}

Data Sources

Source Type License Records URL
MITRE CVE Database CVE MITRE CVE License varies https://cve.mitre.org/
National Vulnerability Database CVE NIST License varies https://nvd.nist.gov/
Exploit Database EXPLOIT ExploitDB License varies https://www.exploit-db.com/
MITRE ATT&CK Reasoning REDTEAM Apache-2.0 ~300 https://huggingface.co/datasets/cobo512/Mitre-ATTACK-reasoning-dataset
Security TTP Mapping SCENARIO Apache-2.0 ~500 https://huggingface.co/datasets/tumeteor/Security-TTP-Mapping
SecureCode v2 SCENARIO Apache-2.0 ~430 https://huggingface.co/datasets/scthornton/securecode-v2

Data Processing

Content Validation

All data undergoes content validation to ensure quality and consistency.

Content Cleaning

Content is cleaned and validated to ensure proper formatting and length.

Validation

All records are validated against Pydantic schemas to ensure data quality and format consistency.

Train/Validation Split

The dataset is split using deterministic hash-based partitioning with optional stratification by source or license type.

Usage

Loading the Dataset

from datasets import load_dataset

repo_id = "jason-oneal/mitre-stix-cve-exploitdb-dataset-alpaca-chatml-harmony"

# Load specific format files directly
alpaca_train = load_dataset(repo_id, data_files={"train": "alpaca_train.jsonl"})["train"]
chatml_train = load_dataset(repo_id, data_files={"train": "chatml_train.jsonl"})["train"]
harmony_train = load_dataset(repo_id, data_files={"train": "harmony_train.jsonl"})["train"]

Example Usage

# Get a sample record from alpaca format
alpaca_sample = alpaca_train[0]
print(f"Instruction: {alpaca_sample['instruction']}")
print(f"Output: {alpaca_sample['output']}")

# Get a sample record from chatml format
chatml_sample = chatml_train[0]
for message in chatml_sample['messages']:
    print(f"{message['role']}: {message['content']}")

Training Example

from transformers import AutoTokenizer, AutoModelForCausalLM

# Load model and tokenizer
model = AutoModelForCausalLM.from_pretrained("microsoft/DialoGPT-medium")
tokenizer = AutoTokenizer.from_pretrained("microsoft/DialoGPT-medium")

# Prepare data
def format_prompt(example):
    if 'messages' in example:
        # ChatML format
        return "\n".join([f"{msg['role']}: {msg['content']}" for msg in example['messages']])
    else:
        # Alpaca format
        return f"Instruction: {example['instruction']}\nOutput: {example['output']}"

# Tokenize and train
# ... training code ...

Data Quality

Validation Results

  • Total Records Processed: ~250,000
  • Valid Records: ~245,000 (98%)
  • Duplicates Removed: ~5,000
  • Content Cleaned: ~1,000

Quality Metrics

  • Schema Compliance: 100% (all records pass Pydantic validation)
  • Total Records: ~3,730+ (combined from all sources)
  • Source Attribution: 100% (all records have provenance tracking)

Limitations and Biases

Known Limitations

  1. Language: Dataset is primarily in English
  2. Temporal Coverage: CVE data limited to available years
  3. Tool Coverage: Focus on common pentesting tools
  4. Scenario Diversity: Limited to available pentesting scenarios

Potential Biases

  1. Source Bias: Heavy reliance on MITRE/NVD for vulnerability data
  2. Tool Bias: Focus on popular open-source tools
  3. Geographic Bias: Primarily Western cybersecurity practices

Citation

If you use this dataset in your research, please cite:

@misc{mitre_nvd_exploitdb_dataset,
  title={MITRE+NVD+ExploitDB Dataset (Alpaca/ChatML/Harmony)},
  author={Jason O'Neal},
  year={2024},
  url={https://huggingface.co/datasets/jason-oneal/mitre-stix-cve-exploitdb-dataset-alpaca-chatml-harmony}
}

License

This dataset is licensed under Apache-2.0. Individual data sources retain their original licenses:

  • MITRE CVE: Public domain
  • ExploitDB: Various licenses per exploit
  • HuggingFace Datasets: Apache-2.0

Contributing

Contributions are welcome! Please see the repository for contribution guidelines.

Updates

This dataset is updated daily via automated GitHub Actions workflows. Each update includes:

  • Latest CVE data from MITRE
  • Latest CVSS enrichment from NVD (when available)
  • New exploits from ExploitDB
  • Updated secure coding scenarios from SecureCode v2
  • Updated MITRE ATT&CK reasoning and TTP mapping datasets (when accessible)

Contact

For questions or issues:


Generated by the Pentest Dataset Builder Pipeline

README history 20 revisions

Every night we snapshot the README of every dataset in the catalog. When the SHA changes we archive the new version and diff it against the last. This is the evolving thought record of the alignment-data field: what the author decided to say about the corpus, and how that framing shifted over time.

  1. 2026-05-02Upload provenance.json with huggingface_hube7dcfe98.9 KB
    Loading...
  2. 2026-05-02Upload chatml/validation.jsonl with huggingface_hub4983ae48.9 KB
    Loading...
  3. 2026-05-02Upload chatml/train.jsonl with huggingface_hubf53473d8.9 KB
    Loading...
  4. 2026-05-02Upload alpaca/validation.jsonl with huggingface_hub5cf72808.9 KB
    Loading...
  5. 2026-05-02Upload alpaca/train.jsonl with huggingface_hub9a28a188.9 KB
    Loading...
  6. 2026-05-01Upload provenance.json with huggingface_hub22d25a88.9 KB
    Loading...
  7. 2026-05-01Upload chatml/validation.jsonl with huggingface_hube8fe36e8.9 KB
    Loading...
  8. 2026-05-01Upload chatml/train.jsonl with huggingface_hub38e3d4a8.9 KB
    Loading...
  9. 2026-05-01Upload alpaca/validation.jsonl with huggingface_huba14a9128.9 KB
    Loading...
  10. 2026-05-01Upload alpaca/train.jsonl with huggingface_hubebf05af8.9 KB
    Loading...
  11. 2026-04-30Upload provenance.json with huggingface_hub7867be78.9 KB
    Loading...
  12. 2026-04-30Upload chatml/validation.jsonl with huggingface_huba14cd4c8.9 KB
    Loading...
  13. 2026-04-30Upload chatml/train.jsonl with huggingface_hub3a32e0d8.9 KB
    Loading...
  14. 2026-04-30Upload alpaca/validation.jsonl with huggingface_hubb0ccdb48.9 KB
    Loading...
  15. 2026-04-30Upload alpaca/train.jsonl with huggingface_hubc3045258.9 KB
    Loading...
  16. 2026-04-29Upload provenance.json with huggingface_hub095efae8.9 KB
    Loading...
  17. 2026-04-29Upload chatml/validation.jsonl with huggingface_hub0bf6e6b8.9 KB
    Loading...
  18. 2026-04-29Upload chatml/train.jsonl with huggingface_hub35b1d878.9 KB
    Loading...
  19. 2026-04-29Upload alpaca/validation.jsonl with huggingface_hub305d0388.9 KB
    Loading...
  20. 2026-04-29Upload alpaca/train.jsonl with huggingface_hubdca5c2d8.9 KB
    Loading...

Used by abliterated models none yet

No abliterated models in our catalog have declared this dataset in their YAML metadata yet. This can mean the dataset is used but not declared, is used outside abliteration workflows, or is new. The link will populate automatically as models are indexed.

Community discussions 1 thread · 1 open · 1 comments

Threads posted by the community on Hugging Face: bug reports, questions about usage, pull requests on the README, license clarifications. Click any thread to expand and read the full conversation inline. Newest first.

  1. 2026-02-05[bot] Conversion to Parquetopen1 💬#1
    Loading...

Related datasets same stage · extract

Read further

Metadata

License
apache-2.0

Repository

Download the dataset

0

Copy any of these snippets into your notebook or terminal. All three fetch directly from Hugging Face using your own credentials.

Recommended: datasets library (Python)
from datasets import load_dataset
ds = load_dataset("jason-oneal/mitre-stix-cve-exploitdb-dataset-alpaca-chatml-harmony")
Raw snapshot (Python)
from huggingface_hub import snapshot_download
snapshot_download(repo_id="jason-oneal/mitre-stix-cve-exploitdb-dataset-alpaca-chatml-harmony", repo_type="dataset")
git clone (requires git-lfs)
git clone https://huggingface.co/datasets/jason-oneal/mitre-stix-cve-exploitdb-dataset-alpaca-chatml-harmony
Catalog is the map. Apps are the tools.

Run models on your own machine, not in the cloud.

Every model page has an "Open in Abliteration" button that hands the model directly to the first-party desktop client, at the quantization your rig can actually run. No API keys, no subscription, no prompt leakage.

Open in Abliteration