extract 0 0 0

LidaSafety/fragbench

published by @LidaSafety

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
15.5K
Last 30 days
1.3K
Likes
-
Size
1.2 GB
Created on HF
2026-05-07
Age
5 months ago

Description

FragBench (Public Tier)

Anonymous submission to ICLR 2027.

Author identity will be revealed at camera-ready.

Dataset Summary

FragBench is a benchmark for evaluating cross-session, fragmented attacks on

LLM agents that use tools via the Model Context Protocol (MCP). Each campaign

is decomposed into many small fragments distributed across sessions; a

defender must reconstruct the compositional intent. The public tier in this

repository contains:

Seed campaigns —… See the full description on the dataset page: https://huggingface.co/datasets/LidaSafety/fragbench.

Tags

task_categories:text-classificationtask_categories:text-generationlanguage:enlicense:cc-by-4.0size_categories:10K<n<100Kformat:parquetmodality:tabularmodality:textlibrary:datasetslibrary:pandaslibrary:polarslibrary:mlcroissantregion:ussafetyred-teamingjailbreakllm-agentmcpbenchmark

README current version from Hugging Face


license: cc-by-4.0
task_categories:

  • text-classification
  • text-generation
    language:
  • en
    tags:
  • safety
  • red-teaming
  • jailbreak
  • llm-agent
  • mcp
  • benchmark
    pretty_name: FragBench
    version: "2.0.0"
    size_categories:
  • 1K<n<10K
    citation: |
    @inproceedings{fragbench2027,
    title = {FragBench: A Benchmark for Detecting Fragmented Multi-Session Jailbreak Attacks on LLM Agents},
    author = {Anonymous},
    booktitle = {International Conference on Learning Representations (under review)},
    year = {2027}
    }
    configs:
  • config_name: attack_meta
    data_files:
    • split: train
      path: "data/attack_meta.parquet"
      default: true
  • config_name: campaign_fragments
    data_files:
    • split: train
      path: "data/campaign_fragments.parquet"

FragBench (Public Tier)

Anonymous submission to ICLR 2027.
Author identity will be revealed at camera-ready.

Dataset Summary

FragBench is a benchmark for evaluating cross-session, fragmented attacks on
LLM agents that use tools via the Model Context Protocol (MCP). Each campaign
is decomposed into many small fragments distributed across sessions; a
defender must reconstruct the compositional intent. The public tier in this
repository contains:

  • Seed campaigns — the source malicious objectives, drawn from public
    cyber-incident reports
  • Generated variants — stylised fragment sequences produced by the
    FragBench Attack pipeline
  • Benign data — executed benign MCP tool-use traces used for negative
    examples

The more sensitive components of the FragBench Attack pipeline — reinforcement-learning
system prompts used by the attack rewriter, judge-rubric configurations and elicitation
scaffolds, and high-yield variant traces selected by the RL loop — are released separately
under request-access at the gated companion dataset:
anon-fragbench-neurips/fragbench-restricted

Supported Tasks

  • Cross-session jailbreak detection: classify whether a session graph
    reconstructs a malicious campaign
  • Multi-turn red-team evaluation: measure judge-pass rate of fragmented
    attacks on target LLMs
  • Compositional safety: study aggregation features over typed
    session-event graphs

Languages

English.

Dataset Structure

The public tier is organised into the following top-level folders:

fragbench/
├── data/                     # Parquet rollups (used by the HF dataset viewer)
│   ├── attack_meta.parquet           # one row per attack pipeline run (41 rows)
│   └── campaign_fragments.parquet    # one row per fragment (~45k rows)
├── malicious/                # Malicious campaign data (positive class)
│   ├── attacks/                       # Per-run malicious attack outputs (JSON)
│   │                                  # naming: attack_<timestamp>_<runhash>_seed_N_<campaign>_N.json
│   │                                  # plus one *_meta.json per run with run-level config
│   ├── campaign-fragments/            # Per-campaign malicious fragment definitions
│   │                                  # one <campaign>_manual.json per campaign (24 files)
│   └── sessions/                      # Per-campaign malicious session traces, one per campaign
│                                      # (24 campaigns, ~600 sessions each, 15,055 total)
├── benign/                   # Executed benign control traces (negative class)
│   ├── attacks/                       # 514 chains + 514 graphs + 146 *_meta.json
│   ├── campaign-fragments/            # one benign_<campaign>_manual.json (24 files)
│   └── sessions/                      # one subfolder per campaign
│                                      # (24 campaigns, 5,440 sessions total)
└── combined/                 # Flat rollups for easy ingestion
    ├── malicious.json                # all malicious fragments, single file (~155 MB)
    └── benign.json                   # all benign sessions, single file (~155 MB)

Recommended entry points

  • Quick exploration in the HF viewer → data/ (parquet)
  • Single-file consumption for training a detector → combined/malicious.json + combined/benign.json
  • Per-campaign analysis → malicious/campaign-fragments/<campaign>_manual.json
  • Reproducing attack runs → malicious/attacks/ together with attack_meta.parquet
  • Negative / benign baselines → combined/benign.json, or benign/ for the
    per-run, per-session and per-campaign files the rollup was built from

