遇见数据集

direct_prompt_injection_defense_data

收藏
Hugging Face2026-08-22 更新2026-08-23 收录
官方服务:

资源简介:

该数据集名为“直接提示注入防御数据集”(Direct Prompt Injection Defense Dataset),旨在用于微调语言模型,使其能够对直接提示注入攻击产生自然的防御能力,而无需依赖外部过滤器或护栏。数据集包含不超过1000个样本,每个样本教导模型同时执行两种行为:检测用户输入中的提示注入尝试,并做出正确响应——拒绝恶意请求,或在用户意图良性时安全回答,并在两种情况下调用`log_security_incident`工具记录事件。数据格式为JSONL,每条记录由`id`(格式dpi-XXXX)、`attack_category`(攻击模式的蛇形命名标签)和`messages`(恰好4条消息)组成。消息顺序为:用户消息(攻击尝试或包含攻击文本的良性输入)、助手消息(`content: null`,并包含调用`log_security_incident`的工具调用)、工具响应消息(内容为`{"status": "logged", "incident_id": "INC-XXXX"}`)、最终助手消息(拒绝或安全回答)。每条消息包含`content`、`images`、`role`、`thinking`、`tool_calls`等字段,工具消息还包含`tool_call_id`和`name`。工具调用参数包括`incident_type`(攻击类型)、`severity`(低/中/高)、`user_input_excerpt`(攻击文本摘录)和`action_taken`(rejected或answered_safely)。严重性和行动规则为:当严重性为中等或高且行动为拒绝时,用户意图为恶意攻击,最终消息拒绝并不执行任何注入指令;当严重性为低且行动为安全回答时,用户意图良性但输入包含类似攻击的文本(如引用的文章),最终消息回答真实问题并忽略嵌入指令,同时简要说明检测结果。数据来源包括合成数据和真实世界观察到的样本,语言为英语。

The dataset is named Direct Prompt Injection Defense Dataset, designed for fine-tuning language models to naturally defend against direct prompt injection attacks without relying on external filters or guardrails. It contains up to 1000 samples, each teaching the model to simultaneously perform two behaviors: detect prompt injection attempts in user input, and respond correctly—rejecting malicious requests or answering safely when the user intent is benign, and in both cases calling the `log_security_incident` tool to record the event. Data format is JSONL, with each record consisting of `id` (format dpi-XXXX), `attack_category` (snake_case label of the attack pattern), and `messages` (exactly 4 messages). The message order is: user message (attack attempt or benign input containing attack text), assistant message (`content: null` with a tool call to `log_security_incident`), tool response message (content `{"status": "logged", "incident_id": "INC-XXXX"}`), final assistant message (rejection or safe answer). Each message contains fields such as `content`, `images`, `role`, `thinking`, `tool_calls`, and tool messages also include `tool_call_id` and `name`. Tool call parameters include `incident_type` (attack type), `severity` (low/medium/high), `user_input_excerpt` (excerpt of attack text), and `action_taken` (rejected or answered_safely). Severity and action rules: when severity is medium or high and action is rejected, the user intent is malicious attack, final message rejects and does not execute any injected instructions; when severity is low and action is answered_safely, user intent is benign but input contains attack-like text (e.g., a quoted article), final message answers the real question and ignores the embedded instruction, with a brief explanation of detection results. Data sources include synthetic data and real-world observed samples, language is English.

创建时间:
2026-08-21
原始信息汇总

数据集概述

Direct Prompt Injection Defense Dataset 是一个面向大型语言模型(LLM)安全领域的英文数据集,主要用于通过微调使模型具备对直接提示注入攻击的自然防御能力,而无需依赖外部过滤器或防护栏。

数据集基本信息

  • 数据集名称:Direct Prompt Injection Defense Dataset
  • 语言:英语(en)
  • 数据规模:少于1,000条(n<1K)
  • 标签:提示注入(prompt-injection)、LLM安全(llm-security)、工具调用(tool-calling)、合成数据(synthetic)、真实世界数据(real-world)

核心目标

该数据集旨在教会模型同时完成两种行为:

  1. 检测用户输入中的提示注入攻击行为;
  2. 正确响应:对于恶意攻击进行拒绝,对于良性意图安全作答——且在这两种情况下均需调用 log_security_incident 工具记录安全事件。

数据来源与贡献方式

数据存储在 data/train.jsonl 文件中,每行一个对话示例。数据可以是合成的,也可以是在真实环境中观察到的攻击案例,两者遵循相同的结构。

记录字段结构

每条记录包含以下字段:

  • id:格式为 dpi-XXXX(按顺序编号)
  • attack_category:攻击模式的简短snake_case标签
  • messages:恰好包含4条消息,按以下顺序排列:
    1. user — 攻击尝试(或包含攻击性文本的良性输入)
    2. assistantcontentnull,包含调用 log_security_incidenttool_calls 条目
    3. tool — 工具响应:{"status": "logged", "incident_id": "INC-XXXX"}
    4. assistant — 给用户的最终消息(拒绝或安全回答)

每条消息使用字段:contentimagesrolethinkingtool_calls(工具消息还包含 tool_call_idname)。

