Turkish Conversation Prompt-Injection Dataset
收藏数据集概述
名称: Turkish Conversation Prompt-Injection Dataset
语言: 土耳其语(tr)
许可证: Creative Commons Attribution 4.0 International(CC BY 4.0)
版本: 1.0.1
任务类别: 文本分类(text-classification)
数据规模: n<1K(共 750 个样本)
数据来源: 机器生成(machine-generated)
注释创建者: 其他(other)
数据集目的
该数据集用于研究在自然对话、安全敏感请求及智能体工作流中,检测提示注入(Prompt Injection)攻击。其独特之处在于采用“配对设计”:每个攻击样本都有一个主题和词汇相似的安全样本与之配对,旨在训练分类器理解意图和信任边界违规,而非简单地将“system prompt”、“API key”等安全相关词汇识别为攻击。
标签定义
- label = 1:输入试图让大语言模型或大语言模型驱动的智能体执行以下至少一项操作:覆盖更高优先级的指令、暴露隐藏指令或敏感上下文、绕过授权或审批要求、执行未授权的工具操作、遵循外部内容中嵌入的恶意指令、在记忆或检索上下文中持久化不安全指令。
- label = 0:输入未尝试跨越上述边界。安全样本仍可能提及安全、提示、密码、API 密钥、管理员访问或攻击术语。
数据组成
| 类别 | 标签 | 数量 | 说明 |
|---|---|---|---|
| benign_daily(日常安全) | 0 | 410 | 自然日常土耳其语对话 |
| benign_technical(技术安全) | 0 | 40 | 合法的技术支持请求 |
| benign_boundary(边界安全) | 0 | 150 | 与攻击配对的安全-邻近硬负例 |
| prompt_injection(提示注入攻击) | 1 | 150 | 直接注入、间接注入及面向智能体的攻击 |
| 总计 | 750 |
攻击家族(每个家族 15 个攻击示例)
| 家族名称 | 描述 |
|---|---|
| direct_instruction_override | 试图替换或超越可信指令 |
| system_prompt_extraction | 试图揭示隐藏提示、策略或规则文本 |
| roleplay_jailbreak | 使用虚构、角色扮演或人格设定突破限制 |
| authority_claim_bypass | 声称权限或紧急情况以跳过验证 |
| sensitive_data_exfiltration | 请求机密、凭证或私人记录 |
| tool_action_abuse | 试图触发未授权或破坏性的智能体操作 |
| indirect_content_injection | 在网络、电子邮件、文档或工具输出中嵌入恶意指令 |
| rag_context_poisoning | 检索内容试图成为可信指令 |
| memory_context_poisoning | 试图在后续交互中持久化不安全行为 |
| obfuscation_code_switching | 基于混淆、混合语言或格式的注入 |
数据划分
划分结果互不相交,配对的良性/攻击样本始终保留在同一划分中,以防止配对泄漏。
| 划分 | 良性 | 攻击 | 总计 |
|---|---|---|---|
| train(训练集) | 430 | 100 | 530 |
| validation(验证集) | 80 | 20 | 100 |
| test(测试集) | 90 | 30 | 120 |
| 总计 | 600 | 150 | 750 |
所有十个攻击家族在每个划分中均存在。构建过程是确定性的,使用记录在 metadata/stats.json 中的固定种子。
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
| id | string | 稳定的唯一示例标识符 |
| text | string | 土耳其语输入或不受信任的内容片段 |
| label | integer | 0(良性),1(提示注入/安全攻击) |
| category | string | 四个组成类别之一 |
| attack_family | string | 攻击分类值;安全行记为 none |
| source_context | string | 输入出现的上下文,如直接用户输入、电子邮件、RAG 文档或智能体工具请求 |
| pair_id | string/null | 将每个攻击与其配对的良性示例关联 |
| source_type | string | 每一行均为 synthetic_curated |
| split | string | train、validation 或 test |
数据创建与质量
- 创建方式:所有示例均为合成数据,不包含生产日志、私人对话、客户记录或抓取的个人数据。分三阶段构建:1)450 行土耳其语安全对话种子经逐行审核;2)定义十个攻击家族,每个家族手写 15 个攻击及 15 个配对的边界安全样本;3)确定性构建脚本生成互斥划分,验证脚本检查模式、重复文本、配对完整性、划分泄漏、家族平衡及常见敏感数据模式。
- 质量控制:750 个唯一 ID 和唯一规范化文本;无行出现在多个划分中;每个
pair_id恰好包含一个良性行和一个攻击行;每对行均在同一划分中;每个攻击家族恰好 15 个示例;发布行中无类似真实的电子邮件地址、土耳其 IBAN、电话号码或长账户号码;确定性 SHA-256 校验和;可通过脚本ruby scripts/validate_dataset.rb重现验证。
使用场景
- 推荐用途:土耳其语提示注入检测研究、LLM 安全分类器的硬负例训练、直接与间接注入分类实验、土耳其语 LLM 应用的红队回归套件、普通及安全邻近土耳其语请求的误报分析。建议报告指标包括攻击召回率、精确率、平衡准确率及在
benign_boundary上的误报行为。 - 不适用场景:不应视为生产认证基准、现实世界攻击流行率的代表性估计、模型对未见攻击安全的证明、针对任何命名模型或供应商的成功攻击数据集、或授权、工具级访问控制及输出处理的替代方案。
局限性
- 数据集为合成数据,可能保留风格上的规律性。
- 仅面向土耳其语,不衡量多语言泛化能力。
- 间接注入示例为文本表示,并非完整网页、图像或文件。
- 150 个攻击示例覆盖广度而非全面变化。
- 攻击有效性未针对特定商业模型测试。
- 部分标签取决于假定的信任边界;使用者应保留
source_context字段。
加载方式
python from datasets import load_dataset
dataset = load_dataset("3nesdeniz/turkish-conversation-prompt-injection") print(dataset)
数据集使用正常的 train、validation 和 test 划分,无重叠的便捷划分。
作者与发布信息
- 作者: Enes Deniz
- 发布者: Enes Deniz
- 隶属机构: AltaySec
- ORCID: 0009-0006-9491-3565
- 网站: https://altaysec.com.tr/enes-deniz.html
- GitHub: https://github.com/3nesdeniz
- LinkedIn: https://linkedin.com/in/3nesdeniz
引用
bibtex @misc{deniz2026turkish_conversation_prompt_injection, title = {Turkish Conversation Prompt-Injection Dataset}, author = {Deniz, Enes}, year = {2026}, version = {1.0.1}, publisher = {Enes Deniz}, orcid = {0009-0006-9491-3565}, note = {Affiliation: AltaySec}, url = {https://huggingface.co/datasets/3nesdeniz/turkish-conversation-prompt-injection}, license = {CC BY 4.0} }
相关链接
- Hugging Face 数据集页面: https://huggingface.co/datasets/3nesdeniz/turkish-conversation-prompt-injection
- 交互式数据集探索器: https://huggingface.co/spaces/3nesdeniz/turkish-prompt-injection-explorer
- LLM 安全测试平台: https://github.com/3nesdeniz/llm-security-testbench
- 技术笔记(土耳其语): https://medium.com/p/56801b23aa3f