Fragment schema (key fields)

  • campaign_id, variation_id, style
  • fragments[]: ordered list of {prompt, expected_tool_calls, response}
  • attack_graph: typed event graph with edges of type
    data_flow / temporal / shared_resource / shared_session / argument_similarity
  • verdict: per-fragment LLM-judge label
    (ANSWERED / REFUSED / PARTIAL / UNCLEAR)

See the paper appendix for the full schema.

Dataset Creation

Source campaigns were transcribed from public cyber-incident reports. Each
seed was rewritten through a bootstrap → learned → creative loop using a
frontier LLM, with a single-token classifier-mode judge selecting variants
that increase pass rate while preserving the original objective.

Benign controls come from 24 benign campaign specifications authored by Claude
Opus 5, covering ordinary IT and office work. Seed definitions are expanded from
these specifications deterministically, with no model calls at expansion time,
then executed across six styles and nine random seeds in the same sandboxed MCP
harness as the malicious objectives.

Considerations for Using the Data

Intended uses

  • Academic research on LLM-agent safety, multi-turn red-teaming, and
    cross-session attack detection
  • Benchmarking detectors and guardrails on compositional jailbreaks

Out-of-scope / prohibited uses

  • Direct deployment as offensive tooling against production systems
  • Targeting individuals, organisations, or infrastructure without
    authorisation
  • Use that violates the attribution requirements of CC-BY-4.0

Risks and mitigations

  • Dual-use: prompts can elicit harmful outputs from underlying LLMs.
    The most sensitive RL system prompts are placed behind the gated tier.
  • Bias: campaigns over-represent LLM-confirmed incidents disclosed by
    frontier-API vendors; coverage of non-frontier attacker ecosystems is
    limited.
  • Sandbox-only: all execution traces in this dataset come from a
    sandboxed harness; no real third-party systems were targeted.

Licensing Information

This dataset is released under
CC-BY-4.0.
See LICENSE in this repository.

Citation

@inproceedings{fragbench2027,
  title  = {FragBench: A Benchmark for Detecting Fragmented Multi-Session
            Jailbreak Attacks on LLM Agents},
  author = {Anonymous},
  booktitle = {International Conference on Learning Representations (under review)},
  year   = {2027}
}

README history 18 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-09-26Update Dataset Card3241ea37 KB
    Loading...
  2. 2026-09-26Dataset card update54408be7 KB
    Loading...
  3. 2026-09-26Replace synthetic benign with executed MCP traces (514 chains) (part 12)6b6877714.8 KB
    Loading...
  4. 2026-09-26Replace synthetic benign with executed MCP traces (514 chains) (part 11)5745e6b14.8 KB
    Loading...
  5. 2026-09-26Replace synthetic benign with executed MCP traces (514 chains) (part 10)97db91f14.8 KB
    Loading...
  6. 2026-09-26Replace synthetic benign with executed MCP traces (514 chains) (part 9)6fd08e114.8 KB
    Loading...
  7. 2026-09-26Replace synthetic benign with executed MCP traces (514 chains) (part 8)b8e627f14.8 KB
    Loading...
  8. 2026-09-26Replace synthetic benign with executed MCP traces (514 chains) (part 7)32614f114.8 KB
    Loading...
  9. 2026-09-26Replace synthetic benign with executed MCP traces (514 chains) (part 6)295a50414.8 KB
    Loading...
  10. 2026-09-26Replace synthetic benign with executed MCP traces (514 chains) (part 5)edb3cde14.8 KB
    Loading...
  11. 2026-09-26Replace synthetic benign with executed MCP traces (514 chains) (part 4)7b7f2ca14.8 KB
    Loading...
  12. 2026-09-26Replace synthetic benign with executed MCP traces (514 chains) (part 3)93d4bac14.8 KB
    Loading...
  13. 2026-09-26Replace synthetic benign with executed MCP traces (514 chains) (part 2)631332914.8 KB
    Loading...
  14. 2026-09-26Replace synthetic benign with executed MCP traces (514 chains)d5dbdd214.8 KB
    Loading...
  15. 2026-09-26v2.0.0: benign controls are executed, not synthetic046a99e14.8 KB
    Loading...
  16. 2026-09-26Remove synthetic benign session chains65e09996.1 KB
    Loading...
  17. 2026-09-26Replace synthetic benign control with executed MCP traces (514 chains)c3b6c416.1 KB
    Loading...
  18. 2026-05-07Initial release8d354926.1 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-05-08[bot] Conversion to Parquetopen1 💬#1
    Loading...

Related datasets same stage · extract

Read further

Metadata

License
cc-by-4.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("LidaSafety/fragbench")
Raw snapshot (Python)
from huggingface_hub import snapshot_download
snapshot_download(repo_id="LidaSafety/fragbench", repo_type="dataset")
git clone (requires git-lfs)
git clone https://huggingface.co/datasets/LidaSafety/fragbench
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