extract 0 0 0

spinochenza/cyberstrike-sft-120k

published by @spinochenza

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
129
Last 30 days
62
Likes
1
Size
1.8 GB
Created on HF
2026-08-17
Age
2 months ago

Description

CyberStrike SFT 120K

The largest open-source offensive cybersecurity SFT dataset

121,422 expert-level red team instruction-response pairs across 15 security generators

Quick Start •

Why CyberStrike •

Domains •

Data Format •

Training Guide •

Benchmarks •

Contributing •

License

Why CyberStrike?

Most LLMs refuse or give surface-level answers to offensive security questions. Security professionals —… See the full description on the dataset page: https://huggingface.co/datasets/spinochenza/cyberstrike-sft-120k.

Tags

task_categories:text-generationtask_categories:question-answeringlanguage:enlicense:apache-2.0size_categories:100K<n<1Mformat:jsonmodality:textlibrary:datasetslibrary:pandaslibrary:polarslibrary:mlcroissantregion:uscybersecurityred-teampenetration-testingoffensive-securitysftinstruction-tuningmitre-attackcveowaspnistcis-benchmarkcloud-securitythreat-intelligencevulnerability-analysissecurity-operationsasvs

README current version from Hugging Face


language:

  • en
    license: apache-2.0
    size_categories:
  • 100K<n<1M
    task_categories:
  • text-generation
  • question-answering
    tags:
  • cybersecurity
  • red-team
  • penetration-testing
  • offensive-security
  • sft
  • instruction-tuning
  • mitre-attack
  • cve
  • owasp
  • nist
  • cis-benchmark
  • cloud-security
  • threat-intelligence
  • vulnerability-analysis
  • security-operations
  • asvs
    pretty_name: CyberStrike SFT 120K
    dataset_info:
    features:
    • name: messages
      list:
      • name: role
        dtype: string
      • name: content
        dtype: string
    • name: metadata
      struct:
      • name: category
        dtype: string
      • name: generator
        dtype: string
      • name: scenario
        dtype: string
      • name: generated
        dtype: string
      • name: extra
        dtype: string
        splits:
    • name: train
      num_examples: 121422
      configs:
  • config_name: default
    data_files:
    • split: train
      path: cyberstrike_sft_v2.jsonl

CyberStrike SFT 120K

The largest open-source offensive cybersecurity SFT dataset
121,422 expert-level red team instruction-response pairs across 15 security generators

Quick Start • Why CyberStrike • Domains • Data Format • Training Guide • Benchmarks • Contributing • License

HuggingFace GitHub Examples Generators Tokens License


Why CyberStrike?

Most LLMs refuse or give surface-level answers to offensive security questions. Security professionals — penetration testers, red teamers, bug bounty hunters — need models that can reason about real attack techniques with the same depth as a senior operator.

CyberStrike SFT 120K fills this gap:

  • No refusals — Every response provides actionable technical depth
  • Real-world grounded — Scenarios derived from MITRE ATT&CK, OWASP, NIST, CIS, NVD, and real CVEs
  • Operator-level detail — Actual commands, payloads, scripts, and exploitation chains
  • Defense-aware — Responses include detection indicators, OPSEC considerations, and blue team perspectives
  • Framework-aligned — Mapped to industry-standard security frameworks

Use case: Fine-tune any base model (Qwen, Llama, Mistral, etc.) to create a cybersecurity-focused assistant that thinks like an APT operator and responds like a senior pentester.


Quick Start

from datasets import load_dataset

dataset = load_dataset("oyildirim/cyberstrike-sft-120k", split="train")

print(f"Total examples: {len(dataset):,}")
print(dataset[0]["messages"][1]["content"][:200])  # User prompt
print(dataset[0]["messages"][2]["content"][:200])  # Assistant response
print(dataset[0]["metadata"])                       # Metadata

Fine-tune with Unsloth (recommended)

from unsloth import FastModel
from datasets import load_dataset
from trl import SFTTrainer, SFTConfig

model, tokenizer = FastModel.from_pretrained(
    model_name="Qwen/Qwen3-32B",  # or any base model
    max_seq_length=8192,
    load_in_4bit=True,
)

model = FastModel.get_peft_model(
    model,
    r=64, lora_alpha=128,
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj",
                     "gate_proj", "up_proj", "down_proj"],
)

