SRFT:让 Agent 从失败经验中自我反思以抵御提示注入
Self-Reflection Fine-Tuning: Enhancing Agent Security against Prompt Injection Attacks from Failure Experience
SRFT让智能体从失败经验学习拒注入,AgentDojo上Llama骨干ASR从7.59%降到1.26%。
间接提示注入:攻击者为第三方,把恶意指令插入网页或收件箱等外部资源,使智能体执行攻击者命令。
- 工具型LLM智能体依赖网页、邮件和工具返回,间接提示注入可劫持原任务。作者称现有对齐依赖静态专家轨迹或偏好优化,难以泛化到自适应攻击。
- SRFT在干净专家轨迹中插入可执行注入,采样智能体自身的失败动作,再由专家模型生成对比不安全与最优动作的自反思,并监督微调出SR-Agent。
- SR-Agent在AgentDojo上:Llama骨干ASR 1.26%(未防御7.59%),Qwen3-8B骨干1.05%(未防御16.97%)。RL-Hammer终点17.5%,对照Meta-SecAlign-8B为69.5%。
- 结论仅提出扩展到computer-use与web agent,未单列局限。评测含Llama-3.1-8B、Qwen3-8B/4B、AgentDojo与RL-Hammer;通用能力只报Llama家族。
- Threat model
- 间接提示注入:攻击者为第三方,把恶意指令插入网页或收件箱等外部资源,使智能体执行攻击者命令。防御者阻止被外部指令劫持,并尽量完成原用户任务;不假设用户是攻击者。攻击者只有现实可行的攻击面,论文不采用可任意改写外部环境的假设。
- Evaluated models
- SR-Agent-LlamaSR-Agent-Qwen3-8BSR-Agent-Qwen3-4B
- Benchmarks
- AgentDojoInjecAgentMMLUMMLU-ProIFEvalBBHAgentDynTOUCAN
- Metrics
- ASRBenign UtilityUtility under AttackTrade-off
研究者提出 Self-Reflection Fine-Tuning(SRFT)训练框架,让 LLM Agent 通过从自身在对抗条件下的失败经验中学习来提升鲁棒性。该方法不被动模仿专家行为,而是让 Agent 接触由注入攻击构造的被污染轨迹,再由专家模型生成结构化的自我反思推理,对比不安全动作与最优动作,从而学会识别恶意指令、推理其后果并保持与原始用户意图一致。作者基于 Llama-3.1-8B-Instruct 和 Qwen3-8B 构建了 SR-Agent,并在静态与自适应提示注入基准上评测,结果显示 SRFT 大幅降低攻击成功率,同时保持任务性能,在自适应攻击下也表现出较强泛化能力。代码已公开。
Paper analysis
What problem does this paper attempt to solve?
静态专家轨迹难覆盖自适应注入,SRFT让智能体从自身失败中学习拒劫持。
LLM智能体读取外部工具内容时,易被间接提示注入劫持原任务。
- 场景:作者称智能体依赖网页、邮件和工具返回,完成导航、电脑操作与编程等任务。外部内容中的恶意指令可造成goal hijacking。作者称OWASP 2026将提示注入列为智能体应用的首要风险。
- 现有不足:系统级防御用架构和策略限制危险动作,作者称工程量大并降低通用性。StruQ、SecAlign、Meta SecAlign等模型级方法依赖静态专家轨迹或偏好优化;作者称它们偏模式匹配,并会僵硬抑制外部指令。
- 观察:只接触预定义攻击、且没有攻击结果反馈时,智能体难以发现并修正失败。作者称强化学习能采集分布外数据,但环境构建和长程训练成本高。
- 本文方法:提出Self-Reflection Fine-Tuning(SRFT)。在被注入轨迹上暴露自身失败,由专家模型对比不安全动作与最优动作并写自反思,再微调得到SR-Agent。
- 威胁模型:
- 攻击者目标:第三方把恶意指令写入网页或收件箱等外部资源,使智能体执行攻击者命令。
- 防御者目标:阻止外部指令劫持,并尽量完成原用户任务。间接提示注入中不假设用户是攻击者。
- 攻击者能力:只使用现实可行的攻击面。作者不采用可任意改写外部环境的假设,并称该假设会高估攻击者。
What related research exists?
相关工作分工具智能体、提示注入评测与红队、系统级和模型级防御。
论文在第2节和附录A按工具智能体、提示注入、防御分组,并说明训练数据与多步轨迹上的差别。
智能体与工具使用
- 早期框架:ReAct(Yao et al., 2023)与Toolformer(Schick et al., 2023)把推理和工具动作交错,以完成复杂任务。
- 环境接入:后续系统把LLM接到浏览器、代码解释器、第三方API和操作系统(Nakano et al., 2022; Deng et al., 2023; Zhou et al., 2024; Yang et al., 2024; Xie et al., 2024; Wu et al., 2024等)。
- 轨迹学习:Zhang et al. (2025)与Wang et al. (2025b)用演示或环境反馈做监督微调或强化学习,以增强工具使用。论文只作描述。
提示注入与评测
- 攻击面:Perez and Ribeiro (2022)、Wei et al. (2023)讨论模型难区分可信指令与不可信外部内容。Greshake et al. (2023)、Kang et al. (2023)讨论网页、邮件、文档、检索内容和API响应中的恶意指令。
- 基准:InjecAgent测相对隔离的单步注入跟随。AgentDojo提供沙箱,在多步工具执行中经工具观察引入攻击,并同时看安全与任务效用。
- 自适应红队:PAIR与TAP(Chao et al., 2024; Mehrotra et al., 2024)用目标反馈迭代改写越狱提示。RL-Hammer(Wen et al., 2025)用GRPO训练攻击模型重写注入,奖励来自目标回复。
提示注入防御
- 系统级:沙箱、权限、工具策略、信息流限制和外部监控(Rebedea et al., 2023; Inan et al., 2023; Robey et al., 2024; Debenedetti et al., 2025; Li et al., 2025; Shi et al., 2025; Wu et al., 2025)。作者称特定应用中有效,但工程量大,跨环境不一定好泛化。
- 模型级:StruQ分开可信指令与不可信输入并微调;SecAlign把防御写成偏好优化;Meta-SecAlign扩大该范式并给出开源安全基座,作者称其达到state-of-the-art。ReasAlign把结构化推理引入防御训练。
- 作者的批评:作者称StruQ、SecAlign、Meta-SecAlign的主防御数据来自Cleaned Alpaca加合成注入,不显式建模多步工具交互;这类方法主要模仿专家或做基于模式的抑制,对多样、自适应攻击的泛化可能有限。
基线与基准
- 基线方法:未防御的Llama-3.1-8B-Instruct、Qwen3-8B、Qwen3-4B,以及同Llama骨干上的Meta-SecAlign-8B。Qwen表未把Meta-SecAlign列入对照。
- 基准:AgentDojo、InjecAgent;通用能力为MMLU、MMLU-Pro、IFEval、BBH;附录另用AgentDyn。训练轨迹来自TOUCAN。
作者把SRFT与上述模型级防御分开:在多步工具轨迹中对比智能体采样动作和专家动作及其可能后果,用失败经验学习,而不是只模仿已知防御模式。
How does the paper address this problem?
SRFT分四阶段:合成注入轨迹、采样失败动作、专家写自反思、再监督微调。
SRFT把提示注入防御从模仿专家动作改成学习失败经验。四阶段为:合成可执行注入并插入干净专家轨迹;在被攻击上下文采样参考智能体的原始动作;专家模型写自反思;用反思加最优动作做监督微调,得到SR-Agent。
轨迹与训练目标
- 轨迹:一条智能体轨迹写成交错的状态与动作。s0含系统提示、工具定义和用户指令;ai是工具调用;si是工具输出;最后一步给出完成说明或最终答案。注入可出现在任一中间观察。
- 监督信号:注入不改变原任务目标,因此最优动作仍是原专家动作。训练时模型要在被攻击的前缀上先写出自反思,再给出该最优动作。
- 损失:第4.5节的目标是L=−log Pθ(Ci,ai∣ Hi),即在前缀Hi上联合预测自反思Ci与最优动作ai。作者将其分成两项:先生成反思,再在反思条件下生成动作。
阶段I:注入数据合成
- 可执行注入:从无注入的专家演示出发,专家LLM G1按当前工具集生成注入任务。实验中G1与后续思维链都用Claude Sonnet 4.6。附录B.1给出Template 1。
- 插入方式:注入任务经预定义触发函数变成触发器,以概率0.5插入中间观察的随机位置(开头、中间或结尾)。作者称这是为了避免模型利用位置偏差。触发池有750个模板,20个来自StruQ,730个来自TaskTracker。
- 不改目标:插入后最优专家动作保持不变。附录B.1给出提示词、触发模板和一条被攻击轨迹示例。
阶段II–III:失败采样与自反思
- 采样对象:不直接模仿被攻击后的专家轨迹。每步在前缀上从参考策略采样候选动作,其中可包含跟随注入或非预期工具调用。实验中每个assistant步采3条回复。
- 反思内容:专家LLM G2按附录B.2的Template 2,依据前缀、最优动作和候选集写三段:概括情境与原用户目标;指出观察中的注入并解释恶意意图;对比最优动作与候选,并可用假想的下一步观察讨论后果,如非预期工具使用、偏离原任务或信息泄露。
- 训练与推理的差别:反思以注入真值和参考模型自身失败为条件。作者称推理时模型看不到这些条件,需要只从对话复现三段分析。附录B.2给出完整提示词和一条推理示例。
阶段IV:微调设置
- 优化:每步目标是在轨迹前缀下生成反思和最优动作。前一项对应对抗观察下的安全意识,后一项对应对齐原任务的动作。
- 模型与超参:主模型微调Llama-3.1-8B-Instruct;同一数据还训练Qwen3-8B和Qwen3-4B。LoRA的rank为64、α为96,作用在每层query、key、value、output投影;Llama-3.1-8B约55M可训练参数。训练3个epoch,学习率5×10−6,cosine调度、10% warmup,有效batch 16,上下文8k,bfloat16。
- Qwen推理提示:Qwen3的SR-Agent在系统提示后追加一段指令,要求概括原目标、识别注入,并思考既能完成任务又拒绝注入的动作。附录B.3给出全文。作者随后用未训练模型说明这段文字本身不是防御。
数据规模与成功判定
- 训练集:基座来自TOUCAN的真实MCP数据,选取Hotel booking、Email sender、Windows Command Line、Markdown Downloader、Minecraft Wiki。筛出402个多工具用户任务,合成38个恶意注入任务;另把285条其他轨迹中的用户请求以同样方式插入,使插入文本不总是明显恶意。最终3698条轨迹、22339个assistant步。Table 5中带注入的工具观察占37.8%,正文写38%。自反思平均396 token,中位数401(Llama-3.1-8B分词器)。
- 判定:沿用AgentDojo与InjecAgent,报告Benign Utility、Utility under Attack和Attack Success Rate。AgentDojo另报告Trade-off,定义为Utility under Attack加(100减ASR)。
What experiments did the paper conduct?
AgentDojo上SR-Agent-Llama的ASR为1.26%;其RL-Hammer最终ASR为17.5%。
实验设置
- 模型:SR-Agent-Llama、SR-Agent-Qwen3-8B、SR-Agent-Qwen3-4B。对照为Llama-3.1-8B-Instruct、Qwen3-8B、Qwen3-4B和Meta-SecAlign-8B。注入与思维链由Claude Sonnet 4.6生成。RL-Hammer另训练攻击者LLaMA,奖励还用一个较弱的LLaMA,权重3:1。
- 基准:AgentDojo含Banking、Slack、Travel、Workspace,共949条轨迹,使用该基准默认的important instructions攻击。InjecAgent用于自适应评测:510个direct-harm基础案例(17个用户任务×30条攻击指令),划分为310/100/100,测试集100条,各攻击者共用。通用能力为MMLU、MMLU-Pro、IFEval、BBH。附录AgentDyn含shopping、GitHub、daily life,60个良性任务和560个受攻击任务。
- 指标:Benign Utility、Utility under Attack、ASR;Trade-off为UA加(100减ASR)。AgentDyn用该基准的程序化utility与security检查。
- 判定:论文未写LLM裁判、人工标注或一致性。ASR与效用沿用AgentDojo、InjecAgent的设定。AgentDyn的Meta-SecAlign-8B一行来自原作者发布轨迹,Llama与SR-Agent为本流水线运行。
- 重复:RL-Hammer对每个目标单独训练攻击者,20个epoch,Table 7和Table 8是两次独立训练(不同种子、同一协议)的均值,不做checkpoint选择。论文未报告AgentDojo主表的重复次数。
- 推理设置:Qwen3-8B与对应SR-Agent开启think,思考预算512 token;未在预算内结束则追加强制过渡,观测到的思考长度上限为532 token。
主结果
下表为论文聚合行,单位与原文表一致(%)。分套件不在此表中。
Swipe horizontally to read the table
模型 Benign UA ASR Trade-off 出处 Llama-3.1-8B-Instruct 27.84 23.08 7.59 115.49 Table 1 All Meta-SecAlign-8B 23.71 19.07 0.95 118.12 Table 1 All SR-Agent-Llama 37.11 29.08 1.26 127.82 Table 1 All Qwen3-4B 57.73 50.58 10.85 139.73 Table 2 SR-Agent-Qwen3-4B 50.52 49.21 0.84 148.37 Table 2 Qwen3-8B 60.82 50.47 16.97 133.50 Table 2 SR-Agent-Qwen3-8B 51.55 46.68 1.05 145.63 Table 2 - 作者解读:作者称Llama全套件上ASR下降,Benign Utility与UA上升,trade-off高于Meta-SecAlign-8B,并称这体现自反思训练在智能体工作流中的作用。
- 分套件例外:Table 1并非每套件都如此。Travel上SR-Agent-Llama的Trade-off为107.14,低于Meta-SecAlign-8B的117.86,也低于未防御的108.57;其UA为7.14。Banking上SR-Agent-Llama的ASR为5.56%,高于Meta-SecAlign-8B的1.39%。
- Qwen方向不同:作者称4B与8B上都降低ASR并提高trade-off。表中两档SR-Agent的Benign Utility和UA都低于对应未防御模型,与Llama聚合行的效用方向不同。
自适应攻击RL-Hammer
- 测了什么:在InjecAgent上为每个目标单独训练攻击者,画训练epoch上的ASR(Figure 3)。端点在Table 7,为两次训练的均值。
- 结果:Llama家族最终ASR:未防御98.5%(Last-5为97.9%,峰值99.0%在epoch 16),Meta-SecAlign-8B为69.5%(Last-5为62.1%,峰值69.5%在epoch 20),SR-Agent为17.5%(Last-5为19.8%,峰值26.5%在epoch 13)。Qwen3-8B未防御最终59.5%(Last-5为62.8%,峰值68.0%在epoch 16),SR-Agent最终17.0%(Last-5为16.8%,峰值21.5%在epoch 19)。
- 作者解读:摘要称此设置下Meta SecAlign的ASR超过60%,SR-Agent最终ASR低于20%;上列Table 7终点与之对应,但两族SR-Agent的峰值分别为26.5%和21.5%。作者称SR-Agent更低,是因为它学习识别失败并比较最优与被劫持动作,而不只是安全/不安全偏好。Figure 3(b)与Table 7的Qwen行未报告Meta-SecAlign。
自反思消融
- 训练时:同一被攻击轨迹和专家动作上微调Qwen3-8B(Table 8、Figure 3(c))。去掉失败经验分析后最终ASR为65.0%,Last-5为65.0%,峰值67.0%在epoch 8。完全去掉反思时,think on与think off的最终ASR都是60.0%。对照的SR-Agent最终为17.0%,未防御为59.5%。
- 测试时:第5.5.2节关掉推理后,全套件ASR从1.05%升至14.33%(Table 3)。该节未点名骨干;1.05%与Table 2的SR-Agent-Qwen3-8B相同,分套件think数字与Table 6的SR-Agent行相同:Banking 4.86%、Slack 1.90%、Travel 0.00%、Workspace 0.17%。no-think为30.56%、44.76%、16.43%、3.93%。
- 作者解读:作者称只重述目标和识别注入,不能复现SRFT的结果;显式推理参与检测注入和选择仍对齐原目标的动作,鲁棒性不只是记住安全回复。
推理开销
- 测了什么:在AgentDojo上比较Qwen3-8B与SR-Agent的思考token和总生成token(Table 4)。
- 结果:思考token均值从451.70到369.94,中位数从532.00到364.00。生成token均值从515.82到442.51,中位数从553.00到428.00。
- 作者解读:作者称SRFT没有增加推理开销,自反思监督使推理更短、动作生成更集中。
其他消融与分析
- Figure 2(Llama-3.1-8B家族):作者称SR-Agent-Llama与基座在MMLU、MMLU-Pro、IFEval、BBH上相当,平均高于Meta-SecAlign-8B,差别在IFEval上更明显。纯文本无法把图中分数对齐到模型,不转写。
- Table 6:同一系统提示加到未训练Qwen3-8B,全套件ASR从16.97%到14.75%;Banking从31.25%到36.81%,Travel从32.14%到9.29%。作者称该提示是触发,不是防御。
- Table 9 AgentDyn全套件:SR-Agent-Llama良性效用10.00、ASR 1.96;未防御11.67与9.82;Meta-SecAlign-8B为5.00与5.54。GitHub上SR-Agent ASR为2.78,与Meta-SecAlign-8B相同,高于未防御的1.67。Shopping上Meta-SecAlign-8B的良性效用和ASR都是0.00。
- Table 1分套件:Slack上未防御Benign Utility为52.38%,SR-Agent-Llama为33.33%。Workspace上未防御ASR为0.36%,SR-Agent-Llama与Meta-SecAlign-8B都是0.71%。
- Table 5:五平台带注入观察的比例为35.8%至39.7%,合计37.8%;正文写38%。
What are some points that can be further explored?
结论仅提出扩展到computer-use与web agent,未单列方法局限。
作者指出的局限与后续方向
- 论文没有Limitations专节,也没有在Discussion中把某项结果写成方法本身的不足。
- 第6节Conclusion写明:未来工作可将该范式扩展到更广的环境,例如computer-use agent或web agent。
实验覆盖范围
- 微调骨干为Llama-3.1-8B-Instruct、Qwen3-8B和Qwen3-4B。AgentDojo上与Meta-SecAlign-8B的对照只出现在Llama家族(Table 1);Table 2未报告Qwen上的Meta-SecAlign。
- 静态智能体评测为AgentDojo(949条轨迹,四套件,默认important instructions攻击)和附录AgentDyn(60个良性任务、560个受攻击任务,shopping、GitHub、daily life)。自适应攻击为InjecAgent上的RL-Hammer:100个测试案例,两次攻击者训练的均值,20个epoch。
- 通用能力只报告Llama-3.1-8B家族的MMLU、MMLU-Pro、IFEval、BBH(Figure 2)。论文未报告Qwen的对应结果。
- 训练注入由Claude Sonnet 4.6按工具列表合成:38个恶意任务,另加285条跨轨迹用户请求;每步采样3个候选动作。论文未报告AgentDojo主结果的重复次数,也未报告人工评审或与自动判定的一致性。
- Figure 3(b)与Table 7的Qwen3-8B自适应曲线含未防御模型和SR-Agent,未报告Meta-SecAlign-8B。AgentDyn的Meta-SecAlign-8B分数来自原作者发布轨迹,不是本文同一流水线重跑(附录C.3)。
Summarize the main content of the paper
SR-Agent在AgentDojo上把Llama骨干ASR降到1.26%,RL-Hammer最终ASR为17.5%。
SRFT是一种面向工具型LLM智能体的提示注入防御微调,实例为SR-Agent。
它针对的是goal hijacking:网页、邮件或工具返回中的恶意指令会把智能体带离用户目标。作者认为,静态专家轨迹和偏好优化主要模仿已知防御或抑制外部指令,难以覆盖自适应攻击;直接用强化学习又受环境构建和长程训练成本限制。
方法在干净专家轨迹中以0.5的概率插入可执行注入,让参考智能体采样可能不安全的动作,再由专家模型写下原目标、注入识别和动作后果三段反思,监督模型先反思再输出原任务的最优动作。骨干为Llama-3.1-8B-Instruct、Qwen3-8B和Qwen3-4B。
- AgentDojo全套件上,SR-Agent-Llama的ASR为1.26%,未防御Llama-3.1-8B-Instruct为7.59%,Meta-SecAlign-8B为0.95%;SR-Agent-Llama的Benign Utility为37.11%,Trade-off为127.82(Table 1)。Travel套件上其Trade-off为107.14,低于Meta-SecAlign-8B的117.86。
- 同基准上SR-Agent-Qwen3-8B的ASR为1.05%,未防御为16.97%;Benign Utility从60.82%到51.55%(Table 2)。4B上SR-Agent的ASR为0.84%,未防御为10.85%。
- InjecAgent上RL-Hammer的最终ASR:Llama家族SR-Agent为17.5%,Meta-SecAlign-8B为69.5%,未防御为98.5%;Qwen3-8B上SR-Agent为17.0%(Table 7,两次攻击者训练的均值)。两族SR-Agent的峰值分别为26.5%和21.5%。
- 去掉失败经验分析后,Qwen3-8B变体的最终ASR为65.0%(Table 8)。第5.5.2节关掉思考后,全套件ASR从1.05%升至14.33%(Table 3)。
作者认为,从失败中做自反思有助于超出静态攻击模式,并在维持任务效用的同时加强稳健性。第6节称未来可将该范式扩展到computer-use agent或web agent。