工具调用参数

json { "incident_type": "snake_case攻击类型", "severity": "low | medium | high", "user_input_excerpt": "攻击文本的简短摘录", "action_taken": "rejected | answered_safely" }

严重级别与行为规则

  • rejected + medium/high:用户是故意攻击,最终消息进行拒绝,不遵循注入指令的任何部分。
  • answered_safely + low:用户意图是良性的,但输入中包含类似攻击的文本(如引用的文章),最终消息回答真实问题、忽略嵌入指令,并简要说明检测情况。
搜集汇总
数据集介绍
direct_prompt_injection_defense_data 数据集图片
构建方式
该数据集立足于大语言模型安全防御的前沿需求,采用合成数据与真实观测数据相融合的构建策略,在data/train.jsonl中以逐行对话形式存储样本实例。每条记录严格遵循四消息结构:用户发起的攻击性或含攻击性文本的输入、助手调用log_security_incident工具的请求、工具返回的日志确认响应,以及助手最终面向用户的拒绝或安全答复。贡献者可依据统一字段规范持续扩充样本,涵盖id、attack_category及完整消息序列,从而在保证数据格式一致性的同时,兼顾攻击模式的多样性与现实场景的覆盖度。
使用方法
使用该数据集时,研究者可将其直接加载为对话格式的微调语料,借助标准监督微调流程使模型习得对直接提示注入的辨识与处置能力。训练过程中,模型需学会在检测到注入企图时正确触发log_security_incident工具调用,并根据攻击严重程度选择拒绝回答或安全作答。评估阶段可依据工具调用的准确性、最终回复的合规性以及攻击类别覆盖度等维度进行综合衡量。该数据集亦适合作为安全对齐研究的基准资源,用于比较不同防御策略在工具调用场景下的有效性。
背景与挑战
背景概述
随着大语言模型在工具调用与自主决策场景中的广泛部署,直接提示注入攻击已成为威胁模型安全性的核心议题。该数据集由开源社区于2024年前后构建,旨在通过微调使模型内生地识别并抵御此类攻击,摆脱对外部过滤器或防护栏的依赖。其核心研究问题在于如何在单一对话流中同步实现攻击检测、工具调用记录与安全应答,从而将防御机制内化为模型行为。该数据集对LLM安全领域具有推动作用,为工具调用场景下的提示注入防御提供了可复用的监督信号与评估基准。
当前挑战
该数据集所应对的领域问题在于直接提示注入攻击的隐蔽性与多样性,攻击者可将恶意指令嵌入看似无害的用户输入中,诱导模型执行非预期操作。构建过程中的挑战包括:合成数据与真实观测数据的分布差异可能导致模型泛化能力受限;四消息固定结构要求模型在工具调用与自然语言应答之间保持严格一致性;严重程度与行动规则的标注需精确区分恶意攻击与良性引用,避免误判或漏判;此外,工具调用参数的规范化与事件记录的连贯性亦对数据质量构成考验。
常用场景
经典使用场景
在大语言模型安全对齐与鲁棒性研究领域,该数据集最经典的使用场景在于通过监督微调赋予模型内生的注入攻击防御能力。每一轮对话均以用户侧潜在攻击性输入为起点,模型需在生成最终回复前,自主触发log_security_incident工具调用,完成事件记录与安全响应。该范式将攻击检测、工具调用与安全应答有机整合于统一的对话轨迹之中,使模型在无需外挂过滤器的条件下习得端到端的防御行为。
解决学术问题
该数据集直面提示注入攻击防御中检测与响应割裂的学术难题。传统方案多依赖外部护栏或独立分类器,难以兼顾攻击识别的精准性与下游应答的安全性。本数据集通过四元组消息结构,将恶意攻击的拒绝、良性意图的安全解答以及安全事件的结构化记录融为一体,为研究模型内化安全策略、平衡拒绝率与有用性提供了可控的实验基准,推动了LLM安全防御从外挂式向内生式的范式转变。
实际应用
在真实业务部署中,该数据集支撑智能助手与工具调用型代理的安全加固。当用户输入掺杂越狱指令或隐蔽注入文本时,经微调的模型可自主识别威胁等级,对高危攻击予以拒绝,对低危疑似输入则安全作答并留存审计痕迹。log_security_incident工具调用所生成的incident_id与严重度分级,为安全运营中心提供可追溯的事件链路,适用于客服机器人、代码助手及企业级Agent等对合规与审计有严苛要求的场景。
数据集最近研究
最新研究方向
在大型语言模型安全研究领域,直接提示注入攻击的防御正从依赖外部过滤器的被动模式转向模型内在免疫的主动范式。该数据集通过微调赋予模型双重能力:识别用户输入中的恶意注入意图,并借助工具调用记录安全事件,同时区分恶意攻击与良性输入中的攻击性文本,实现拒绝或安全应答的精准响应。这一方向契合当前对模型鲁棒性与可解释性的前沿探索,推动防御机制从外围护栏内化为模型自身的安全推理,为构建无需额外部署即可抵抗注入攻击的自主安全模型提供了可复用的数据基础与评估范式。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务