dataset = load_dataset("oyildirim/cyberstrike-sft-120k", split="train")

trainer = SFTTrainer(
    model=model,
    tokenizer=tokenizer,
    train_dataset=dataset,
    args=SFTConfig(
        output_dir="./cyberstrike-finetuned",
        per_device_train_batch_size=2,
        gradient_accumulation_steps=8,
        num_train_epochs=1,
        learning_rate=2e-4,
        bf16=True,
        max_seq_length=8192,
    ),
)

trainer.train()

Fine-tune with Axolotl

# axolotl config
base_model: Qwen/Qwen3-32B
datasets:
  - path: oyildirim/cyberstrike-sft-120k
    type: sharegpt
sequence_len: 8192
adapter: qlora
lora_r: 64
lora_alpha: 128

Domains & Coverage

CyberStrike covers 11 distinct security domains, sourced from real-world frameworks and vulnerability databases:

Domain Examples Source Frameworks
Cloud Security 37,672 (31.1%) AWS, Azure, GCP misconfigurations, IAM exploitation, container escapes
CVE Reasoning 35,672 (29.5%) NVD, real CVE analysis with CVSS scoring, exploit chains, patch bypass
CIS Hardening 17,505 (14.5%) CIS Benchmarks for Linux, Windows, Docker, Kubernetes, cloud platforms
General Offensive 14,862 (12.3%) Kill chains, lateral movement, persistence, privilege escalation
NIST Framework 7,301 (6.0%) NIST CSF, 800-53, risk assessment, compliance bypass scenarios
MITRE ATT&CK 3,370 (2.8%) Techniques across all 14 tactics, sub-technique level detail
OWASP ASVS 2,159 (1.8%) Application Security Verification Standard controls and bypasses
OWASP Web 1,623 (1.3%) OWASP Top 10, WSTG methodology, web application attacks
Tool Usage 722 (0.6%) Nmap, Burp Suite, Metasploit, custom scripting, automation
Attack Scenarios 117 (0.1%) Full kill chain simulations, multi-stage attack operations
ReAct Chains 60 (0.05%) Reasoning + Action chains for security analysis

Coverage Highlights

Frameworks:   MITRE ATT&CK  |  OWASP Top 10  |  OWASP ASVS  |  NIST CSF  |  CIS Benchmarks
Platforms:    Linux  |  Windows  |  macOS  |  AWS  |  Azure  |  GCP  |  Kubernetes  |  Docker
Techniques:   Recon  |  Initial Access  |  Execution  |  Persistence  |  Priv Esc  |  Lateral Movement
              Defense Evasion  |  Credential Access  |  Discovery  |  Collection  |  Exfiltration  |  C2
Tools:        Nmap  |  Burp Suite  |  Metasploit  |  Cobalt Strike  |  BloodHound  |  Impacket
              Nuclei  |  ffuf  |  sqlmap  |  Responder  |  CrackMapExec  |  Custom scripts

Data Format

Every example contains a messages array (ChatML/ShareGPT format) and a metadata object with provenance information:

{
  "messages": [
    {
      "role": "system",
      "content": "You are CyberStrike, an elite red team AI operator..."
    },
    {
      "role": "user",
      "content": "We have initial access to a Ubuntu 24.04 LTS host inside an air-gapped OT/SCADA network..."
    },
    {
      "role": "assistant",
      "content": "## T1212 - Exploitation for Credential Access\n\n### 1. PREREQUISITES\n..."
    }
  ],
  "metadata": {
    "category": "mitre_attack",
    "generator": "gen_mitre_attack",
    "scenario": "T1212_deep_dive",
    "generated": "2026-06-13T11:07:45.192374",
    "extra": "{\"technique_id\": \"T1212\", \"technique_name\": \"Exploitation for Credential Access\", \"framework\": \"ATT&CK Enterprise\", \"variant\": \"deep_dive\", \"tactics\": [\"credential-access\"]}"
  }
}

Message Roles

Role Description
system CyberStrike system prompt — defines the red team operator persona
user Detailed offensive security scenario with target environment context
assistant Expert-level response with commands, payloads, code, and MITRE mappings

Metadata Fields

