PIDS-Bench:在过度防御、混淆与分布偏移下评测提示注入检测器
PIDS-Bench: Evaluating Prompt-Injection Detectors Under Over-Defense, Obfuscation, and Distribution Shift
PIDS-Bench 在固定阈值下联合评测提示注入检测器的攻击召回与良性误报;作者报告内部检测器在压力分布上找不到同时满足 F1≥0.95 与外部来源 hard-benign FPR≤0.10 的工作点。
- 提示注入检测器常用分布内聚合 F1 评测,很少在分布偏移下同时测量攻击漏检和良性误报。良性误报会直接挡住合法请求,尤其是安全相关但无恶意意图的输入。
- PIDS-Bench 是冻结、带校验和的多轴基准,在固定阈值下联合评测分布内输入、hard-benign、混淆攻击,以及领域与结构分布偏移。内部模型按验证集 F1 选阈值,外部与广义安全模型用原生决策边界。
- 作者称聚合 F1 会掩盖失败模式:held-out F1 超过 0.98 的检测器仍会误判约三分之一外部来源、安全相关的良性子集。五 seed 全阈值扫描中,没有内部检测器同时达到 F1≥0.95 与 hard-benign FPR≤0.10。难负例增强几乎消除精心构造压力输入上的过度防御,但外部来源上的误报基本保留。
- 作者将多轮与多语言攻击标为后续工作,并指出与外部来源分布匹配的增强是否能缩小差距尚未测试。评测只覆盖单轮英文输入的网关检测器,不测端到端危害。
- Evaluated models
- TF-IDF + logistic regressionDistilBERTDeBERTa-v3-FTProtectAI DeBERTa-v3-base-prompt-injection-v2DeBERTa-PIPromptGuard 2 (86M)Llama Guard 3-1B
- Benchmarks
- PIDS-Benchheld-out test splithard-benign stress setobfuscated-attacks stress setdomain-shift stress setstructural-shift stress setbalanced-subtype stress set
- Metrics
- F1real-source F1precisionrecallFPRROC-AUC
研究者提出 PIDS-Bench,一个冻结的多轴基准,在固定阈值下同时评测提示注入检测器的攻击检测能力与良性误报行为,覆盖分布内输入、模仿注入结构但无恶意的 hard-benign 提示、混淆攻击以及领域和结构分布偏移。评测涵盖七个检测器(学习型基线、外部提示注入分类器、广义安全对比模型)以及一个基于规则的下界参考。多轴评测暴露出聚合 F1 掩盖的失效模式:在留出集上 F1 超过 0.98 的检测器,仍会把来自公开语料、限定于安全相关内容的良性子集约三分之一误判。在完整阈值扫描和五个训练种子上,没有内部检测器能在该压力分布上同时满足 F1 >= 0.95 与 hard-benign FPR <= 0.10。
Paper analysis
What problem does this paper attempt to solve?
聚合 F1 看不出检测器在分布偏移下的良性误报与攻击漏检。
提示注入检测器在固定阈值下,如何同时衡量攻击检测与良性误报,尤其是分布偏移和过度防御。
- 部署场景:作者认为 LLM 用于文档处理、代码生成、客服和自主工具调用后,提示注入会覆盖系统指令、改写输出或诱导泄露受保护信息;在智能体场景中,输入可跨推理步骤传播并触发未授权工具调用。常见防御是在模型前放一个二分类检测器,判为恶意则拦截。
- 现有评测不足:作者称多数评测只在训练分布的 held-out 划分上报一个聚合 F1,测的是受控可分性,漏掉良性输入与攻击共享词汇或结构、攻击被混淆、以及领域或格式偏移。BIPIA、InjecAgent、AgentDojo、HarmBench 评的是整条流水线的端到端攻击,作者认为这把检测器行为与下游模型顺从混在一起,也不把网关分类器的良性 FPR 当作主要代价。
- 核心观察:作者称一个在 held-out 数据上 F1>0.98 的检测器,仍会拦截大约三分之一外部来源、安全相关的良性子集;在专门集中最坏情况输入的 curated 子集上还会更高。这些数字测的是用来暴露过度防御的压力分布,作者称不是部署 FPR 的估计。
- 提出的基准:作者提出冻结的多轴基准 PIDS-Bench,在一致的阈值选择下,用五个冻结压力集覆盖分布内、hard-benign、混淆攻击、领域与结构分布偏移,并评测七个检测器加一个基于规则的下界参照。作者将 hard-benign 误报按来源分解后称为 provenance-sensitive over-defense(来源敏感的过度防御)。
What related research exists?
作者把本文放在检测器层过度防御与端到端基准之间,强调按来源分解误报。
攻击与威胁分类
- Perez and Ribeiro [1]:系统研究把对抗文本附加到用户输入以覆盖指令、重定向行为。
- Greshake et al. [2]:扩展到间接注入,恶意指令藏在网页、文档或 API 输出等外部内容中。
- Schulhoff et al. [7]、Toyer et al. [17]:前者用大规模 prompt-hacking 比赛刻画攻击多样性;后者给出 Tensor Trust,超过 126,000 条人工生成注入和 46,000 条防御,作者称其呈现结构化、组合式模式,并出现指令覆盖和提示泄露。
检测、防御与过度防御
- 对齐式缓解与网关分类器:作者称对齐式缓解可被构造的对抗输入系统绕过 [9],因而把输入级分类器当作更可预期的执行层。Inan et al. [8] 提出 Llama Guard;后续版本扩展类别与多语言 [18, 19];WildGuard [20] 做提示有害性、回复有害性与拒答的三路分类。作者称这些系统面向广义多类安全,并非专门优化提示注入的良性误报,并把 Llama Guard 3-1B 当作广义安全对照。
- 专用分类器与过滤:Jain et al. [21] 评测困惑度过滤和释义预处理,作者称没有单一方法能在各类攻击上提供稳健保护。ProtectAI DeBERTa-v3-base-prompt-injection-v2 [22]、DeBERTa-PI [23]、PromptGuard 2 (86M) [24] 被当作现成组件;作者称其模型卡数字来自未冻结、不可独立核验的私有划分,或只报聚合安全分类而非受控阈值下的提示注入指标。
- 过度防御与数据增强:Li et al. [14] 的 NotInject 用含触发词的良性输入量化护栏误分类,并做 token 级训练侧缓解;作者转述其作者认为这可能低估真实、领域多样良性提示上的过度防御。Kholkar and Ahuja [15] 用少量域内例子同时探测攻击检测与过度防御。Jacob et al. [16] 强调可部署的低 FPR。Wang and Culotta [25] 用反事实增强减少对伪相关的依赖。作者称先前增强工作报告的是聚合鲁棒性收益,而来源之间的不对称及其随增强池规模持续存在,据作者所知尚未被报告。生成层的夸张安全 [27] 被作者与检测器层区分:网关拦截是终局的,且决策面是可扫阈值的连续分数。
端到端基准与评测方法
- BIPIA [10]、InjecAgent [11]、AgentDojo [12]、HarmBench [13]、JailbreakBench [28]、Liu et al. [29]:评测整条 LLM 流水线在攻击下的行为。作者称它们不把良性 FPR 当作主要指标,不在异构分类器上强制共享阈值协议,也不提供冻结、带校验和的检测器级划分。
- Ribeiro et al. [3]、HELM [4]、分布偏移与表面扰动 [5, 6]:作者用它们说明 held-out 准确率会高估可靠性、跨分布排名会重排、分布内表现不能挡住偏移和表面扰动。
基线与数据来源:内部基线为 TF-IDF + logistic regression、DistilBERT、DeBERTa-v3-FT,另有规则启发式下界;外部检测器为 ProtectAI 与 DeBERTa-PI;广义安全对照为 PromptGuard 2 (86M) 与 Llama Guard 3-1B。主评测集是 PIDS-Bench 本身,注入来源含 SPML、Qualifire、deepset 与模板派生样本,良性来源含 Alpaca、ChatBot Instructions、OpenAssistant、Dolly-15K。
作者把 PIDS-Bench 定位为与端到端基准正交:隔离检测器,在 hard-benign 压力和多种分布偏移下把两侧错误都当作主要量,并按输入来源分解过度防御。
How does the paper address this problem?
用冻结多轴压力集,在组内固定阈值上同时报攻击侧与良性侧错误。
作者构建冻结基准 PIDS-Bench,把网关检测器的攻击漏检和良性误报放在同一协议下测量,并按模型组解释阈值相关指标。
系统与威胁设定
- 受害系统:不可信输入先经过无状态的输入级二分类检测器,再进入下游语言模型。检测器只看单条字符串,输出二值或可阈值化的连续分数;判为注入则在网关拦截,良性则原样转发。它看不到下游输出,不跨请求保存状态,也没有反馈环。
- 攻击者目标与能力:攻击者要让检测器把输入判为良性并转发。作者把攻击成功严格定义为 detector evasion,不包含端到端危害。攻击者从攻击分类法的六类策略上的固定分布取输入,不接收检测器反馈,也不根据输出改写输入。自适应、带反馈的攻击者被作者放在本次评测之外。
- 防御者侧:内部学习检测器在冻结训练集上训练,并在任何压力集评测前用验证集 F1 最大化固定阈值。外部检测器与广义安全对照只做推理,使用各自原生决策边界。任何检测器都不把下游输出当反馈,也不在线适应。
- 范围:只评输入过滤阶段。基准限制为单轮、英文输入。
数据与压力轴
- 主库与划分:主库 35,000 行,训练 27,093、验证 3,989、held-out 测试 3,918。五个压力集再加 8,172 个评测实例,合计 43,172;其中混淆集与 balanced-subtype 复用测试文本,唯一标注提示为 40,479。划分在 seed-family 级别完成:同一源例的释义和混淆后代进入同一分区。
- 注入分类:六类互斥子类型由优先级规则匹配得到,Table 1 给出合并注入池 n=18,363 的比例:direct_override 29%、contextual_manip. 24%、roleplay_attack 15%、data_exfiltration 13%、tool_injection 10%、encoded_attack 9%。两名标注者在分层 150 行上的 Cohen’s κ=0.758。子类型只用于诊断,不进入检测训练。encoded_attack 与 tool_injection 用 GPT-4o-mini 按真实种子做三份表层释义,温度 0.9。
- 良性与 hard-benign:分布内良性来自四个公开语料加模板,经 GPT-4o-mini 做一到三轮保义释义,合计 16,637 行;作者称这些标签未做与 hard-benign 同等深度的独立标注。hard-benign 共 1,472 条纯良性:外部来源 872(LMSYS-Chat-1M、OpenAssistant、Dolly-15K,经主题过滤,再分 plain 与 AI-adjacent),curated 600(八个等大小家族)。200 行盲审中,良性/非良性判断 199/200 一致,κ=0.85;更细的 security-adjacent 标记 κ=0.53。
- 其余压力集:混淆攻击 405 条,全部来自测试集,变换含 leetspeak、homoglyph、zero-width。领域偏移 2,000 行,medical、legal、finance、code 各 250 良性加 250 注入。结构偏移 1,998 行,约 50/50;变换包括 json_wrap、prompt_dilute、instruction_prefix_mimic。balanced-subtype 有 2,297 行,其中 2,288 来自测试集,目标是每子类型 200 条注入对 1,200 条良性,注入侧实际 1,097 行。
检测器与训练
- 内部模型:TF-IDF 用 unigram 与 bigram,词至少出现在两篇文档、至多 95% 文档,逻辑回归类别权重平衡、L2、C=1.0、最多 500 次迭代。DistilBERT 从 distilbert-base-uncased 微调 2 个 epoch,batch 16,学习率 5×10−5,最大长度 256。DeBERTa-v3-FT 从 microsoft/deberta-v3-base 微调 3 个 epoch,有效 batch 16,学习率 2×10−5,最大长度 512,前 6% 步线性 warmup。二者用 AdamW,取验证 F1 最高的检查点。五个种子为 {13, 42, 123, 2024, 7777}。
- 规则下界:四类手工关键词与正则,任一模式命中即判注入,无打分、无权重,评测前固定。
- 外部与对照:ProtectAI 与 DeBERTa-PI 在默认边界 0.5 上推理。PromptGuard 2 (86M) 与 Llama Guard 3-1B 也用默认边界,用来看广义安全训练是否迁移到提示注入。
阈值、指标与增强
- 阈值:内部模型在验证集上以步长 0.002 在 [0, 1] 上网格搜索,最大化 F1,然后固定用于测试和全部压力集。外部检测器与 PromptGuard 2 用 0.5。作者称跨组没有共享校准,阈值相关指标只在组内解释;ROC-AUC 用于比较排序行为。
- 指标:IID 以 F1 为主,并强调 real-source F1,mixed F1 为次要。hard-benign 以 FPR 为主,并按外部来源 n=872 与 curated n=600 分解。混淆集只报攻击 recall。领域偏移以良性 FPR 为主并报 recall;结构偏移两者都报。点估计为五种子均值 ± 标准差,标题指标另给 10,000 次自助法置信区间。
- 难负例消融:微调检测器在其余超参不变时,比较是否加入携带注入相关特征的良性难负例;每架构五次基线加五次增强。作者称与外部来源分布匹配的增强是否能补上差距并未测试。
What experiments did the paper conduct?
七个检测器加规则下界在冻结压力集上评测;内部模型找不到同时满足 F1 与外部 FPR 目标的点。
实验设置
- 被测检测器:内部为 TF-IDF + logistic regression、DistilBERT、DeBERTa-v3-FT;外部为 ProtectAI 与 DeBERTa-PI;广义安全对照为 PromptGuard 2 (86M)、Llama Guard 3-1B;另有规则启发式,作者将其作为下界参照而非竞争基线。
- 数据:主库训练/验证/测试为 27,093/3,989/3,918。压力集:hard-benign 1,472、混淆攻击 405、balanced-subtype 2,297、领域偏移 2,000、结构偏移 1,998。测试注入中模板派生占 801/2,070(38.70%),测试全集中占 934/3,918(23.84%)。
- 阈值与重复:内部五种子,验证集 F1 最大化后固定阈值。DeBERTa-v3-FT 的 τ 为 {0.01, 0.108, 0.152, 0.444, 0.904},均值 0.324;DistilBERT 为 {0.112, 0.252, 0.382, 0.610, 0.664},均值 0.404;TF-IDF 每次为 0.518。外部与 PromptGuard 2 为 0.5。
- 指标与统计:组内报告 F1、precision、recall、FPR、ROC-AUC。PromptGuard 2 与 Llama Guard 3-1B 不暴露可扫阈值的连续分数,作者将其排除在 ROC-AUC 之外。定量结果为五种子均值 ± 标准差;标题指标有 10,000 次自助法区间。作者不做跨组显著性检验。
- 标注质量:子类型分层 150 行 κ=0.758。hard-benign 分层 200 行的良性判断 κ=0.85,1/200 不一致,95% Wilson 区间 [0.001, 0.028];security-adjacent 标记 κ=0.53,原始一致率 75.5%。
主结果
正文可见的主数字来自摘要、贡献声明、Table 5 和阈值扫描,而不是一张列齐全模型的主表。Table 5 只给出两个内部模型在 τ=0.5 的分领域结果。
Swipe horizontally to read the table
条件 模型 指标 数值 出处 held-out 论文未在摘要点名单一模型 F1 >0.98,仍拦截约三分之一外部来源安全相关良性子集 摘要、引言 全阈值、五 seed 全部内部检测器 F1 与外部 hard-benign FPR 无点同时满足 ≥0.95 与 ≤0.10 摘要、Section 6.2 各架构最有利点 DeBERTa-v3-FT / DistilBERT / TF-IDF 外部来源最低 FPR 0.226±0.058 / 0.277±0.099 / 0.241 Section 6.2 code,τ=0.5 DistilBERT recall 0.435±0.151 Table 5 legal,τ=0.5 TF-IDF + LR FPR / recall 0.252 / 0.968 Table 5 - 作者解读:作者称多轴评测暴露了聚合 F1 掩盖的失败,并把失败分成攻击侧 recall 崩溃和良性侧 FPR 上升。贡献声明中,DistilBERT 的 code 域 recall 降到 0.435,其余接近完美;TF-IDF 的 legal 域 FPR 为 0.252,recall 不变。Table 5 中 DistilBERT 的 code recall 为 0.435±0.151,legal FPR 为 0.254±0.198;TF-IDF 的 legal FPR 为 0.252、code recall 为 0.916。
- Table 5 其余可见数字:τ=0.5 时 DistilBERT 的 medical FPR/recall 为 0.0016±0.0022 / 0.9992±0.0018,finance 为 0.010±0.009 / 1.000±0.000;TF-IDF 的 medical 为 0.000 / 0.988,finance 为 0.012 / 0.996,code FPR 为 0.004。
- 跨组比较:作者称阈值相关指标只在组内解释;Tables 6 和 7 被作者称为组内结果所在位置,但本次文本转换未保留这些表的完整数字,因此不转写。
阈值前沿
- 测了什么:Section 6.2 对内部模型按种子扫描 τ∈[0, 1],记录测试 F1、聚合 hard-benign FPR、外部来源 hard-benign FPR 和 curated hard-benign FPR。
- 结果:作者称在每个架构和每个种子上,都没有同时满足 F1≥0.95 与外部来源 hard-benign FPR≤0.10 的工作点。即便在最有利点,最低外部来源 FPR 仍为 DeBERTa-v3-FT 0.226±0.058、DistilBERT 0.277±0.099、TF-IDF 0.241。微调检测器的验证集阈值跨种子不稳定,但作者称约束在每个阈值和种子上都不满足。
- 作者解读:作者称这一模式与 learned-feature 解释一致,而不只是校准假象,并明确把它写成解释,不是已确立机制。
来源敏感的过度防御
- 测了什么:Section 6.3–6.4 按 curated 与外部来源分解 hard-benign 误报,并做难负例增强;Table 10 被作者用来报告增强在两个微调架构、不同增强池规模上、且无明显分布内代价。Table 12 为跨种子的配对分析。
- 结果:作者称难负例增强几乎消除 curated 压力输入上的过度防御,但外部来源上的过度防御基本保留;外部来源 FPR 仍远高于 0.10。进一步按注入式表层结构和来源语料分解后,作者称结构是主要驱动,并在每个来源内部起作用,来源本身有更小、统计上独立的效应。
- 作者解读:作者称与外部来源分布匹配的增强能否缩小差距尚未测试;仅靠阈值校准和 curated 风格增强做不到。作者还称,hard-benign 评测行与训练文本零重叠,因此该子集上的过度拦截不能反映对具体良性训练例的记忆。
其他消融与分析
- 领域偏移:Table 5 显示 DistilBERT 的 code recall 为 0.435±0.151,而 medical、legal、finance 的 recall 为 0.9992±0.0018、0.992±0.018、1.000±0.000。
- 结构偏移:作者设计 json_wrap、prompt_dilute、instruction_prefix_mimic,并称结果刻画的是对这些特定构造的敏感度;instruction_prefix_mimic 最可能移动边界标签,需最谨慎。本次文本未保留其分项数字。
- 混淆攻击:作者称变换包括 leetspeak、homoglyph、zero-width,主指标为攻击 recall。分变换数字在本次文本中未完整保留。
- IID 稳定性:作者称 IID F1 跨种子在 ±0.002 内复现;DistilBERT 的 IID 良性 FPR 跨种子标准差为 0.0047,hard-benign 指标的跨种子波动更大。TF-IDF 五种子标准差按构造为零。
- 标签方向:作者称 hard-benign 上残留的误标只会抬高测得 FPR,不会把它压低;1/200 的观察错误率上界低于该集要测量的外部来源 FPR。
- 增强是否匹配外部分布:作者写明未测试。
What are some points that can be further explored?
作者把多轮、多语言和匹配外部来源的增强标为未测;评测停在单轮英文网关。
作者指出的局限与后续方向
- 多轮与多语言:作者在 Section 3.5 写明基准限于单轮、英文输入,并把多轮和多语言攻击称为真实流量中的另一类分布偏移,标为后续工作(Section 7.6)。
- 匹配外部来源的增强:摘要和贡献声明写明,与外部来源分布匹配的增强是否能缩小差距尚未测试;仅阈值校准和 curated 风格增强并不能消除外部来源上的过度防御。
- 结构偏移的外推:Section 5.6 写明结构变换结果刻画的是 json_wrap、prompt_dilute、instruction_prefix_mimic 这些特定构造,不是任意格式变化(Section 8)。
- 分布内良性标签:Section 5.2.2 写明分布内良性标签按原标注接受,未做与 hard-benign 同等深度的独立互注审核;精确匹配和近重复过滤后仍可能有标签噪声或偶然的注入相邻措辞,这限定了 Table 6 中分布内良性 FPR 的解释,Section 8 进一步讨论。
- 模板多样性:Section 5.2.3 写明 encoded_attack 与 tool_injection 的模板派生子集词汇更均一,可能低估真实表面多样性,该保留适用于测试划分上的每个模型。
- 自适应攻击者:Section 3.3 把带反馈、会根据检测器输出改写输入的攻击者写成不同于本次静态设定的另一设定。
实验覆盖范围
- 检测器:实验包含三个内部学习模型、两个外部提示注入分类器、两个广义安全对照,以及单独报告的规则启发式;内部结果为五种子均值。
- 压力集:评测覆盖 IID held-out、hard-benign(外部来源 872、curated 600)、混淆攻击 405、领域偏移 2,000、结构偏移 1,998、balanced-subtype 2,297。
- 成功定义:攻击成功按检测器是否放行定义;Section 3.5 写明不测量端到端妥协率,检测器规避不表示下游模型执行攻击者意图。
- 阈值协议:内部模型用验证集 F1 选阈值,外部与 PromptGuard 2 用 0.5;作者写明没有跨组共享校准,也不做跨组显著性检验。Llama Guard 3-1B 与 PromptGuard 2 因不暴露可扫连续分数而被排除在 ROC-AUC 外。
- 统计与审计:点估计带五种子标准差;标题指标另有 10,000 次自助法区间。子类型审计为分层 150 行,hard-benign 审计为分层 200 行。论文未在本次可见正文中给出人工与自动判定之外的下游执行评测。
Summarize the main content of the paper
PIDS-Bench 显示高分布内 F1 仍会过度拦截外部来源的安全相关良性输入。
PIDS-Bench 是一个冻结的检测器级基准,用来在固定阈值下同时看提示注入检测和良性误报。
- 问题:作者认为网关检测器有两类不对称代价,漏检让对抗输入通过,误报则挡住合法请求。只看训练分布上的聚合 F1,看不到 hard-benign、混淆和领域或结构偏移。
- 做法:输入先过无状态二分类器。攻击成功定义为检测器放行,不测下游是否执行。五个压力集与 held-out 划分分开,划分按 seed-family 冻结并记录 SHA-256。内部三个模型用验证集 F1 定阈值并训练五个种子;ProtectAI、DeBERTa-PI、PromptGuard 2 和 Llama Guard 3-1B 用原生边界;规则检测器作下界。
- 结果:作者报告 held-out 上 F1>0.98 的检测器仍会拦大约三分之一外部来源、安全相关的良性子集。五种子、全阈值扫描中,没有内部检测器同时达到 F1≥0.95 和外部来源 hard-benign FPR≤0.10;最有利点的最低外部 FPR 为 DeBERTa-v3-FT 0.226±0.058、DistilBERT 0.277±0.099、TF-IDF 0.241。Table 5 在 τ=0.5 下,DistilBERT 的 code recall 为 0.435±0.151,TF-IDF 的 legal FPR 为 0.252。
- 来源分解:作者称难负例增强几乎清掉 curated 输入上的过度防御,外部来源上仍在,且两个微调架构、增大增强池后依然如此,分布内代价据作者称不可测出。结构是主要驱动,来源有更小且统计独立的附加效应。
- 作者结论:作者认为阈值校准和 curated 风格增强单独不够;与外部来源分布匹配的增强是否能补上差距没有测试。作者把该不对称称为 provenance-sensitive over-defense,并把多轮、多语言留作后续工作。