misc 0 0 0

joshuapenman/semantic-overlays-injection

published by @joshuapenman

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
433
Last 30 days
66
Likes
-
Size
181.0 MB
Created on HF
2026-08-24
Age
1 months ago

Description

Semantic Overlays — injection training corpus

The training corpus for the "do-not-execute" overlay of Semantic

Overlays: Mitigating Prompt Injection with Annotations Beyond Tokens

and Steering Vectors (arXiv:2608.23873),

released for both base models used in the paper.

paper

arXiv:2608.23873

code

semantic-overlays

trained adapters

semantic-overlays-adapters

interactive demo

semantic-overlays.vercel.app

The companion code tokenizes these files into… See the full description on the dataset page: https://huggingface.co/datasets/joshuapenman/semantic-overlays-injection.

Tags

task_categories:text-generationlanguage:enlicense:cc-by-sa-4.0size_categories:n<1Kformat:jsonmodality:textlibrary:datasetslibrary:pandaslibrary:polarslibrary:mlcroissantarxiv:2608.23873region:usprompt-injectionsecurityadversarial

README current version from Hugging Face


license: cc-by-sa-4.0
language:

  • en
    task_categories:
  • text-generation
    tags:
  • prompt-injection
  • security
  • adversarial
    pretty_name: Semantic Overlays injection corpus

Semantic Overlays — injection training corpus

The training corpus for the "do-not-execute" overlay of Semantic
Overlays: Mitigating Prompt Injection with Annotations Beyond Tokens
and Steering Vectors
(arXiv:2608.23873),
released for both base models used in the paper.

paper arXiv:2608.23873
code semantic-overlays
trained adapters semantic-overlays-adapters
interactive demo semantic-overlays.vercel.app

The companion code tokenizes these files into training batches and
re-derives every per-model artifact here from scratch.

The corpus is assembled from pre-existing datasets with no per-item
synthetic data. A unit is a SQuAD retrieval passage, a self-contained
instruction (the payload, from TriviaQA questions or a programmatic
bank of format/language/behavior hijacks), a frame that splices the
payload into the passage (56 templates in twelve styles), and a splice
position. Each unit yields an injected item and a benign item that
share one target: the frozen base model's own greedy completion on the
clean passage.

Layout

shared/
  frames.json               the 56 frame templates, by style
  raw/train-v2.0.json       SQuAD v2 (passage source)
  raw/triviaqa_payloads.jsonl  TriviaQA-derived payloads with witness aliases
qwen3.5-9b/                 corpus as derived against Qwen3.5-9B
llama-3.1-8b-instruct/      corpus as re-derived against Llama-3.1-8B-Instruct

Per model directory:

file contents
items.jsonl composed injected/benign item pairs (the trained corpus)
items_rejected.jsonl items rejected by target validity conditions, with reasons
gate_items.jsonl, validator_items.jsonl fixed families: access-code gates, checkable-fact validators
fidelity_items.jsonl verbatim-copy family (readability half of the contract)
unit_plan.jsonl the passage × payload × frame × position plan behind items.jsonl
payload_screening.jsonl per-payload standalone answers from the frozen model
payloads_screened.json payloads kept after screening (231 of 494 Qwen; 263 Llama)
frame_ranking.jsonl per-frame standalone injection rates against the frozen model
frame_ranking_metrics.json aggregated ranking used to set style sampling shares

The fixed families are sized differently per model, and the difference is
real rather than an error: Qwen3.5-9B uses gate 4,800 / validator 6,000 /
fidelity 1,920, Llama-3.1-8B-Instruct uses 1,200 / 1,500 / 480. Each matches
what that model's released adapter was actually trained on. Reproducing the Qwen
gate family requires --unique on the generator: without it, asking for 4,800
items yields only ~4,166 distinct (span, target) pairs, and the 13.2% duplicates
are not extra signal.

Two derivation steps are measured against the base model and must be
re-run for any new one: payload screening (a quarter of the two kept
sets are disjoint) and frame ranking (rank correlation 0.49 between the
two models). The paper's corpus-construction appendix documents both.

Licenses and attribution

Released under CC BY-SA 4.0. Passages derive from
SQuAD v2 (CC BY-SA 4.0 —
the share-alike term is why this dataset is BY-SA); trivia payloads
derive from TriviaQA
(Apache 2.0). Frame templates and all derivation records are original
to this work.

Intended use: research on prompt-injection defenses and
instruction/data separation. The injected payloads are benign probes by
construction; nothing in the corpus contains real credentials, URLs to
live phishing infrastructure, or targeted content.

README history 9 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-08-28Add the short-span family the reported Qwen adapter trains on1bd13284 KB
    Loading...
  2. 2026-08-28Add the short-span family the reported Qwen adapter trains on96173ff4 KB
    Loading...
  3. 2026-08-27Document per-model fixed-family sizes and the --unique requirement65c5c2f4 KB
    Loading...
  4. 2026-08-27Correct Qwen fixed families to what the released adapter trained on (gate 480...67139903.5 KB
    Loading...
  5. 2026-08-27Correct Qwen fixed families to what the released adapter trained on (gate 480...f0375a63.5 KB
    Loading...
  6. 2026-08-27Correct Qwen fixed families to what the released adapter trained on (gate 480...623b5fb3.5 KB
    Loading...
  7. 2026-08-26Link the arXiv paper and sibling releases028ef8b3.5 KB
    Loading...
  8. 2026-08-24Injection corpus + per-model derivations (Qwen3.5-9B, Llama-3.1-8B-Instruct)9fafc073.2 KB
    Loading...
  9. 2026-08-24initial commit222e4620 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-08-25[bot] Conversion to Parquetopen1 💬#1
    Loading...

Related datasets same stage · misc

Read further

Metadata

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