[DRAFT] FEAT Add Turkish Conversation Prompt-Injection dataset loader#2173
[DRAFT] FEAT Add Turkish Conversation Prompt-Injection dataset loader#21733nesdeniz wants to merge 6 commits into
Conversation
|
@microsoft-github-policy-service agree |
|
|
||
| class _TurkishConversationPromptInjectionDataset(_RemoteDatasetLoader): | ||
| """ | ||
| Load the Turkish Conversation Prompt-Injection Dataset from Hugging Face. |
There was a problem hiding this comment.
Is there a paper associated with this? How were they collected or curated? Do they actually work on some model?
There was a problem hiding this comment.
Thanks for the questions. There is no associated paper or preprint. The citation refers to the versioned dataset release itself.
The dataset is entirely synthetic and was curated by one author. Ten attack families were defined, with 15 attempted-injection inputs per family. Each attack input has a matched legitimate request that stays close in topic, context, and vocabulary but does not cross the assumed trust boundary. Those 150 boundary pairs were combined with 450 additional legitimate requests, producing 600 benign inputs and 150 attempted injections. The release does not claim independent annotators or an inter-annotator agreement score.
One correction to my earlier wording: this release was not validated as a successful-attack set against AltayDuel or any named model. Rows contain inputs only and label=1 means attempted injection, not a verified bypass. The intended use is input-classification, attack-family coverage, and false-positive / over-refusal evaluation. Model-response and attack-success benchmarking are outside this dataset release.
The repository includes deterministic pair-preserving splits and validation for exact schema and counts, duplicate normalized text, ID and pair integrity, split leakage, attack-family balance, and common sensitive-data patterns.
There was a problem hiding this comment.
Understood. I'll examine it in more detail after our next release is out. That may take at least the next week. Thanks for your patience.
There was a problem hiding this comment.
Hi @romanlutz — congratulations on the v1.0.0 release. I have now synchronized this draft with current main and tightened the contribution before asking you to revisit feature fit.
I also corrected my earlier reply above: the dataset contains input examples only; label=1 denotes an attempted injection, not a successful bypass against AltayDuel or any named model.
The current head now:
- pins the immutable v1.0.2 Hugging Face revision and versioned DOI;
- documents the synthetic, single-author curation and lack of independent annotation;
- validates the complete pinned release contract, including exact counts and identifiers, family balance, normalized-text uniqueness, and complete pairs;
- uses
syntheticrather thanmultilingual; and - passes 37 focused tests, 14,669 full unit tests (5 skipped), targeted pre-commit, Jupytext pairing, and a live 750-row
cache=Falsesmoke test.
The five fork-origin GitHub workflows currently show action_required with no jobs created, so they are waiting for maintainer approval rather than reporting test failures.
When you have a chance, could you revisit the feature-fit review and approve the workflow runs? If you would prefer a narrower loader surface or any other changes, I will address them. Thanks again.
…sation-prompt-injection-dataset # Conflicts: # doc/bibliography.md
…sation-prompt-injection-dataset
Refresh v1.0.2 provenance and validate the pinned release contract.
Description
Closes #2171.
This PR adds a first-class PyRIT loader for the public Turkish Conversation Prompt-Injection Dataset (CC BY 4.0). The pinned v1.0.2 release contains 750 synthetic, curated Turkish inputs: 600 legitimate requests and 150 prompt-injection attempts across 10 attack families. It includes 150 benign boundary cases paired one-to-one with related attack inputs, supporting both attack-detection and false-positive / over-refusal evaluation.
The loader:
29d7593984f563c4ad56876aa800b9ffd948a2fb;10.5281/zenodo.21379389and exact Hugging Face revision in row-level provenance;pair_id;The dataset is monolingual Turkish and entirely synthetic. It was curated by one author and does not claim independent annotation or inter-annotator agreement. Rows contain inputs only:
label=1denotes an attempted injection, not a verified bypass against any model or vendor. No model-response or attack-success benchmark is included.The loader is registered with
SeedDatasetProvider, documented in the dataset-loading guide, and linked to a versioned bibliography entry. Attack examples contain adversarial instructions and should only be used in controlled, authorized security testing.Validation on the current head
37 passedmain:14,669 passed, 5 skipped.py/.ipynbpair: cleancache=False:750total rows,150attacks,600benign rows,10families x15,150complete pairs,0invalid pairsmain:git diff --checkpassedThe dataset notebook page builds successfully. The repository-wide strict docs command currently stops later on a pre-existing broken Wikipedia URL in
doc/code/executor/8_modality_feedback.ipynb, which is unchanged by this PR and present on the base branch.AI assistance disclosure
OpenAI Codex assisted with implementation drafting, synchronization, and test planning. I reviewed the resulting code and documentation, validated them against the live dataset, and ran every check listed above.