extract 0 0 0

9mark9/llm-redteam-owasp-prompts

published by @9mark9

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
289
Last 30 days
87
Likes
1
Size
84 KB
Created on HF
2026-06-23
Age
4 months ago

Description

LLM Red-Team Prompts — OWASP LLM Top 10

A curated dataset of 150 adversarial red-team prompts for evaluating the

safety and robustness of large language models, mapped to the

OWASP LLM Top 10.

Every prompt is a real payload extracted directly from the open-source

llm-safety-auditor

project — none are fabricated.

The dataset combines two sources from that project:

50 hand-curated attack templates (attack_library) — 10 per attack category.

100 mutation-engine variants… See the full description on the dataset page: https://huggingface.co/datasets/9mark9/llm-redteam-owasp-prompts.

Tags

task_categories:text-classificationtask_categories:text-generationlanguage:enlicense:mitsize_categories:n<1Kformat:jsonmodality:textlibrary:datasetslibrary:pandaslibrary:polarslibrary:mlcroissantregion:usllm-safetyred-teamingadversarialowaspjailbreakprompt-injectionai-safety

README current version from Hugging Face


license: mit
task_categories:

  • text-classification
  • text-generation
    language:
  • en
    tags:
  • llm-safety
  • red-teaming
  • adversarial
  • owasp
  • jailbreak
  • prompt-injection
  • ai-safety
    size_categories:
  • n<1K

LLM Red-Team Prompts — OWASP LLM Top 10

A curated dataset of 150 adversarial red-team prompts for evaluating the
safety and robustness of large language models, mapped to the
OWASP LLM Top 10.
Every prompt is a real payload extracted directly from the open-source
llm-safety-auditor
project — none are fabricated.

The dataset combines two sources from that project:

  • 50 hand-curated attack templates (attack_library) — 10 per attack category.
  • 100 mutation-engine variants (mutation_engine) — 10 seed attacks × 10
    deterministic obfuscation mutations (prefix injection, role-play framing,
    base64 encoding, Unicode homoglyphs, nested instructions), generated with a
    fixed seed for full reproducibility.

Intended Use

This dataset is built for defensive LLM safety research:

  • Benchmarking model refusal behavior against adversarial inputs.
  • Red-team / blue-team evaluation of guardrails and content filters.
  • Regression testing safety alignment across model versions.
  • Mapping observed failures to OWASP LLM Top 10 risk categories.

It is not intended to elicit harmful content from production systems. The
payloads target a model's defensive response (it should refuse, sanitize, or
decline). Each record ships an expected_behavior field describing the safe
outcome.

Schema

Column Type Description
id string Unique payload identifier (e.g. JB-001, GEN-SEED-JB-001-PRE-01).
prompt string The adversarial payload text.
category string Attack category (one of 5, see below).
owasp string OWASP LLM Top 10 mapping.
severity string CRITICAL / HIGH / MEDIUM.
expected_behavior string The safe model response the payload tests for.
tags list[string] Descriptive tags (technique, theme, strategy, difficulty).
source string attack_library (curated) or mutation_engine (generated).
generated bool true for mutation-engine variants.
seed_id string (generated only) originating seed template id.
strategy string (generated only) mutation strategy.
difficulty string (generated only) easy / medium / hard.
obfuscation_layers int (generated only) number of obfuscation layers.

Category Breakdown

Category OWASP LLM Top 10 Count
JAILBREAK LLM01: Prompt Injection 30
PROMPT_INJECTION LLM01: Prompt Injection 30
DATA_EXFILTRATION LLM06: Sensitive Information Disclosure 30
BIAS_ELICITATION LLM09: Misinformation 30
HALLUCINATION_TRIGGER LLM09: Misinformation 30
Total 150

By OWASP risk: LLM01 (60), LLM06 (30), LLM09 (60).
By severity: CRITICAL (38), HIGH (92), MEDIUM (20).
By source: curated (50), mutation-engine (100).

Loading

from datasets import load_dataset

ds = load_dataset("9mark9/llm-redteam-owasp-prompts", split="train")
print(len(ds))                       # 150
print(ds[0])                         # first payload record

# Target one attack category for evaluation
jailbreaks = ds.filter(lambda r: r["category"] == "JAILBREAK")

See load_example.py for a fuller example.

Limitations

  • Small. 150 prompts. It is a regression and smoke-test set, not a comprehensive benchmark.
  • Less diverse than the count suggests. The 100 generated variants come from only 10 seed attacks, so
    they test obfuscation of those 10 attacks, not 100 independent ideas.
  • English only.
  • Labels are the author's. Categories, OWASP mappings, severities and expected_behavior were assigned
    by the project author and have not been checked by independent annotators.
  • Prompts only. The dataset has no model responses and no judgement of whether a response was safe.
    Scoring a model needs your own judge; the source project ships a rule-based detector that is not a validated classifier.

Ethical Use & Responsible Disclosure

These payloads are for defensive evaluation only.

By using this dataset you agree to apply it solely to assess, harden, and
improve
the safety of LLM systems you are authorized to test. Do not use
it to attack third-party systems, to extract genuinely harmful instructions
from models, or to circumvent safety controls in production deployments. Many
prompts deliberately reference dangerous topics as bait to test whether a
model refuses — the dataset contains no actual harmful instructions, only the
adversarial prompts that should be refused. If you discover a safety regression
in a deployed model, follow the vendor's responsible-disclosure process
before publishing details.

Source & Links

Citation

@misc{llm_redteam_owasp_prompts,
  title  = {LLM Red-Team Prompts — OWASP LLM Top 10},
  author = {llm-safety-auditor contributors},
  year   = {2026},
  howpublished = {\url{https://huggingface.co/datasets/9mark9/llm-redteam-owasp-prompts}}
}

README history 3 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-10-17Add a limitations sectioncac5cb55.6 KB
    Loading...
  2. 2026-06-24Upload folder using huggingface_hub481db1b4.9 KB
    Loading...
  3. 2026-06-24initial commit8191ec70 B
    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-06-25[bot] Conversion to Parquetopen1 💬#1
    Loading...

Related datasets same stage · extract

Read further

Metadata

License
mit

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("9mark9/llm-redteam-owasp-prompts")
Raw snapshot (Python)
from huggingface_hub import snapshot_download
snapshot_download(repo_id="9mark9/llm-redteam-owasp-prompts", repo_type="dataset")
git clone (requires git-lfs)
git clone https://huggingface.co/datasets/9mark9/llm-redteam-owasp-prompts
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