fevziegeyurtsevenler/turkish-casefold-evasion
turkish-casefold-evasion from datasets import load_dataset ds = load_dataset("fevziegeyurtsevenler/turkish-casefold-evasion") "İGNORE".lower() is not "ignore". Python's str.lower() maps the Turkish dotted capital İ (U+0130) to i + a combining dot (U+0307), so prompt-injection filters that do text.lower() + substring matching silently miss Turkish-cased and Unicode-confusable triggers. This dataset pairs common injection trigger phrases with Turkish case-fold / confusable… See the full description on the dataset page: https://huggingface.co/datasets/fevziegeyurtsevenler/turkish-casefold-evasion.
turkish-casefold-evasion
from datasets import load_dataset
ds = load_dataset("fevziegeyurtsevenler/turkish-casefold-evasion")`"İGNORE".lower()` is not `"ignore"`. Python's str.lower() maps the Turkish dotted capital İ (U+0130) to i + a combining dot (U+0307), so prompt-injection filters that do text.lower() + substring matching silently miss Turkish-cased and Unicode-confusable triggers.
This dataset pairs common injection trigger phrases with Turkish case-fold / confusable evasions and records whether each bypassed a naive lower()+substring filter and whether the one-line NFKC-normalize fix caught it.
Finding
Targets naive keyword/regex filters; ML guards are more robust (see the companion study).
Fields
trigger, evasion, evaded_text, original_caught_by_naive, evaded_caught_by_naive, evaded_caught_by_hardened, bypassed_naive_filter.
Code + the one-line fix
👉 [github.com/fevziegeyurtsevenler/turkish-casefold-evasion](https://github.com/fevziegeyurtsevenler/turkish-casefold-evasion)
Related
🏁 guardrail-arena · 🕵️ uncloak · 🌐 AltaySec
Apache-2.0 · by [AltaySec](https://altaysec.com.tr).
