extract 0 0 0

gcjordi/CiberIA-PromptRisk-v1

published by @gcjordi

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
223
Last 30 days
92
Likes
1
Size
262 KB
Created on HF
2026-09-02
Age
1 months ago

Description

CiberIA PromptRisk v1

CiberIA PromptRisk v1 is a balanced multilingual dataset for researching binary detection of potentially adversarial instructions targeting LLMs and AI agents.

3,072 records

Catalan, Spanish and English

1,024 records per language

512 BENIGN + 512 ATTACK records per language

8 attack families

8 benign families, including hard negatives

Pattern-grouped train/validation/test splits

This is a CiberIA Open Research artifact. It is intentionally separate from… See the full description on the dataset page: https://huggingface.co/datasets/gcjordi/CiberIA-PromptRisk-v1.

Tags

task_categories:text-classificationlanguage:calanguage:eslanguage:enlicense:cc-by-4.0size_categories:1K<n<10Kformat:parquetmodality:tabularmodality:textlibrary:datasetslibrary:pandaslibrary:polarslibrary:mlcroissantdoi:10.57967/hf/10267region:usai-securityprompt-injectionjailbreakagentic-securitymultilingualsyntheticciberia

README current version from Hugging Face


pretty_name: CiberIA PromptRisk v1
license: cc-by-4.0
language:

  • ca
  • es
  • en
    task_categories:
  • text-classification
    tags:
  • ai-security
  • prompt-injection
  • jailbreak
  • agentic-security
  • multilingual
  • synthetic
  • ciberia
    size_categories:
  • 1K<n<10K
    configs:
  • config_name: default
    data_files:
    • split: train
      path: data/train-*.parquet
    • split: validation
      path: data/validation-*.parquet
    • split: test
      path: data/test-*.parquet

CiberIA PromptRisk v1

CiberIA PromptRisk v1 is a balanced multilingual dataset for researching binary detection of potentially adversarial instructions targeting LLMs and AI agents.

  • 3,072 records
  • Catalan, Spanish and English
  • 1,024 records per language
  • 512 BENIGN + 512 ATTACK records per language
  • 8 attack families
  • 8 benign families, including hard negatives
  • Pattern-grouped train/validation/test splits

This is a CiberIA Open Research artifact. It is intentionally separate from proprietary CiberIA assessment protocols and does not contain AIsecTest, CRS, ECP, private scoring rules or internal evaluation prompts.

Dataset structure

Split Records BENIGN ATTACK Share
train 2,448 1,224 1,224 79.69%
validation 312 156 156 10.16%
test 312 156 156 10.16%
Total 3,072 1,536 1,536 100%

Each language contains exactly the same number of records and the same class/family distribution.

Labels

label class_name Meaning
0 BENIGN Legitimate or defensive instruction
1 ATTACK Potentially adversarial or manipulative instruction

The first model trained from this dataset is intentionally binary. Rich taxonomy fields remain available for analysis and later multi-class or multi-label versions.

Attack families

Each family contains 192 records in total: 64 Catalan, 64 Spanish and 64 English.

attack_family Scope
direct_prompt_injection Direct attempts to replace or override prior instructions
indirect_prompt_injection Malicious instructions embedded in external or retrieved content
jailbreak Attempts to disable safeguards through personas, simulation or framing
secret_exfiltration Attempts to expose system prompts, credentials or private context
tool_abuse Attempts to trigger tools or irreversible actions without authorization
authority_manipulation Unverified claims of rank, urgency or delegated authority
context_poisoning Attempts to corrupt persistent memory, summaries or trusted context
obfuscation Base64, homoglyph, spacing, fragmentation, typos, language mixing, markup, reversal, hidden comments and zero-width characters

Benign families and hard negatives

Each benign family also contains 192 records. Four families are marked as hard_negative=true, for a total of 768 hard negatives:

benign_family Hard negative Scope
security_education yes Defensive explanations that quote attack-like language
translation_task yes Translation and linguistic work on quoted adversarial strings
quotation_analysis yes Academic or corpus analysis without executing quoted instructions
defensive_configuration yes Policies, tests and controls designed to block attacks
incident_response no Incident summaries, containment and evidence preservation
software_development no Legitimate code and testing tasks using security vocabulary
ordinary_assistant no Standard, low-risk assistant tasks
authorized_administration no Scoped, reversible and explicitly approved administrative planning

Hard negatives reduce dependence on simple keywords. For example, a defensive request discussing “ignore previous instructions” remains BENIGN.

Split methodology and leakage control

The dataset uses two linked grouping fields:

  • scenario_group binds the Catalan, Spanish and English versions of the same scenario.
  • pattern_group binds every context generated from the same underlying instruction template.

Splits are assigned at pattern_group level. Therefore:

  1. no translation pair crosses splits;
  2. no scenario crosses splits;
  3. no underlying template pattern crosses splits.

There are 160 pattern groups and 1,024 scenario/translation groups. For every attack or benign family, eight template patterns are assigned to train, one to validation and one to test. Context balancing produces 51/6/7 or 51/7/6 examples per language and family, alternating validation and test sizes.

