评估与加固 LLM 系统指令以抵御编码攻击提取
Evaluation and Hardening of LLM System Instructions Against Extraction via Encoding Attacks
作者用编码请求测七个模型的系统指令保密:直接抽取被拒,结构化格式仍可泄露,CoT改写可降低ASR。
攻击者用自然语言向AI智能体发送任意提示并观察回复,不能直接读取或修改系统指令,也不能访问服务端内存或拦截外部工具输出。
- 系统指令承载安全策略、智能体行为与敏感操作上下文。作者称拒答式防护默认禁止内容只能被显式问出;作者检查编码或结构化输出请求下保密是否仍成立。
- 框架先探测模型支持的编码,只保留直接抽取被拒的指令,再发格式化请求,由GPT-OSS-120B做二值判定。部署前用该模型一次性改写指令,加入不可披露、拒答触发和优先级约束,不重训目标模型。
- 46条直接抽取ASR为0%。GPT-4.1-mini的YAML加固前0.9565、改写后0.6304(Table 1、2)。Granite的YAML加固前0.5000。LLaMA-3-8B字符级改写前后均为0.7826(Table 3)。
- 作者指出评测模型与预定义编码不能外推,二值ASR不分部分与完整披露,提示级加固不是消除泄露。实验覆盖自建46条与七个模型;论文未报告评审和人工的一致率。
- 威胁模型
- 攻击者用自然语言向AI智能体发送任意提示并观察回复,不能直接读取或修改系统指令,也不能访问服务端内存或拦截外部工具输出。目标是抽出系统指令或其内的机密。编码或结构化输出请求若引出部分或完整指令、机密变量或可重构片段,即算保密性违规。
- 被测模型
- GPT-4.1-miniGPT-3.5-turboGemini-2.5-flashLLaMA-3-8BMistral-Small-4-119BMicrosoft-Phi-3.5-MoE-InstructIBM Granite 4.0 H-Small FP8
- 基准
- 自建系统指令集(初构80条,选出46条;领域含finance、healthcare、DevOps、enterprise assistant)
- 指标
- ASRLeakage/No LeakageReduction (%)
论文提出一套自动化评估框架,测试把系统指令提取请求改写为编码或结构化输出任务时,模型是否仍会保密。在七个常见模型和 46 条经核验的系统指令上,结构化序列化的攻击成功率超过 0.7,模型会拒绝直接的提取请求,却在所要求的序列化格式中泄露受保护内容。作者还演示了一种缓解方法,用思维链推理模型对系统指令做一次性改写,无需重新训练模型即可显著降低攻击成功率。
深度解读
这篇论文试图解决什么问题?
直接拒答挡不住被改写成编码或结构化输出的系统指令抽取。
系统指令在直接抽取被拒绝后,仍可能因编码或结构化输出请求而泄露。
- 场景:作者称系统指令定义智能体身份、约束、安全策略和外部资源访问,可含 API 凭据、内部策略与工作流。泄露被 OWASP 列为 LLM07:2025 System Prompt Leakage,并可便于后续提示注入与权限提升。
- 现有不足:作者称许多应用靠拒答式指令,默认禁止信息只能经显式查询抽出。对齐与规则主要识别自然语言里的直接披露意图;推理式防护要额外步骤,且未在生产系统中一致部署。
- 核心观察:作者认为模型常在完整语义重建前按表面意图判断。请求若像格式化、序列化或表示变换,就可能被当成良性任务,从而输出受保护内容。
- 本文提出:自动化评测框架生成编码与格式请求,并在已验证拒答的指令上测泄露;再用 CoT 模型做部署前的一次性指令改写,不重训目标模型。
- 威胁模型:
- 目标:抽出系统指令,或嵌在其中的机密信息。
- 知识:攻击者用自然语言与 AI 智能体交互,不能直接访问配置该智能体的系统指令。
- 能力:可发任意提示并观察回复;不能修改系统指令、访问服务端内存,或拦截外部工具输出。
- 违规:编码或结构化输出请求的回复中,出现部分或完整系统指令、机密变量,或可重构片段。
有哪些相关研究?
作者将本文放在提示抽取、注入越狱和提示级防护之间,专门测编码式披露。
作者按提示抽取、注入越狱、对齐与结构防御、以及评测红队来定位本文。
提示抽取与系统指令泄露
- 抽取攻击:Zhang 等(2024)的 Effective Prompt Extraction、Sha 与 Zhang(2024)的 Prompt Stealing、Hui 等(2024)的 PLeak,演示隐藏指令和系统提示可经构造过的交互被恢复。
- 对话与基准:Agarwal 等(2024)讨论多轮应用中的提示泄露与缓解;Wang 等(2024)的 Raccoon 为集成应用的提示抽取做基准。Sternak 等(2025)用智能体方法自动化提示泄露。
- 与本文:作者称这些工作确立了抽取可行;本文只研究被框成编码和变换任务的抽取,并跨多种编码做系统评测。
提示注入与越狱
- 注入:Greshake 等(2023)分析应用集成 LLM 的提示注入;作者引用的 OWASP 材料把提示注入列为 LLM 应用的主要风险。
- 越狱与红队:Wei 等(2023)的 Jailbroken、Zou 等(2023)的可迁移对抗攻击、Chao 等(2025)的二十次查询黑盒越狱,以及 Perez 等(2022)、Pathade(2025)的红队研究,讨论对齐防护可被对抗提示绕过。
- 与本文:作者称这些攻击要改变模型行为或绕过安全机制;本文的威胁是用编码表示请求披露受保护的系统指令。
对齐、提示保护与结构防御
- 对齐:Ouyang 等(2022)的 RLHF、Bai 等(2022)的 Constitutional AI,被作者写为用于加强特权指令遵循、降低对抗提示易感性。引言还提到 Wei 等(2022)的 Chain-of-Thought 与 Wang 等(2023)的 self-consistency,并称这类方法通常要额外推理步骤。
- 检测与缓解:Rebuff 做提示注入检测;ProxyPrompt 与 System Vectors 被作者列为提示抽取缓解;另有 prompt-hardening 框架。Wang 等(2025)的 polymorphic prompt 随机化提示结构,针对可预测边界。
- 与本文:作者称结构随机化打不中表示不变的泄露,因为系统指令仍在上下文中;针对覆盖指令、边界推断或恶意拼接的防御,未必处理把编码当成合法变换时的语义遵从。这一批评挂在结构与边界类防御上,论文没有把它写成 Rebuff、ProxyPrompt 或 System Vectors 各自的结论。
评测、基线与本文位置
- 评测:PromptBench 评测对抗提示上的稳健性;Raccoon 聚焦提示抽取基准。作者称红队方法已有较多研究。
- 基线与数据:实验基线是直接抽取的已验证拒答(0% ASR),不是上述攻击方法的数值对照。数据是自建系统指令,不是文中点名的外部基准。
- 定位:作者称编码式提示抽取此前缺少系统研究;本文量化多类编码、多个模型族上的泄露,并评估不改底层模型的轻量提示工程防护。
论文如何解决这个问题?
先筛支持的编码,只在直接拒答后测格式化请求,再用CoT一次性改写指令。
自动化评测与加固框架把抽取改写成编码或结构化输出,并在部署前用 CoT 模型改写系统指令。Figure 1 是评测流程,Figure 2 加上改写路径。
攻击设定与编码分类
- 成功定义:直接请求系统指令被拒绝,但等价的编码或结构化请求却揭示部分或完整系统指令,或其他敏感系统级信息。作者把这看成请求表示不同导致的失败,而不是没有拒答行为。
- 四类技术:字符级混淆(如 ROT13、Base64、leetspeak、Pig Latin);结构嵌入包装(如 JSON、YAML、TOML);符号与表示编码(如 Morse);日志与协议嵌入(如 HTTP 头、系统日志)。第 3 节还举例 Unicode、emoji、XML、Markdown、Braille 等,Table 1 并未全部单列,也未给出每列属于哪一类。
- 统一请求:各技术共用同一用户提示模板,只替换编码或格式名。论文给了一条含机密键的指令和一条格式化请求示例,此处不复述原文。
- 作者给出的机制:作者认为安全机制常在完整语义重建前按表面意图判断;格式化、序列化或表示任务可能被当成良性变换,从而输出受限内容。
自动化流程
- 四部件:编码能力探测、目标 LLM、自动提示生成器、评审 LLM(Section 4.1)。目标模型先装入固定系统指令。
- 探测:用良性的格式化或编码请求检查模型能否解释并生成该格式,只保留支持的编码。论文未列出各模型被淘汰的编码。
- 过滤与攻击:对每条指令先发直接抽取。仅当拒答时,才对每个有效编码生成攻击提示并记录评审标签(Algorithm 1)。
- 论文未写:采样温度、随机种子、重复次数、每模型查询预算。
指令集与泄露判定
- 构建:先写 80 条,覆盖 finance、healthcare、DevOps、enterprise assistant,并写入 API 标识、内部变量或机密策略。46 条在全部被测模型上对直接抽取一致拒答,进入评测(Section 4.2)。
- 基线:直接询问指令所管辖的机密变量、内部访问细节或受限上下文。模型拒答或给出安全回复,且不以全文或部分形式揭示系统指令或敏感系统信息,才纳入基准(Section 4.3)。
- 评审输入:原系统指令、用户攻击提示、目标回复。判为 Leakage 的情形包括原文、片段、改写、编码表示、机密变量,以及任何可用于重构系统指令的信息;否则 No Leakage。输出限定为这两个标签(Section 5.3.2)。
- 评审模型:GPT-OSS-120B,本地部署在 NVIDIA DGX Spark 上。论文称对随机子集做了人工复核,未报告一致率或抽查条数。
设计期指令改写
- 位置:部署前用 CoT 模型改写,不是推理时 CoT,也不重训目标模型(Figure 2,Algorithm 2)。摘要称之为 one-shot instruction reshaping。改写模型同样是 GPT-OSS-120B(Section 5.3.2)。
- 三要素:显式不可披露规则,禁止原文、部分或可重构泄露;请求试图变换、编码或以其他方式暴露受保护信息时触发拒答;优先级约束使保密政策压过用户指定的格式或输出指令。
- 流程:CoT 模型生成改写指令,评测框架分别测原指令与改写后指令的泄露,并计算差值。论文展示了一条改写前后示例,此处不复述其中的键值或条款原文。
- 未单独实验的防御:作者讨论结构随机化,并称随机化分隔符不能阻止模型把格式化请求当成合法变换,因为系统指令仍在上下文窗口内。该讨论没有单独的实验表。
成功指标
对模型 M、编码 e,论文定义 ASR(M,e)=1/(|S|)∑s∈ S𝕀[Leak(M,s,e)],即基准指令集中被判为泄露的比例。Table 3 的 Reduction(%) 按表注为 100×(Before−After)/Before。
论文做了哪些实验?
直接抽取基线为0% ASR;GPT-4.1-mini的YAML加固前为0.9565,LLaMA字符级改写后仍为0.7826。
实验设置
- 被测模型:Section 5.1 列出七个:GPT-4.1-mini、GPT-3.5-turbo、Gemini-2.5-flash、LLaMA-3-8B、Mistral-Small-3.1-24B、Microsoft-Phi-3.5-MoE-Instruct、IBM Granite 4.0 H-Small FP8。Table 1–3 的 Mistral 行写为 Mistral-Small-4-119B,表头 Phi 写作 Microsoft-Phi-3.5-MoE Instruct。论文未说明前一对名称是否为同一模型。作者称覆盖托管聊天模型与本地部署 LLM,未逐个标明部署方式。
- 数据:初构 80 条,选出在全部被测模型上对直接抽取一致拒答的 46 条。论文未按模型报告编码攻击的实际条数;Table 1 各行小数步长并不相同。
- 基线与攻击:直接询问受保护信息。入选指令的直接抽取 ASR 为 0%(Section 5.4)。编码攻击使用统一模板,只替换格式名,此处不复述模板。
- 指标:ASR 为指令集上 Leak 指示的比例。泄露含原文、片段、改写、编码形式、机密变量或可重构信息。Section 5.4 写 Table 1 以百分数报告,表内数字是 0–1 小数,下文照录表内数字。
- 评审:GPT-OSS-120B 做二值分类。论文称做了随机子集人工标注并与评审比较,未报告样本量、一致率或重复次数。
- 加固:同一 GPT-OSS-120B 以 CoT 生成改写指令,再用同一判定重测(Section 6)。论文未报告温度、解码参数或每条查询次数。
主结果
下表只列 YAML、TOML 与结构嵌入类。YAML/TOML 加固前据 Table 1,YAML 后据 Table 2,结构类据 Table 3。直接抽取基线为 0% ASR,不列入表。
表格较宽,可左右滑动
模型 YAML前 TOML前 YAML后 结构类前 结构类后 GPT-4.1-mini 0.9565 0.9130 0.6304 0.9783 0.6739 GPT-3.5-turbo 0.8478 0.8696 0.3478 0.9565 0.4348 Gemini-2.5-flash 0.6087 0.6304 0.0435 0.7391 0.1087 LLaMA-3-8B 0.8913 0.8696 0.5435 0.9565 0.7609 Mistral-Small-4-119B 0.6552 0.7586 0.2414 0.7011 0.1609 Microsoft-Phi-3.5-MoE Instruct 0.7667 0.8000 0.5000 0.7000 0.3778 IBM Granite 4.0 H-Small FP8 0.5000 0.5294 0.2941 0.5392 0.1961 - 作者称结构嵌入包装的 ASR 最高,且常超过 90%。表中 Gemini、Mistral 与 Granite 的 YAML 或 TOML 并未超过 0.9;摘要所写的 ≥ 0.7 同样不覆盖 Gemini 与 Granite 这两行。
- 作者称开源与轻量模型更易泄露、对齐更重的模型更不易。表中 GPT-4.1-mini 的 YAML 与结构类高于 Granite 和 Gemini,与这句不完全一致。论文只把 LLaMA-3-8B 标成 non-CoT。
- 作者称已验证的直接拒答不能换成对编码的稳健性。作者还称 Table 3 是类别内技术、全部指令上的平均;其数字与 Table 1 对应列的算术平均并不相同,论文未再解释聚合方式。
类别聚合与降幅
- 字符级与日志类:Table 3 字符级加固前,LLaMA-3-8B 为 0.7826,Granite 为 0.2059;改写后前者仍为 0.7826(Reduction 0.0000),后者为 0.0074(Reduction 96.400)。日志与协议类加固前,LLaMA-3-8B 为 0.9783,Granite 为 0.3382;改写后分别为 0.8043 与 0.0147。
- 符号类:加固前 GPT-4.1-mini 为 0.1087,Granite 为 0.0000。Mistral-Small-4-119B 的 Before/After 为 0.1379/0.0000,Reduction 列写 13.790;Phi 为 0.1000/0.0000 与 10.000。这两格与表注公式不一致,论文未解释。Granite 符号类前后均为 0.0000,Reduction 为 00.000。
- 作者解读:作者称改变任务框架的结构类和日志类比只改表面字符更有效,泄露不只来自 tokenizer 盲点。Table 3 结构类 Reduction 中,Gemini-2.5-flash 为 85.300,GPT-4.1-mini 为 31.100,LLaMA-3-8B 为 20.500。作者称专有模型在指令改写后降幅更大,LLaMA-3-8B 改善更少。
加固后的逐技术例外
- 高于加固前的格子:LLaMA-3-8B 的 Pig Latin 从 Table 1 的 0.4348 到 Table 2 的 0.4783,Rot13 从 0.2391 到 0.2609,Leetspeak 从 0.6087 到 0.6522。GPT-4.1-mini 的 Syslog 从 0.1522 到 0.2117。
- 改写后仍高的结构格式:Table 2 中 GPT-4.1-mini 的 YAML 为 0.6304、TOML 为 0.4130;Phi 的 TOML 为 0.5667、YAML 为 0.5000、Git Ignore 为 0.4000。Gemini-2.5-flash 多数列为 0.0000,Cron Comment 为 0.1304。
- 作者解读:作者称把非正式保密陈述改成显式规则层级后,推理时不必做 CoT 也能降低泄露,且未加入针对特定编码的规则。作者认为稳健性也取决于约束如何措辞。论文未解释上述升高的格子。
其他消融与分析
- 措辞:作者称在格式名上多一个上下文词,或换用语义等价的抽取问法,都会改变 ASR;论文未给出这些提示各自的 ASR。
- Base64 加固前:GPT-3.5-turbo 为 0.0435,GPT-4.1-mini 为 0.0870,Granite 为 0.2647(Table 1)。
- Emoji 加固前:Phi 与 Granite 为 0.0000,LLaMA-3-8B 为 0.1957(Table 1)。
- Morse 加固前:Granite 为 0.0000,GPT-4.1-mini 为 0.0652,Phi 为 0.2000(Table 1)。
- JSON Wrapper 加固前:GPT-4.1-mini 为 0.2391,LLaMA-3-8B 为 0.6739,Mistral-Small-4-119B 为 0.6897(Table 1)。
- 人工核验:论文称做了随机子集人工标注,未报告一致率。Section 5.4.1 提出系统提示在模型内部是特权指令还是序列化输入的一部分,论文未给出对应测量。
有什么可以进一步探索的点?
作者指出模型范围、预定义编码、二值指标和仅提示级加固带来的局限。
作者指出的局限与后续方向
- 评测用的是一组商业与开源权重模型,作者称结果未必推广到全部当前或未来 LLM(Section 8)。
- 攻击语料是预先定义的编码与序列化技术;作者称攻击者可能使用未评测的其他表示或多阶段抽取(Section 8)。
- 成功指标是二值的,不区分部分与完整披露;作者称部分边界情况可能需要人工判断,并提出以后可做更细的泄露比例指标(Section 8)。
- 防御只做提示级加固,不涉及重训练、架构修改或外部安全控制;作者称观察到的是实际风险下降,不是完全消除泄露(Section 8)。
- 实验在受控条件下进行;作者称真实应用还可能有检索、智能体框架和外部工具,超出本研究范围(Section 8)。
- 作者提出后续可做更细粒度泄露指标、更宽的编码分类、多轮或工具辅助抽取,以及能处理变换请求和语义等价的保密机制(Section 9)。
实验覆盖范围
- 被测模型为 Section 5.1 所列七个;结果表使用 Mistral-Small-4-119B 这一写法,与 Section 5.1 的 Mistral-Small-3.1-24B 不同,论文未说明是否同一模型。
- 指令从 80 条中选出 46 条,领域为 finance、healthcare、DevOps、enterprise assistant;直接抽取基线为 0% ASR。论文未按模型说明编码攻击的分母。
- 编码结果覆盖 Table 1 的 13 列技术,以及 Table 3 的四类聚合;加固由 GPT-OSS-120B 做一次性改写后再测(Table 2、Table 3)。
- 泄露判定是 GPT-OSS-120B 的二值输出。论文写了人工抽查,未报告一致率、抽查条数、重复次数、温度和查询预算。
- 论文讨论了 polymorphic prompt assembly,并称它不消除表示不变的泄露,因为系统指令仍在上下文窗口内;该讨论没有对应的本文实验数字。
总结一下论文的主要内容
编码式请求可在直接拒答后引出系统指令;CoT改写降低多数ASR,LLaMA字符级未降。
这项工作评测并加固 LLM 系统指令在编码式抽取下的保密性。作者关心的是:直接抽取已被拒绝时,把同一请求改写成格式化或编码任务,模型是否仍交出受保护内容。
- 做法:框架先确认模型能生成该编码,只保留直接抽取被拒的指令,再发统一的格式化请求,由 GPT-OSS-120B 做二值泄露判定。泄露包括原文、片段、改写、编码形式、机密变量和可重构信息。加固发生在部署前:同一模型把保密陈述改成不可披露、拒答触发和优先级约束,不重训目标模型,推理时也不要求 CoT。
- 数据与基线:自建指令从 80 条中选出 46 条,领域含 finance、healthcare、DevOps、enterprise assistant。直接抽取 ASR 为 0%。
- 加固前:摘要写结构化序列化 ASR ≥ 0.7。Table 1 的 YAML 上,GPT-4.1-mini 为 0.9565,Gemini-2.5-flash 为 0.6087,IBM Granite 4.0 H-Small FP8 为 0.5000。Table 3 结构类加固前,GPT-4.1-mini 为 0.9783,Granite 为 0.5392;日志与协议类上 LLaMA-3-8B 为 0.9783。
- 加固后:Table 2 中 GPT-4.1-mini 的 YAML 为 0.6304。Table 3 中 LLaMA-3-8B 字符级前后均为 0.7826。同模型 Pig Latin、Rot13、Leetspeak 的 Table 2 数字高于 Table 1;GPT-4.1-mini 的 Syslog 从 0.1522 到 0.2117。
- 作者的结论:作者称这类泄露不同于覆盖系统指令的提示注入,模型把序列化当成合法变换。作者认为显式规则层级可以降低泄露,但需要能处理变换请求和语义等价的保密机制;部分披露仍可能提供侦察信息。作者把提示级加固解释为风险下降,而不是消除泄露。