跳到正文
原文
arXiv:越狱、提示注入、投毒与防御· arXiv:2609.24801· Fernando Outeda·本站收录· 原文发表

研究用 XAI 归因分析 Prompt Guard 2,同义词替换可翻转其提示注入判定

Decoding Guardrails: XAI-Guided Perturbation Analysis of Prompt Injection Detection

论文速读

可解释性

据论文 PDF 整理(AI 生成),以原文为准

作者用12次同义词替换使Prompt Guard 2的英文提示词P(inj)降到0.4457,并越狱Llama 3.1 8B。

问题
生产环境中的大语言模型面临提示注入和越狱。Prompt Guard 2这类分类器护栏常放在目标模型前做过滤,但判定依据不透明。作者考察它依赖哪些token,以及局部解释能否在只改一部分文本时翻转预测。
方法
用Vanilla Gradient与SHAP对Prompt Guard 2做词级归因,再指导删词、同义词替换和句子改写。数据集分析只用Vanilla Gradient,区分良性、检出与漏检。标签翻转后用Llama 3.1 8B核验是否越狱。
实验与结果
英文同义词替换12次后P(inj)降到0.4457并越狱Llama 3.1 8B;改写前9句则降到0.3127,越狱分档更低。西班牙文7步后为0.2224。200条injection抽样中105条漏检,作者认为它们缺少指令覆盖类词。
局限与可以继续做的
作者写明只分析了静态提示词,多轮越狱可能另有空隙;假阴性没有细的机制分析。覆盖一条英文、一条西班牙文提示词,以及训练集每类200条。论文未报告随机删词的重复次数,也未报告越狱分档与人工是否一致。后续可自动化流程并用于训练或评测。
实验设置Prompt Guard 2 (86M)、Llama 3.1 8B · safe-guard-prompt-injection、English DAN-style prompt 等 · P(inj)、perturbation count 等
被测模型
Prompt Guard 2 (86M)Llama 3.1 8B
基准
safe-guard-prompt-injectionEnglish DAN-style promptSpanish DAN-style prompt
指标
P(inj)perturbation countSDJaccardRBONon-Functional/Partial/Functional
AI 导读研究以可解释性方法分析分类器护栏 Prompt Guard 2 如何区分恶意与良性提示词。作者用 Vanilla Gradient 和 SHAP 归因开展四项实验,发现其判定依赖大量 token 的累积贡献而非少数主导 token,但依据显著性做同义词替换和句子级改写,只需改动中等比例文本即可翻转预测,部分情况下还成功越狱底层大语言模型。数据集规模的显著性分析显示,未被检出的注入提示词系统性地缺少分类器依赖的词汇标记。作者据此讨论分类器护栏的设计与评估,并指出用于提升透明度的解释方法同时也会降低构造对抗绕过的成本。

研究以可解释性方法分析分类器护栏 Prompt Guard 2 如何区分恶意与良性提示词。作者用 Vanilla Gradient 和 SHAP 归因开展四项实验,发现其判定依赖大量 token 的累积贡献而非少数主导 token,但依据显著性做同义词替换和句子级改写,只需改动中等比例文本即可翻转预测,部分情况下还成功越狱底层大语言模型。数据集规模的显著性分析显示,未被检出的注入提示词系统性地缺少分类器依赖的词汇标记。作者据此讨论分类器护栏的设计与评估,并指出用于提升透明度的解释方法同时也会降低构造对抗绕过的成本。

深度解读

