datasets: add 300 Turkish prompt-injection test cases - #11
Merged
emmanuelgjr merged 2 commits intoJul 18, 2026
Merged
Conversation
Signed-off-by: Enes Deniz <142517728+3nesdeniz@users.noreply.github.com>
3nesdeniz
force-pushed
the
agent/add-altaysec-turkish-injection-corpus
branch
from
July 15, 2026 21:31
c778f7a to
83f29dd
Compare
3nesdeniz
marked this pull request as ready for review
July 15, 2026 21:32
Signed-off-by: Enes Deniz <142517728+3nesdeniz@users.noreply.github.com>
emmanuelgjr
approved these changes
Jul 18, 2026
emmanuelgjr
enabled auto-merge
July 18, 2026 04:36
emmanuelgjr
disabled auto-merge
July 18, 2026 04:37
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a Turkish-first corpus of 300 defensive prompt-injection and data-extraction test cases, adapted from the public AltaySec Turkish LLM Prompt Injection Dataset v0.2.
TC-0001throughTC-0300)The cases cover the source corpus's 12 balanced technique families, including Turkish morphology, code switching, cultural persuasion, indirect injection, encoding/Unicode obfuscation, confirmation oracles, and PII/credential extraction.
Why
The repository already has a small Turkish contribution through AltayDuel. This PR expands the same genuine cross-lingual gap with a larger corpus that is reviewable at record level and filterable by protected asset, attack path, scope, language, severity, and provenance.
The repository currently has two format precedents: the written contribution contract requires one entry per file and the existing prompt-injection JSON uses an aggregate wrapper. This contribution follows the stricter written contract and
data_validation/schemas/promptinj_testcase.schema.json, using a nestedcases/directory to keep the dataset root navigable.DSGAI mapping
Primary mappings:
Secondary mappings preserve relevant protected data and attack paths: DSGAI01 for sensitive-data leakage, DSGAI06 for indirect tool exchange, DSGAI09 for multimodal/OCR handling, DSGAI10 for synthetic-data pitfalls, and DSGAI21 for integrity manipulation.
Provenance and license
08d1fdccf10a831c2f32627c615002e6286f6315data/train.jsonlSHA-256:7655b67c958b4dde1d77026c392f3ffad39d59d39109afb3c48b78a60590ab9fThe original source material remains licensed under CC BY 4.0. Enes Deniz / AltaySec licenses the new annotations, DSGAI mappings, anonymization changes, and collection arrangement in this contribution under CC BY-SA 4.0. This does not replace the source license or imply endorsement. The README and every record retain source attribution, copyright, license URLs, revision, record ID, and source prompt hash.
Lineage is deliberately conservative: 120 v0.1 records are marked
public_generator; 180 v0.2 records are markedpinned_snapshot_only. No generator-level reproducibility claim is made for the latter.Safety and data quality
TC-0100remains English-primary and carries bothenandtrtagsscope=prompt_injection_controlso extraction benchmarks can filter them.examplenames and require no third-party network targetKVKKis retained only as the public name of Türkiye's data-protection law/regime, not as an organization, person, or private identifierValidation
>= 0.86(maximum0.503)git diff --check: cleanThe current
run_all_checks.pyentry point only reports that validators are not yet implemented. Its zero exit status is therefore not presented as validation evidence; schema, integrity, provenance, mapping, anonymization, and duplicate checks were executed independently.Checklist