Field Type Description
category string Domain category (e.g., mitre_attack, cloud_security, cve_reasoning)
generator string Generator module that produced this example (e.g., gen_mitre_attack)
scenario string Scenario identifier within the generator
generated string ISO 8601 timestamp of generation
extra string (JSON) Generator-specific metadata (technique IDs, CVE IDs, framework info, etc.)

Extra Metadata Examples by Generator

MITRE ATT&CK (gen_mitre_attack):

{"technique_id": "T1059.001", "technique_name": "PowerShell", "framework": "ATT&CK Enterprise", "tactics": ["execution"]}

CVE Reasoning (gen_cve_reasoning):

{"cve_id": "CVE-2024-2756", "cvss_score": 9.8, "cwes": ["CWE-287"], "variant": "deep_dive"}

CIS Hardening (gen_cis_hardening):

{"cis_benchmark": "CIS_Docker_1.6.0", "platform": "Docker", "skill_id": "5.1.1", "skill_name": "Ensure AppArmor Profile is Enabled"}

Cloud Security (gen_cloud_security):

{"stack": "AWS", "perspective": "exploit_misconfiguration", "skill_id": "iam-1", "skill_name": "Overprivileged IAM Role"}

GitHub Advisories (gen_github_advisories):

{"ghsa_id": "GHSA-xxxx-yyyy", "cve_id": "CVE-2024-1234", "ecosystem": "npm", "package_name": "express", "severity": "critical"}

What Makes the Responses High-Quality

Each assistant response typically includes:

Element Description
Attack phases Structured step-by-step methodology
Real commands Copy-paste ready commands and scripts
Code/payloads Working exploit code, custom scripts, one-liners
MITRE mapping Relevant T-codes (e.g., T1059.004, T1078.004)
OPSEC notes Detection risks, evasion techniques, cleanup steps
Alternatives Fallback approaches if primary technique fails
Detection indicators What defenders would see (for purple team value)

Dataset Statistics

Metric Value
Total examples 121,422
Mean assistant response ~6,500 characters
Median assistant response ~6,100 characters
Min response length ~900 characters
Max response length ~24,000 characters
Mean user prompt ~600 characters
Estimated total tokens ~216M
File size 946 MB
Generators 15
Unique categories 11

Training Guide

Recommended Configurations

GPU Batch Size Grad Accum Seq Length Estimated Time
H100 80GB 2 8 8192 ~60h (1 epoch)
H200 143GB 2 8 8192 ~57h (1 epoch)
A100 40GB 1 16 4096 ~80h (1 epoch)
4x A100 80GB 2 4 8192 ~15h (1 epoch)

Hyperparameter Recommendations

# These settings were validated during our training runs
LORA_R = 64
LORA_ALPHA = 128
LEARNING_RATE = 2e-4
LR_SCHEDULER = "cosine"
WARMUP_RATIO = 0.05
WEIGHT_DECAY = 0.01
NEFTUNE_ALPHA = 5        # NEFTune noise for better generalization
OPTIMIZER = "adamw_8bit"
MAX_SEQ_LENGTH = 8192

Tips

  • Packing: Most SFT frameworks support packing — shorter examples are concatenated to fill max_seq_length, reducing wasted compute. Note: some MoE models may skip packing.
  • NEFTune: Adding small noise to embeddings (neftune_noise_alpha=5) consistently improves generalization on instruction-tuning datasets.
  • Checkpoint resume: Save checkpoints every 500 steps. Training this dataset takes many hours — you don't want to lose progress.
  • QLoRA vs LoRA: QLoRA (4-bit) is faster but may have quality differences on some model architectures. If VRAM allows, 16-bit LoRA is preferred.

