extract 0 0 0

issdandavis/prompt-injection-bit-signatures

published by @issdandavis

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
1.3K
Last 30 days
97
Likes
2
Size
46.4 MB
Created on HF
2026-04-13
Age
6 months ago

Description

Status: experimental. Experiment-specific slice. Primary public dataset: scbe-aethermoore-training-data.

Prompt Injection → Bit Signatures

24,254 labeled prompts from 4 public prompt-injection datasets, each mapped through the Six Sacred Tongues bijective tokenizer from the SCBE-AETHERMOORE framework into a lossless per-prompt bit signature.

Stratified 70/15/15 train/val/test split by (source, label) so every source is represented in every split with its original label… See the full description on the dataset page: https://huggingface.co/datasets/issdandavis/prompt-injection-bit-signatures.

Tags

task_categories:text-classificationlanguage:enlicense:apache-2.0size_categories:10K<n<100Kformat:jsonmodality:textlibrary:datasetslibrary:pandaslibrary:polarslibrary:mlcroissantregion:usai-safetyprompt-injectionjailbreakllm-securityadversarialscbesacred-tonguesbijective-tokenizationexperimental

README current version from Hugging Face


license: apache-2.0
task_categories:

  • text-classification
    language:
  • en
    tags:
  • ai-safety
  • prompt-injection
  • jailbreak
  • llm-security
  • adversarial
  • scbe
  • sacred-tongues
  • bijective-tokenization
  • experimental
    size_categories:
  • 10K<n<100K
    configs:
  • config_name: default
    data_files:
    • split: train
      path: train.jsonl
    • split: validation
      path: validation.jsonl
    • split: test
      path: test.jsonl

Status: experimental. Experiment-specific slice. Primary public dataset: scbe-aethermoore-training-data.

Prompt Injection → Bit Signatures

24,254 labeled prompts from 4 public prompt-injection datasets, each mapped through the Six Sacred Tongues bijective tokenizer from the SCBE-AETHERMOORE framework into a lossless per-prompt bit signature.

Stratified 70/15/15 train/val/test split by (source, label) so every source is represented in every split with its original label distribution.

Quick load

from datasets import load_dataset
ds = load_dataset("issdandavis/prompt-injection-bit-signatures")
print(ds)
# DatasetDict({
#   train: Dataset({ num_rows: 16976 ... })
#   validation: Dataset({ num_rows: 3634 ... })
#   test: Dataset({ num_rows: 3644 ... })
# })

Schema

Field Type Description
id string <source>:<upstream_split>:<row_idx>
source string Upstream dataset name
split string Upstream split (train/validation/test)
text string Original prompt, truncated to 2048 bytes
label string malicious, benign, or jailbreak
category string? Fine-grained upstream label if available
byte_len int UTF-8 byte length
bit_signature object Lossless statistical summary — see below

bit_signature

Field Description
hex_sha256 SHA-256 of the UTF-8 bytes — uniqueness fingerprint
bit_histogram 16-element list: zero/one counts across 8 bit positions
byte_entropy Shannon entropy over the byte distribution
token_parity Per-tongue even/odd byte counts (6 × 2 = 12 values)
phi_weight_sum Sum of φ^i × count(bytes where b mod 6 == i), i ∈ 0..5

Source breakdown

Source Total rows License
reshabhs/SPML_Chatbot_Prompt_Injection 16,012 MIT
neuralchemy/Prompt-injection-dataset 6,274 Apache-2.0
jackhhao/jailbreak-classification 1,306 Apache-2.0
deepset/prompt-injections 662 Apache-2.0
Total 24,254 —

Label breakdown (full dataset)

  • malicious: 16,541
  • benign: 7,047
  • jailbreak: 666

All four upstream datasets were harmonized: their label columns (ints, bools, or strings) were normalized to the three classes above. SPML and neuralchemy use integer 0/1; jackhhao uses strings like "jailbreak"/"benign"; deepset uses binary 0/1.

Baseline results

A gradient boosting classifier (scikit-learn, depth=4, n_estimators=120) trained on 31 features derived only from bit_signature — no text understanding, no embeddings, no language model.