This is stricter than a random row split, but it is still an in-domain synthetic evaluation. External adversarial testing remains necessary.

Record schema

Field Type Description
id string Stable record ID, e.g. CPR-CA-0001
scenario_group string Translation-linked scenario group
pattern_group string Split-isolated template-pattern group
template_id string Deterministic source template ID
split string train, validation or test
language string ca, es or en
text string Classifier input
label int 0 BENIGN, 1 ATTACK
class_name string Human-readable class
category string Attack or benign family
attack_family string/null Rich attack taxonomy for ATTACK rows
benign_family string/null Benign taxonomy for BENIGN rows
risk_level string none, high or critical
obfuscated bool Whether obfuscation is the primary attack family
obfuscation_type string Obfuscation mechanism or none
agentic bool Whether the scenario involves an agent/tool context
scenario string Operational context, such as email_agent
hard_negative bool Benign example containing attack-like language/context
source string synthetic in v1
version string Dataset version
char_count int Unicode character count
text_sha256 string SHA-256 integrity hash of text

Usage

from datasets import load_dataset

dataset = load_dataset("gcjordi/CiberIA-PromptRisk-v1")
print(dataset)
print(dataset["train"][0])

For binary training, use text as input and label as target. Do not recompute random splits: the provided splits preserve multilingual and pattern isolation.

Creation and validation

The corpus was produced through a controlled construction workflow using multilingual patterns and scenario slots. Automated validation of the published data checks:

  • exact row, class, language, family and split counts;
  • required fields and enum values;
  • ID and normalized-text uniqueness;
  • translation-group completeness;
  • scenario, template and pattern split isolation;
  • SHA-256 text integrity;
  • integrity of the published Parquet files.

The initial public v1 release did not include its original authoring/generation package. The reproducibility/ addendum documents this limitation explicitly and provides auditable validation of the published Parquet shards, their hashes and a transparent TF-IDF baseline. It does not claim retrospective byte-for-byte regeneration of the original construction workflow. See AUTHORSHIP_AND_AI_USE.md and PROVENANCE.md.

PromptRisk v1 is a synthetic, human-directed, AI-assisted research dataset. It must not be interpreted as a wholly human-authored corpus, and v1 does not assert a 100% human-only subset.

Intended uses

  • Research and teaching about prompt-risk classification
  • Reproducible multilingual classifier experiments
  • Pre-screening or triage as one signal in defense-in-depth systems
  • Analysis of false positives on defensive/hard-negative content
  • Starting point for externally curated or production-specific extensions

Out-of-scope uses

  • Treating BENIGN as proof that an input is safe
  • Using the dataset or derived model as the sole authorization boundary
  • Claiming coverage of all attack techniques, languages or deployment contexts
  • Evaluating unrelated harms or factual correctness
  • Deploying without external red-team data and organization-specific calibration

Limitations

  • v1 is synthetic and deliberately compact.
  • Only Catalan, Spanish and English are represented.
  • Texts are short single-input samples, not full conversations or multimodal artifacts.
  • Operational environments, tool schemas and secret formats are fictional.
  • Some stylistic patterns may be easier to classify than real attacks.
  • Test metrics from this corpus measure in-domain generalization, not production security effectiveness.
  • Independent native-speaker and adversarial review should precede high-stakes use.

Safety and privacy

No real credentials, private prompts, personal data or live targets are included. Reserved .invalid domains and fictitious commands are used in attack examples. Handle adversarial strings as untrusted data and do not feed them to tool-enabled systems without isolation.

License

The dataset is released under CC BY 4.0. Recommended attribution:

“CiberIA PromptRisk v1” by Jordi Garcia Castillon / CiberIA Open Research, licensed under CC BY 4.0.

Code and future model weights are licensed separately under Apache-2.0.

Citation

@dataset{garcia2026ciberiapromptrisk,
  title        = {CiberIA PromptRisk v1},
  author       = {Jordi Garcia Castillon},
  year         = {2026},
  publisher    = {Hugging Face},
  url          = {https://huggingface.co/datasets/gcjordi/CiberIA-PromptRisk-v1},
  version      = {1.0.0}
}

README history 5 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-05Add PromptRisk v1 reproducibility addendumd25fd209.5 KB
    Loading...
  2. 2026-09-02Update README.mdc6ada049 KB
    Loading...
  3. 2026-09-02Update README.md1ebce929 KB
    Loading...
  4. 2026-09-02Publish CiberIA PromptRisk v1.0.0212d8989 KB
    Loading...
  5. 2026-09-02initial commit90714210 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 · 4 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-10-04CiberIA PromptRisk v1 — reproducibility and corpus provenance evidenceclosed4 💬#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("gcjordi/CiberIA-PromptRisk-v1")
Raw snapshot (Python)
from huggingface_hub import snapshot_download
snapshot_download(repo_id="gcjordi/CiberIA-PromptRisk-v1", repo_type="dataset")
git clone (requires git-lfs)
git clone https://huggingface.co/datasets/gcjordi/CiberIA-PromptRisk-v1
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