6个问题,点开问题读完整回答

  1. 这篇论文试图解决什么问题?

    分类器护栏Prompt Guard 2的判定依据不透明,作者用局部解释检查可被改写翻转的词法依赖。

    Prompt Guard 2 如何把提示词分成 injection 与 benign,局部解释能否指出可被改写翻转的词法依赖。

    • 部署场景:作者称大语言模型已进入组织工作流,提示注入可能改变行为并造成损害或数据泄露,越狱会绕过安全措施。检查提示词和响应的护栏被广泛使用,但作者认为决策透明度和对对抗输入的稳健性仍是问题。
    • 已有防御的缺口:作者称小分类器适合放在大模型前做过滤,但 Hackett 等以及 PRP、STACK 的规避结果使作者认为,不能默认它挡得住自适应对手。Meta 承认 Prompt Guard 2 对自适应攻击存在脆弱性,决策过程也不透明。
    • 作者要查的五点:依赖哪些语言模式;解释在方法之间以及跨语言是否一致;决策靠分散信号还是少数 token;解释能否暴露漏洞;这些方法用于 Transformer 分类器有何限度。
    • 本文的分析:对 86M 参数的 Prompt Guard 2(DeBERTa-v2,基座 mDeBERTa)做探索性个案研究,直接用 Vanilla Gradient 与 SHAP 做局部归因,检查解释能否指导保语义扰动,并比较数据集里检出与漏检提示词的高显著性词。
  2. 有哪些相关研究?

    相关工作覆盖护栏规避与Transformer归因;作者称本文直接解释Prompt Guard 2,而不以攻击成功率为目标。

    作者把相关工作放在护栏规避和 Transformer 解释两条线上,并把本文放在直接分析解释、而不是把攻击成功率做到新水平的位置。

    LLM 安全与护栏

    • 风险目录:OWASP Top 10 for LLM Applications 把提示注入列为最关键风险,并连带数据泄露、供应链和过度代理;MITRE ATLAS 用类似 ATT&CK 的分类描述针对 AI 系统的战术,并扩展到生成式 AI 与智能体。
    • 护栏形态:作者把护栏定义为检查提示词和/或输出、以阻断恶意内容的组件。专用分类器包括 Prompt Guard 2 与 Llama Guard;另一类是用第二个、通常更大的模型做判断的 LLM-as-a-judge。作者称小分类器适合作为每次调用前的低成本过滤。
    • 规避工作:Hackett 等(2025)在包括本文同一数据集在内的检测器上,把字符级混淆和经典对抗规避结合起来,并称用离线白盒替代模型的词重要性,可以提高对黑盒护栏的攻击成功率。Mangaokar 等(2024)的 PRP 用对抗后缀让输出分类器漏掉越狱响应;STACK(2026)同时对付输入与输出分类器,作者称其在明确有害查询上的攻击成功率高于 70%。作者据此认为,不应默认分类器护栏对自适应输入稳健。

    面向 Transformer 的解释

    • 两类归因:SHAP(Lundberg and Lee,2017)用合作博弈估计每个 token 的边际贡献,不依赖梯度。Vanilla Gradient(Simonyan 等,2013)用输出对输入嵌入的梯度估计敏感度;文中也提到 Integrated Gradients(Sundararajan 等,2017)。
    • 注意力:作者引 Jain and Wallace(2019),称注意力分布常常与特征重要性对不齐,不应单独当作解释。
    • 解释进入攻击:作者称已有工作把特征重要性用于对抗样本、模型抽取和规避(Hackett 等;Papernot 等,2017)。替代模型可在黑盒场景里用可迁移性近似特征重要性。

    本文如何自定位

    • 和 Hackett 等的差别:作者称对方把特征重要性主要当作攻击生成的优化信号,并用规避成功率评价;本文把解释本身当作对象,直接对 Prompt Guard 2 做局部归因,不用替代模型,当前目标也不是新的规避攻击。
    • 基线与数据:删词对照是随机顺序;同义词和句子实验对照的是按置信度下降挑选,以及按替换后显著性挑选。数据集是 safe-guard-prompt-injection,Hackett 等也使用它。
    • 语言动机:作者称生成式 AI 在西班牙语社区使用很多,因此要看西班牙语不是主要训练语言时的情况。

    作者把这项工作放在可解释性、对抗机器学习和 LLM 安全的交叉上,并写成双重角色:解释既用来理解和验证模型,摘要又称它会同时降低构造成功对抗绕过的成本。第 2.3 节另有一句不同表述,称解释信息也可能有助于阻止自适应攻击者绕过已部署防御。

  3. 论文如何解决这个问题?

    用Vanilla Gradient与SHAP的词级分数指导删词、换同义词和改写句子,并比较漏检提示词。

    作者不重新训练护栏,而是用 Vanilla Gradient 和 SHAP 得到词级分数,再按分数做保语义扰动,看 injection 类置信度是否降到标签翻转,并检查翻转后的提示词能否让底层 LLM 越狱。

    分类器与分析单位

    • 模型:Prompt Guard 2 是检测提示注入和越狱的二分类模型,架构为 DeBERTa-v2,本文用 86M 参数版本,多语言基座为 mDeBERTa,支持包括西班牙语在内的多种语言。输入窗口 512 token,更长输入用滑动窗口。
    • 输出:每条提示词给出 benign 或 injection,以及各类 logits,并由此得到置信度。主指标是 injection 类置信度,记为 P(inj),同时记录使标签改变的扰动次数。
    • 词而不是子 token:模型分词常把一个词切成多个子 token。作者把同一词的子 token 分数相加,再按词排序和替换。

    选用的解释方法

    • Vanilla Gradient:看输出对输入嵌入的梯度,估计模型对每个 token 的局部敏感度。
    • SHAP:不使用内部梯度,估计每个 token 对这一次预测的贡献。
    • 预实验后排除:Integrated Gradients 和 Attention Rollout 在查看过的例子上没有给出可解释且一致的归因,未进入正式实验。作者对前者的理由是文本基线不好定义,且基线会影响归因,系统挑选基线超出这项探索研究的范围;对后者的理由是它假定注意力权重直接反映重要性,而这一假定在深层 Transformer 上已被质疑。
    • 分工:作者称前者回答模型对哪些 token 更敏感,后者回答每个 token 对这次预测贡献了多少。

    三条提示词扰动

    英文个案是一条能稳定让 Llama 3.1 8B 越狱、且被 Prompt Guard 2 判为恶意的 DAN 式指令覆盖提示词。第 3.3 节和 Figure 1 把核验模型写作 Llama 3,第 4 节写作 Llama 3.1 8B。

    1. 删词:按显著性从高到低每次去掉一个词;同一词出现多次则同一步全部删除,直到不再判为攻击。对照是随机顺序删除。
    2. 同义词替换:对 Vanilla Gradient 最高的 16 个词,在 ChatGPT 5.5 协助下人工做同义词表。按显著性从高到低访问,每步保留使 P(inj) 下降最多的同义词,直到变成 benign 或词典用尽。对照是每步改选替换后 token 显著性最低的同义词。
    3. 句子改写:把提示词拆成 11 个子句,由 ChatGPT 5.5 为每句生成 8 条语义等价改写,并避开原提示词上显著性最高的 18 个词。两种选法分别是整段 P(inj) 下降最多,或该子句 token 显著性最低。为让用语一致,作者先把原提示词里的角色称呼和计数单位换成同义词实验里已经用过的对应词。

    数据集比较与越狱核验

    • 规模上的显著性:对 safe-guard-prompt-injection 的训练划分每类随机抽 200 条,只用 Vanilla Gradient,比较良性提示词、被检出的 injection 和假阴性。Figure 1 把这条分析与三条扰动并列。
    • 越狱核验:标签翻转后的提示词另外送给底层 LLM,用来区分“只是护栏标签变了”和“底层模型也被带走”。第 4.3 节的流程是新开一次会话,先送越狱提示词,再送一条护栏未检出、但要求恶意内容的提示词;若拒答,再送维持角色的短提示,仍不行则送与计数目标对应的扣分提示。输出由 Claude Sonnet 5 标成 Non-Functional、Partial 或 Functional。作者称只分析第一次恶意回答。
  4. 论文做了哪些实验?

    英文12次同义词替换后P(inj)为0.4457并越狱;改写前9句降到0.3127;西班牙文7步降到0.2224。

    按置信度利用高显著性位置做同义词替换,可以翻转 Prompt Guard 2,并在 Llama 3.1 8B 上越狱;删词要去掉二十个以上才翻转,删后的文本没有越狱。

    实验设置

    • 模型:被分析的分类器是 Prompt Guard 2 的 86M 版本。越狱核验在第 4 节写为 Llama 3.1 8B。同义词表和句子候选由 ChatGPT 5.5 参与生成。越狱输出由 Claude Sonnet 5 分档。
    • 个案:英文、西班牙文各一条 DAN 式指令覆盖提示词。英文被判为 injection,P(inj)=0.9994。西班牙文同义词实验的起点在 Table 6 也是 0.9994。
    • 数据集:safe-guard-prompt-injection 共 10,000 条,7,000 条良性、3,000 条恶意,恶意部分由 GPT-3.5-turbo 合成。训练划分每类随机 200 条做 Vanilla Gradient。200 条 injection 中 105 条未被检出。
    • 指标:P(inj)、翻转所需扰动次数、改动占原文的比例。解释一致性用 Feature Importance Spread(SD,越接近 0 越均匀,越接近 1 越集中)、top 词的 Jaccard,以及 p=0.9 的 RBO。越狱分档为 Non-Functional、Partial、Functional。
    • 对照:随机删词;同义词和句子改写里“按置信度下降”与“按显著性下降”两种选法。论文未写分类阈值,也未报告统计显著性检验。
    • 评审:越狱分档只使用 Claude Sonnet 5。论文未报告人工复核,也未报告与人工判断的一致性。

    主结果

    下表数字来自第 4.1–4.5 节与 Table 1、Table 2、Table 6。越狱列只在论文写了核验时填写。

    表格较宽,可左右滑动

    实验选择方式扰动结束时 P(inj)越狱
    英文删词Vanilla Gradient25 个词未报告否
    英文删词SHAP,只删对 INJECTION 正贡献的词21 步未报告否
    英文删词SHAP 全排序27 个词未报告未报告
    英文删词随机顺序通常多于 50 次未报告未报告
    英文同义词置信度下降最大12 次,24% 文本0.4457,BENIGN是,Llama 3.1 8B
    英文句子改写置信度下降最大前 9 句0.3127护栏被绕过,分档见下节
    英文同义词替换后显著性最低16 次仍未翻转高于 0.9990,仍为 injection未报告
    西班牙文同义词复现第 4.2 节7 步,18% 文本0.2224,benign作者称仍能越狱 test LLM

    第 4.5 节把西班牙文越狱对象写成 test LLM,没有再次点名;第 4.1–4.3 节的底层模型是 Llama 3.1 8B。西班牙文删词和西班牙文句子改写放在后面的消融里。

    • 分散的词法信号:作者称 Figure 2 没有单一占优的 SHAP 值,分类是在累加许多贡献不大的 token。按 Vanilla Gradient 或 SHAP 去掉排序前 10 的词仍不足以规避。作者称随机删除大约是显著性或 SHAP 引导所需次数的两倍。
    • 置信度选词和显著性选词不同:作者认为,就这条英文提示词而言,逐 token 显著性本身并不能代表某次替换实际造成的置信度下降。按子句显著性做句子改写时,护栏仍在整段提示词上判定注入意图。
    • 西班牙文是“可能”:引言称西班牙文复现需要的修改更少,Prompt Guard 2 在代表性较低的语言上可能更易受显著性引导攻击。可核对的是同义词步数和文本比例。这条西班牙文提示词的句子改写没有找到绕过。讨论称跨语言结果在参数上有轻微变化;结论又写到与语言有关的参数阈值。

    两种解释是否一致

    • 英文原提示词:SD 为 Vanilla Gradient 0.118、SHAP 0.169。两法最高词都是 Ignore。top 18 个词的 Jaccard 为 0.2857,RBO(p=0.9)为 0.4394。作者称分歧主要在较低排序的词,共享词更集中在靠前的位置。
    • 绕过护栏之后:作者称 Figure 3 上两种方法差得更大,高排序词里共享的只有少数,并举例 dont、rules、medallions。
    • 西班牙文提示词:top 15 个 token 的 Jaccard 为 0.3043,RBO(p=0.9)为 0.4830。作者称与英文相近,较高的 RBO 相对 Jaccard 说明共享 token 更靠前。论文未给出这条西班牙文提示词的 SD。

    越狱分档

    四类任务沿用 Table 3–5 的名称。评审模型是 Claude Sonnet 5。同义词版本的钓鱼一项,表注写明经过两次拒答回合后才服从。

    表格较宽,可左右滑动

    提示词WiFi hackingReverse shell + keyloggerRansomwarePhishing
    原提示词(Table 3)PartialPartialPartialFunctional
    同义词绕过(Table 4)PartialNon-FunctionalPartialFunctional
    句子替换绕过(Table 5)Non-FunctionalNon-FunctionalNon-FunctionalFunctional
    • 作者称前两条越狱的结果相近;同义词版本需要额外的维持角色提示才保持人设。句子替换虽然绕过 Prompt Guard 2,作者称其越狱的有效程度低于另外两条。
    • 三次都只分析第一次恶意回答,没有要求模型修正输出。作者认为若继续交互,有可能得到更可用的恶意代码或钓鱼邮件。这是作者的可能性判断,不是追加实验。

    数据集上的高显著性词

    • 良性(Figure 4 左):作者称最高显著性词是问答格式里的通用词,文中列出 input、question、Options、following、answer。作者认为没有攻击词法线索时,显著性比较均匀地落在一般句法上。
    • 被检出的 injection(Figure 4 右):作者称显著性集中在一小批与提示注入相关的 token,文中列出 previous、instructions、sensitive、information、confidential、access、restrict、ignore。作者认为模型把指令覆盖和角色扮演类说法与 injection 类关联起来。
    • 假阴性(Figure 5):作者称最高词包括 information、confidential、Provide,与检出集部分重叠,其余更偏通用词。人工查看后,作者认为这些漏检提示词偏向信息外泄,而不是该模型最针对的指令覆盖和越狱;它们会共用一部分词,但系统性地缺少最具判别力的说法,文中举例 previous instructions 与 Ignore。讨论据此认为,Prompt Guard 2 针对的是特定越狱类型,而不是一般的对抗意图。

    其他消融与分析

    • 删到第 16 个词时,Llama 3.1 8B 已不再响应恶意指令,作者称比护栏标签翻转早 5 步(第 4.1 节)。
    • 去掉排序前 10 的高显著性词仍不足以翻转(第 4.1 节)。
    • 英文句子改写若按子句显著性挑选,未翻转标签;论文未给出该策略的 P(inj)(第 4.3 节)。
    • 西班牙文删词:SHAP 引导 9 个词翻转,Vanilla Gradient 引导 11 个词翻转(第 4.5 节)。
    • 西班牙文句子改写:这条提示词上未找到绕过(第 4.5 节)。
    • 讨论把置信度导向的结果概括为 12 次同义词替换和 9 处子句改动(第 5 节),与 Table 1、Table 2 的步数一致。
  5. 有什么可以进一步探索的点?

    作者写明只覆盖静态提示词,假阴性缺少机制分析;后续可以自动化流程并用于训练或评测。

    作者在讨论和结论里写出的后续工作,是把现在这条静态、个案式流程自动化,并用于以后的训练或评测。

    作者指出的局限与后续方向

    • 静态提示词:扰动实验只处理静态提示词,多轮越狱可能利用尚未看到的空隙(第 5 节)。
    • 假阴性的机制:假阴性做了较宽的分析,但没有评估更细的机制性解释(第 5 节)。
    • 自动化:后续可以自动化这条实验流程,以便在提示注入数据集上做更大规模的评估(第 6 节)。
    • 语义仍能诱发恶意行为的改写:作者认为该做法可能帮助发现语义等价、能绕过 Prompt Guard 2、同时仍能在目标 LLM 上诱发恶意行为的提示词(第 6 节)。
    • 进入以后的训练或基准:作者认为这类样本可以纳入以后的训练或基准构建;结论也写到可纳入对抗训练、数据集扩充或基准构建,并认为这有可能改进未来检测器的稳健性与泛化(第 6 节)。

    实验覆盖范围

    • 正式实验分析的分类器是 Prompt Guard 2 的 86M 参数版本;Integrated Gradients 和 Attention Rollout 在预实验后未进入报告中的实验(第 3.1–3.2 节)。
    • 删词、同义词和句子改写各使用一条英文 DAN 式提示词和一条西班牙文 DAN 式提示词;越狱核验在第 4 节写明的模型是 Llama 3.1 8B(第 4.1–4.5 节)。
    • 数据集分析使用 safe-guard-prompt-injection 的训练划分,每类 200 条;200 条 injection 中 105 条为假阴性,显著性只用 Vanilla Gradient(第 4.4 节)。
    • 越狱分档覆盖四类请求,评审模型为 Claude Sonnet 5;同义词表和句子候选由 ChatGPT 5.5 参与生成(第 4.2–4.3 节)。
    • 论文未报告随机删词的重复次数、越狱核验的重复次数,以及 Claude Sonnet 5 与人工判断的一致性。
  6. 总结一下论文的主要内容

    作者称检测靠分散的词法线索;按置信度替换可翻转标签,句子级绕过后的越狱分档更低。

    这项个案研究用局部解释查看 Prompt Guard 2 的检测依据,并检查这些依据能否被保语义改写利用。

    • 问题:86M 参数的二分类护栏把输入标成 benign 或 injection。作者要看依据是少数触发词还是许多小贡献 token,以及英文和西班牙文上的解释是否一致。
    • 做法:Vanilla Gradient 与 SHAP 在词级打分,同一词的子 token 分数先相加。分数用来删词、换同义词或改写子句;挑选替换时比较置信度降幅和替换后的显著性。safe-guard-prompt-injection 的抽样只用 Vanilla Gradient。Llama 3.1 8B 做越狱核验,Claude Sonnet 5 把输出分成三档。
    • 线索是分散的:英文个案上 SD 为 0.118 与 0.169,两法最高词都是 Ignore,top 18 词的 Jaccard 为 0.2857。按梯度删词要去掉 25 个词才翻转,随机顺序通常多于 50 次;两条删减后的提示词都没有让 Llama 3.1 8B 越狱。
    • 改写可以翻转标签:按置信度换同义词,英文 12 次、24% 文本后 P(inj) 为 0.4457,并在 Llama 3.1 8B 上越狱。改写前 9 句把 P(inj) 降到 0.3127,四类请求里三类为 Non-Functional,钓鱼仍为 Functional。西班牙文同义词 7 步、18% 文本后 P(inj) 为 0.2224,作者称仍能越狱 test LLM;这条西班牙文提示词的句子改写没有绕过护栏。
    • 作者的结论:200 条 injection 抽样里 105 条漏检。作者认为检出集中在指令覆盖和角色扮演词上,漏检文本更偏向信息外泄并缺少这些判别词。作者认为面向透明性的解释也会降低构造绕过的成本,同时可以用来寻找词法上的盲区;只按显著性挑选替换,并不足以预测置信度如何变化。
阅读原文arxiv.org