Generation Pipeline

                    ┌──────────────────────────┐
                    │  Security Frameworks DB   │
                    │  MITRE ATT&CK, OWASP,    │
                    │  NIST, CIS, NVD, GHSA    │
                    └────────────┬─────────────┘
                                 │
                    ┌────────────▼─────────────┐
                    │   Scenario Generator     │
                    │   15 specialized modules  │
                    │   Parallel workers (×4)   │
                    └────────────┬─────────────┘
                                 │
                    ┌────────────▼─────────────┐
                    │   LLM Response Gen       │
                    │   Domain-specific prompts │
                    │   System prompt injection │
                    └────────────┬─────────────┘
                                 │
                    ┌────────────▼─────────────┐
                    │   Validation Pipeline    │
                    │   • Min 500 char check   │
                    │   • Refusal detection    │
                    │   • Structure validation │
                    │   • Code block check     │
                    └────────────┬─────────────┘
                                 │
                    ┌────────────▼─────────────┐
                    │   Cleaning & Dedup       │
                    │   • Double-wrap fix      │
                    │   • Code-fence unwrap    │
                    │   • System prompt norm   │
                    │   • MD5 deduplication    │
                    └────────────┬─────────────┘
                                 │
                    ┌────────────▼─────────────┐
                    │   cyberstrike-sft-120k   │
                    │   121,422 examples        │
                    │   946 MB JSONL            │
                    └──────────────────────────┘

Intended Use

Who is this for?

  • Security researchers building AI-powered security tools
  • Red team operators wanting a domain-specific AI assistant
  • Bug bounty hunters automating reconnaissance and analysis
  • Security educators creating training materials and CTF challenges
  • AI/ML researchers exploring domain-specific fine-tuning

Example Applications

  • Fine-tune a local model for offline penetration testing assistance
  • Build a vulnerability analysis copilot that reasons about CVEs
  • Create a red team planning assistant that maps to MITRE ATT&CK
  • Train a security automation agent that writes and executes scripts
  • Develop a threat modeling assistant aligned with NIST/CIS frameworks

Comparison with Other Datasets

Dataset Examples Domains Avg Response Open Source
CyberStrike SFT 120K 121,422 11 ~6,500 chars Yes
Generic instruct datasets 50-100K General ~1,500 chars Yes
SecurityGPT (if available) ~10K 3-4 ~2,000 chars Partial
PrivateGPT security sets Unknown Unknown Unknown No

CyberStrike provides 4-5x longer responses than typical instruction datasets, with domain-specific depth that general datasets cannot match.


Ethical Considerations & Responsible Use

This dataset contains offensive security content. It is created for authorized security testing and education.

You MUST:

  • Only use fine-tuned models within authorized security assessments
  • Comply with all applicable laws and regulations
  • Follow responsible disclosure practices for any vulnerabilities discovered
  • Respect scope and rules of engagement in any testing

You MUST NOT:

  • Use this data to attack systems without authorization
  • Create models for malicious purposes
  • Distribute fine-tuned models without appropriate safety guardrails

Contributing

We welcome contributions to expand and improve the dataset:

  • New domains — Submit examples covering emerging attack surfaces (AI/ML security, IoT, automotive, etc.)
  • Quality improvements — Flag low-quality or inaccurate examples
  • Translations — Help translate prompts to other languages for multilingual security training
  • Evaluation — Help build benchmarks to measure model performance on security tasks

Open an issue or discussion on this repo, or reach out via GitHub.


Roadmap

  • CyberStrike DPO Dataset — Preference pairs for persona alignment (Chain of Thought, tool usage, agentic behavior)
  • CyberStrike Eval Benchmark — Standardized evaluation for cybersecurity LLMs
  • Pre-trained Model Release — Fine-tuned model weights on Hugging Face
  • Multi-language Support — Security scenarios in Turkish, German, Japanese, and more
  • v2 Expansion — Additional domains: IoT security, mobile security, AI/ML adversarial attacks

Citation

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

@dataset{cyberstrike_sft_2025,
  title     = {CyberStrike SFT 120K: Offensive Cybersecurity Training Dataset},
  author    = {Yildirim, Orhan},
  year      = {2025},
  publisher = {Hugging Face},
  url       = {https://huggingface.co/datasets/oyildirim/cyberstrike-sft-120k}
}

License

This dataset is released under the Apache License 2.0.


Built with persistence by Orhan Yildirim
If you find this dataset useful, consider giving it a like on Hugging Face.

README history 1 revision

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-08-17Duplicate from oyildirim/cyberstrike-sft-120k7c5c7fc17.7 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-08-18[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("spinochenza/cyberstrike-sft-120k")
Raw snapshot (Python)
from huggingface_hub import snapshot_download
snapshot_download(repo_id="spinochenza/cyberstrike-sft-120k", repo_type="dataset")
git clone (requires git-lfs)
git clone https://huggingface.co/datasets/spinochenza/cyberstrike-sft-120k
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