Features: byte_len, byte_entropy, phi_weight_sum / byte_len, 16 normalized bit histogram counts, 12 normalized per-tongue parity counts.

Model AUC Accuracy
Gradient Boosting 0.9201 0.8522
Logistic Regression 0.8765 0.7967

Per-source within-distribution AUC

Source AUC Test n
neuralchemy 0.9843 1,296
reshabhs/SPML 0.8853 3,172
jackhhao 0.8498 263
deepset 0.8068 120

Leave-one-source-out (cross-distribution)

Holdout AUC
neuralchemy 0.8755
jackhhao 0.7535
deepset 0.6908
SPML 0.6830

Within-distribution performance is strong (85–98% AUC); cross-distribution drops to 68–88% AUC. That's expected — the bit signature captures both universal attack patterns AND dataset-specific statistical fingerprints. Train on a mix of sources for best generalization.

31 features. No neural net. 92% AUC. That's the bar a bijective tokenizer sets.

Why a bijective tokenizer

The Six Sacred Tongues tokenizer is bijective: every UTF-8 byte (0–255) maps to exactly one token per tongue, and back, with zero loss. That's rare — BPE, WordPiece, and SentencePiece are not bijective. Building on a bijective layer means:

  1. Lossless feature extraction — the bit signature summarizes the bytes, but the full byte stream is recoverable from the token streams
  2. Auditability — every detection decision traces back to literal bytes
  3. No language understanding required — the detector learns on pure bit-level statistics

See the 500-row sample file (injection_bit_signatures_sample.jsonl) for the full 6-tongue token streams alongside each signature.

Reproduce

# Pipeline
git clone https://github.com/issdandavis/scbe-experiments
cd scbe-experiments
pip install datasets scikit-learn
python injection_to_bits.py --source all --out bits.jsonl

# Classifier
python train_injection_classifier.py

Tokenizer implementation: github.com/issdandavis/six-tongues-geoseal

Files

File Description
train.jsonl 16,976 rows (70%)
validation.jsonl 3,634 rows (15%)
test.jsonl 3,644 rows (15%)
injection_bit_signatures_sample.jsonl 500-row sample with full 6-tongue token streams
dataset_manifest.json Machine-readable metadata + baseline results
README.md This file

Related

License

Apache-2.0. Upstream datasets retain their own (all Apache-2.0 or MIT).

Citation

@misc{davis2026injectionbits,
  author = {Davis, Issac},
  title = {Prompt Injection Bit Signatures via Six Sacred Tongues Bijective Tokenization},
  year = {2026},
  howpublished = {\url{https://huggingface.co/datasets/issdandavis/prompt-injection-bit-signatures}},
}

README history 11 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-07-29docs: mark experimentalad8dec86.7 KB
    Loading...
  2. 2026-04-13feat: dataset_manifest.json9ff536a6.4 KB
    Loading...
  3. 2026-04-13feat: test.jsonl47106cf6.4 KB
    Loading...
  4. 2026-04-13feat: validation.jsonld2976e66.4 KB
    Loading...
  5. 2026-04-13feat: train.jsonl80344586.4 KB
    Loading...
  6. 2026-04-13docs: stratified splits + manifest + full baseline results65c811f6.4 KB
    Loading...
  7. 2026-04-13chore: remove monolithic file, replaced by train/val/test splitse2ff26e5.6 KB
    Loading...
  8. 2026-04-13feat: 500-row sample with full 6-tongue token streams for pedagogy39146105.6 KB
    Loading...
  9. 2026-04-13feat: 24,254 bit signatures from 4 public prompt-injection datasets70f7e055.6 KB
    Loading...
  10. 2026-04-13docs: dataset card with baseline AUC resultsadd91125.6 KB
    Loading...
  11. 2026-04-13initial commita60e7ed0 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.

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("issdandavis/prompt-injection-bit-signatures")
Raw snapshot (Python)
from huggingface_hub import snapshot_download
snapshot_download(repo_id="issdandavis/prompt-injection-bit-signatures", repo_type="dataset")
git clone (requires git-lfs)
git clone https://huggingface.co/datasets/issdandavis/prompt-injection-bit-signatures
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