Im Aufbau
invictus24
← Alle Artikel

9. August 2026

pwn-scenarios: Ein offenes AI-Ready Dataset für Pentesting & Bug Bounty

Open SourceBug BountyAIDatasets

IT Security for fun & profit – dieses Motto steht nicht ohne Grund oben auf dieser Seite. Es war auch der Ausgangspunkt für mein bisher größtes Open-Source-Projekt: pwn-scenarios, ein öffentliches Dataset, das reale, disclosed Bug-Bounty-Reports und CTF-Writeups in strukturierte, wiederverwendbare Angriffs-Playbooks verwandelt.

Die Ausgangslage

Wer sich mit LLM-gestütztem Pentesting oder AI-Security-Tooling beschäftigt, stößt schnell auf ein Problem: Es gibt tausende gute Writeups im Netz, aber kaum strukturierte Trainings- oder RAG-Daten daraus. Jeder Report ist anders formuliert, unterschiedlich detailliert, und das eigentliche Muster dahinter – Preconditions, Vorgehen, Impact, Remediation – muss man sich mühsam selbst zusammenreimen.

pwn-scenarios löst genau das: ein generisches, wiederverwendbares Playbook pro Schwachstellenklasse, jeweils verknüpft mit einer echten, öffentlich disclosed Instanz zur Erdung – nie der volle Text des Original-Writeups, nur Metadaten und ein Link zurück zur Quelle.

Ein Beispiel-Record

{
  "vulnerability": { "class": "Insecure Direct Object Reference (IDOR)", "cwe": "CWE-639" },
  "scenario": {
    "preconditions": ["Anwendung exponiert Objekt-IDs direkt in Requests", "..."],
    "process": [
      { "step": 1, "action": "Alle Endpunkte mit Objekt-IDs mappen", "tools": ["Burp Suite"] },
      { "step": 2, "action": "..." }
    ],
    "impact": ["Unautorisierter Lesezugriff auf fremde Daten", "..."],
    "remediation": ["Server-seitige Ownership-Prüfung bei jedem Objektzugriff erzwingen", "..."]
  },
  "source": { "platform": "hackerone", "url": "https://hackerone.com/reports/..." }
}

Der Attack Decision Graph

Der eigentlich interessante Teil ist nicht die flache Liste, sondern der Attack Decision Graph: 293 States, 271 Actions, darunter 17 reale CVE-Chains (Log4Shell, Spring4Shell, Zerologon, EternalBlue, MOVEit, Citrix Bleed und weitere – jede einzelne gegen NVD verifiziert). Der Graph modelliert Pentesting so, wie eine Schach-Engine Züge bewertet: Gegeben, was bereits etabliert ist – was ist der stärkste nächste Schritt, und wohin führt er?

Ein simulate_graph.py-Skript sampled daraus synthetische Trainingsepisoden per Bellman Value Iteration. Eine Greedy-Policy erreicht damit in 18,1 % der Fälle vollständige Kompromittierung, gegenüber 6,7 % bei zufälligem Vorgehen – ein messbarer Beleg, dass der Graph tatsächlich sinnvolle Pfade abbildet.

Zahlen

  • 30.293 Records über 42 Schwachstellenklassen
  • Quellen: HackerOne Hacktivity, GitHub CTF-/TryHackMe-/HackTheBox-Writeups, Pentester Land, kuratierte GitHub-Listen, RSS-Feeds von Security-Blogs
  • 9 zusätzliche Klassen speziell für AI/LLM-Schwachstellen (Prompt Injection, Excessive Agency, Insecure Output Handling, …), nach dem OWASP Top 10 for LLM Applications
  • Wächst automatisch weiter über tägliche/wöchentliche GitHub-Actions-Jobs

Warum Open Source

Das Dataset ist komplett öffentlich, unter MIT (Code) und CC BY 4.0 (Daten) lizenziert, und liegt sowohl auf GitHub als auch auf dem Hugging Face Hub zum direkten Laden mit datasets.load_dataset(). Contributions – eigene Writeups, neue Schwachstellenklassen, neue CVE-Chains im Graph – sind ausdrücklich willkommen, siehe CONTRIBUTING.md im Repo.

Wer selbst an AI-gestütztem Pentesting-Tooling baut oder einfach nur ein sauber strukturiertes Nachschlagewerk für Schwachstellenklassen sucht, darf sich gerne bedienen.