Skip to content

Translation in progress Some entries still include text in the original language.

论文追踪· arXiv:2607.19595· Zhanhao Hu, Dennis Jacob, Xiao Huang, Zhaorun Chen, Bo Li, David Wagner·Indexed by this site · Originally published

Twin Agent:面向权限分离智能体的上下文残差压缩

Twin Agent: Context Residual Compression for Privilege Separated Agents

Quick read

Defenses

Based on 论文 PDF (AI 生成); refer to the original

Twin Agent用受限hint防注入;SWE-bench-injected上GPT-5.2非自适应ASR为0.0%。

Threat model攻击者经由不可信输入(issue、工具输出)注入指令,操纵推理与特权工具调用。

Questions
LLM智能体既要处理不可信信息,又要执行特权动作,提示注入可操纵后续推理和工具使用。作者认为现有特权分离常降低效用,并需要大量任务专用工程。
Methods
Twin Agent含近对称的Explore Agent与Safe Agent:前者读不可信内容但不能做特权动作,后者做特权动作且不直接看不可信内容。前者按后者当前轨迹只传预算内残差hint;超限截断或拦截,检测为注入则丢弃。
Experiments and results
非自适应下,SWE-bench-injected上GPT-5.2 Twin的Utility为62.5%、ASR为0.0%。AgentDojo上Gemini-2.5-Flash Twin的ASR为0.1%。自适应多轮ASR为4.7%。
Limitations and future work
作者指出评测领域少且无形式化保证,更强攻击可能击败设计。实验含三个基准;自适应攻击仅为SWE上的两阶段评测,论文未报告攻击者LLM型号与主结果重复次数。
Experimental setupGPT-5.2、Gemini-2.5-Flash et al. · SWE-bench Lite、SWE-bench-injected et al. · Utility、ASR
Threat model
攻击者经由不可信输入(issue、工具输出)注入指令,操纵推理与特权工具调用。Explore Agent可见U但不能执行特权动作;Safe Agent执行特权动作,仅经长度受限且可被检测器拦截的hint接触不可信内容。自适应攻击知晓Twin Agent设计,PAIR在white box设置下进行。
Evaluated models
GPT-5.2Gemini-2.5-FlashGemini-3.5-Flash
Benchmarks
SWE-bench LiteSWE-bench-injectedAgentDojoDecodingTrust-Agent
Metrics
UtilityASR
AI summary研究者提出 Twin Agent,一种受残差编码启发的通用权限分离设计模式,用于抵御来自不可信上下文的提示注入攻击。该设计由两个近似对称的智能体组成:Explore Agent 检查不可信信息,Safe Agent 执行特权操作;Explore Agent 以 Safe Agent 当前上下文为条件,只向其传递关于下一步动作的紧凑提示,从而减少维持任务效用所需的信息量。作者通过测量提示长度变化时效用与攻击成功率的变化,验证了该设计在安全与效用之间取得更好的权衡。在 SWE-bench Lite 的长程软件工程任务以及 AgentDojo、DecodingTrust-Agent 的异构多工具交互任务上,Twin Agent 在保持高任务效用的同时阻止了提示注入攻击,表现优于无防御智能体和权限分离基线。

研究者提出 Twin Agent,一种受残差编码启发的通用权限分离设计模式,用于抵御来自不可信上下文的提示注入攻击。该设计由两个近似对称的智能体组成:Explore Agent 检查不可信信息,Safe Agent 执行特权操作;Explore Agent 以 Safe Agent 当前上下文为条件,只向其传递关于下一步动作的紧凑提示,从而减少维持任务效用所需的信息量。作者通过测量提示长度变化时效用与攻击成功率的变化,验证了该设计在安全与效用之间取得更好的权衡。在 SWE-bench Lite 的长程软件工程任务以及 AgentDojo、DecodingTrust-Agent 的异构多工具交互任务上,Twin Agent 在保持高任务效用的同时阻止了提示注入攻击,表现优于无防御智能体和权限分离基线。

Paper analysis

6 questions; open one to read the full answer

  1. What problem does this paper attempt to solve?

    不可信上下文会经提示注入操纵特权动作;Twin Agent用长度受限的残差hint做特权分离。

    不可信输入可经提示注入操纵智能体的下游推理与特权工具调用。

    • 场景:作者指出,LLM智能体在开放环境中既要处理不可信信息,又要执行代码、文件系统、网页或API等特权动作。不可信输入可被当成指令,从而诱导有害或非预期动作。
    • 现有不足:Dual LLM、CaMeL等secure-by-design做法把不可信观察与特权执行分开,但plan-first难以适应要反复探查、按反馈改策略的长程任务。布尔值或枚举等受限通信又难在混杂信息中保住效用,且常要手工工作流、刚性接口或任务专用策略。
    • 核心观察:作者认为,攻击最新、最强的模型通常需要较长注入,而保住下一步有用动作往往只需较少任务相关信息。防御应拉开这两类信息量。
    • 提出的方法:Twin Agent用Explore Agent检查不可信信息,用Safe Agent执行特权动作;前者以后者当前上下文为条件,只传紧凑残差hint。作者用hint长度变化时的效用与攻击成功率来看安全–效用权衡。
    • 威胁模型:
      • 目标:使受害智能体遵循攻击者指定目标,或执行有害、非预期的特权动作。评测目标包括写文件、删文件,以及工具输出中的注入指令。
      • 受害系统:同时处理不可信上下文并保留特权动作的LLM智能体,实例包括SWE-agent及工具调用智能体。
      • 知识与输入:攻击者可控制不可信区域,如用户提交的issue、检索或网页内容、工具输出。自适应评测知晓Twin Agent的核心设计,并用white box的PAIR优化hint。论文未把主威胁写成black-box或gray-box。
      • 隔离后的通道:Safe Agent不能直接观察U。作者称hint是其唯一可被不可信内容影响的输入;超预算hint被截断或拦截,被检出注入的hint被丢弃。
  2. What related research exists?

    论文将相关工作分为提示注入、模型侧防御与特权分离,并批评后两类的自适应风险或效用下降。

    引言与Related Work按攻击、模型侧防御和架构级特权分离来组织。

    • 提示注入攻击
      • 输入中的恶意指令:Perez and Ribeiro (2022)、Greshake et al. (2023)、Liu et al. (2024)讨论在用户输入或外部内容中嵌入恶意指令,使模型把不可信数据当成可信指令。
      • 智能体工具动作:Debenedetti et al. (2024)、Zhan et al. (2024)讨论这类攻击操纵多步推理,并诱发未授权或有害的工具动作。论文此处只作描述。
    • 模型侧防御
      • 检测器:ProtectAI.com (2023)、Blueteam AI (2024)、Wan et al. (2024)、Jacob et al. (2025)、Li et al. (2025)、Meta (2025)训练分类器,在下游模型或智能体之前过滤恶意输入。
      • 微调:Chen et al. (2024)的StruQ、Piet et al. (2024)的Jatmo、Chen et al. (2025a)的SecAlign、Chen et al. (2025b)的Meta SecAlign在提示注入数据上训练基础模型。
      • 论文的批评:论文称这些方法能提高稳健性,但仍会受到自适应攻击;作者观察到,成功攻击最新、最强的模型似乎需要相当长的恶意注入,并在长度限制中利用这一点。
    • 安全架构与特权分离
      • 来源:Willison (2023)的Dual LLM与Provos et al. (2003)的特权分离,把不同信任级别分给不同组件。
      • 后续实例:Debenedetti et al. (2025)的CaMeL、Beurer-Kellner et al. (2025)、Costa et al. (2025)、Jacob et al. (2026)使用plan-first、结构化通信、受限数据类型或受限信息流。引言把后两篇描述为允许布尔值和枚举流向特权智能体。
      • 论文的批评:论文称这些方法提高了安全性,但常依赖大量工程化工作流、刚性协议或任务专用策略,从而带来效用下降,并非对所有任务都实用。
    • 基线与基准
      • 基线方法:Undefended/Default Agent;Dual Agent(隔离侧不能向特权侧通信);CaMeL(以plan-first为主)。
      • 基准/数据集:SWE-bench Lite及其注入改写SWE-bench-injected、AgentDojo、DecodingTrust-Agent。ReAct(Yao et al., 2023)、SWE-agent(Yang et al., 2024)被当作要保住的交互形态,不是防御基线。

    作者把Twin Agent定位为对严格特权分离的放宽:以Safe Agent当前轨迹为条件,只传下一步所需残差,而不是交互前固定计划,或压缩隔离侧看到的全部上下文。

  3. How does the paper address this problem?

    Twin Agent让Explore Agent只向Safe Agent传递预算内的残差hint,而不重传不可信上下文。

    Twin Agent把探索与特权执行拆开,只让预算内的残差hint越过信任边界。作者称其灵感来自残差编码,并称它可作为ReAct模式的替换,少做任务专用工作流。

    问题设定

    • 时刻t的上下文由可信区T、不可信区U和交互历史It组成。T包括系统提示、可信任务说明、已验证环境状态和可信工具schema;U包括外部文档、网页、工具输出或用户提交的bug report。
    • 无防御智能体用全部上下文选动作,因此U可直接进入推理和工具调用。
    • Figure 1左栏是信息预算与安全/效用的示意图,不是实测曲线。右栏给出不同字符长度的hint示例及Safe Agent输出,并标注攻击失败或成功;不引用其中的注入原文。

    论文对照的三种模式

    • 严格特权分离:特权智能体看不到U;隔离智能体可看U但不能执行特权动作,通常产出对特权LLM不透明、由非LLM编排器在执行时解引用的值。
    • Plan-first:只用可信信息先生成计划,执行者动作须被该计划授权。作者认为,若不支持重规划或受限反馈,计划无法直接吸收执行中才出现的信息,因而不太适合反复查看反馈的软件工程任务。
    • 受限信息流:隔离侧先压缩自己看到的不可信信息,再交给特权侧。作者认为,U中相关与无关信息都很多,而特权侧下一步往往只需少量信息,因而难在固定协议里同时保住效用。

    残差hint

    • Explore Agent观察U,不能执行特权动作。Safe Agent执行特权动作,不直接观察U,并维护权威交互历史。
    • 设计目标是让Safe Agent的动作接近无防御智能体在完整上下文上的有用动作,但只依赖hint。式(11)写作 min D(πs(T, Ht(e), It(s)), π(T, U, It(s))) s.t. Budget(Ht(e)) ≤ b。D是动作差异,b是hint预算。
    • 作者写明式(11)不是实现中求解的优化。实现用上下文内生成来近似:Safe Agent保持无防御智能体的架构、提示结构和动作空间,差别在可见上下文;Explore Agent看到Safe Agent当前轨迹,被提示只传缺失的任务相关信息。
    • 作者给出的理由是通信应是差分的:大部分信息已通过条件化共享,不必重传完整观察。在固定预算下,作者认为效用主要由Explore Agent提取任务信息的能力决定,安全主要由Safe Agent的隔离和控制决定。

    在两类系统上的实例化

    • 适配模式相同:特权动作与不可信信息处理分离;增加可看完整不可信上下文的Explore Agent;用紧凑hint试图使轨迹接近原无防御智能体。
    • SWE-agent:Explore Agent可读完整issue和仓库,可给hint,并输出不会执行的虚拟bash。Safe Agent可读写仓库并生成补丁,但不能读issue。bash输出进入共享上下文,双方可见。Section D给出三套系统提示词。
    • AgentDojo与DecodingTrust-Agent:工具输出不可信,系统消息和用户指令可信。Explore Agent看工具输出并给hint;Safe Agent只根据可信上下文和hint做特权动作。

    安全假设与判定

    • 作者的关键假设是:用短注入很难成功攻击前沿模型。因此限制hint长度,超限则截断或拦截。
    • 另用检测器检查每条hint,判为注入则丢弃。Section A给出检测器提示词,只返回一个token(1为可疑,0为否则),并给出给Safe Agent的提醒文本。作者假设:很难找到既躲过该检测器、又能攻击Safe Agent所用模型的短注入。作者在4.3节称强自适应实验似乎支持该假设;后文报告了非零多轮ASR,需对照阅读。
    • 作者称hint是Safe Agent上唯一可被不可信内容影响的输入,因而阻断该通道后,该设计对提示注入是secure-by-design。这是设计论证。
    • Utility是按各基准协议完成任务的百分比。ASR是被攻击任务中遵循注入指令或执行不安全特权动作的百分比;SWE-bench-injected通过检查最终补丁仓库判定攻击目标是否达成。
  4. What experiments did the paper conduct?

    Table 1中Twin非自适应ASR含0.0%、0.1%与3.3%;自适应多轮为4.7%。

    实验设置

    • 模型:SWE-bench-injected使用GPT-5.2。AgentDojo使用Gemini-2.5-Flash。DecodingTrust-Agent使用GPT-5.2和Gemini-3.5-Flash(Table 1)。
    • 基准:从SWE-bench Lite的300条中筛出232条,在issue中随机注入两种载荷之一(写秘密串或删文件),称为SWE-bench-injected。AgentDojo使用workspace、slack、travel、banking,攻击为默认important_instructions,注入工具输出;任务条数论文未说明。DecodingTrust-Agent取CRM与Finance中ASR较高的设置,构造60条,注入在工具响应中。
    • 基线:Default/Undefended;Dual Agent,表中只出现在SWE-bench-injected;CaMeL,表中只出现在AgentDojo。CaMeL的max_attempts从10改为3。
    • 指标:Utility为按基准协议成功完成任务的百分比。ASR为被攻击任务中遵循注入或执行不安全特权动作的百分比;SWE通过检查最终补丁仓库判定。
    • Twin设置:SWE-bench-injected与DecodingTrust-Agent的字符预算为100,AgentDojo为200。主实验同时使用提醒文本和Section A的检测器。检测器承载模型论文未说明。
    • 重复:主结果论文未报告重复次数。Table 1标题为非自适应攻击。

    主结果

    据Table 1。未列入下表的Default见分点。

    Swipe horizontally to read the table

    基准模型AgentUtilityASR
    SWE-bench-injectedGPT-5.2Default61.2%97.0%
    SWE-bench-injectedGPT-5.2Dual0.0%0.0%
    SWE-bench-injectedGPT-5.2Twin62.5%0.0%
    AgentDojoGemini-2.5-FlashDefault61.9%41.5%
    AgentDojoGemini-2.5-FlashCaMeL30.9%0.0%
    AgentDojoGemini-2.5-FlashTwin62.9%0.1%
    DecodingTrust-AgentGPT-5.2Twin95.0%3.3%
    DecodingTrust-AgentGemini-3.5-FlashTwin93.3%3.3%
    • 作者解读:作者称无防御智能体效用高但ASR高;特权分离基线能压低ASR,同时效用下降。作者称把CaMeL重试预算从10降到3后,效用从原文约35%降到本次评测值。
    • 未列入上表的Default:DecodingTrust-Agent上,GPT-5.2的Utility与表中Twin相同,ASR为10.0%;Gemini-3.5-Flash的Utility为96.7%、ASR为26.7%(Table 1)。
    • 总括与反例:作者称Twin效用略高于基线,并认为更紧凑的上下文可能也有效用收益。该说法不覆盖Gemini-3.5-Flash的Utility下降,也不覆盖下面Slack套件。

    AgentDojo分套件

    • 测了什么:Table 2,同一Gemini-2.5-Flash,四个套件,只比较Default与Twin。
    • 结果:Workspace上Twin为Utility 67.5%、ASR 0.0%,Default为65.0%、23.6%。Slack上Twin为66.7%、0.0%,Default为90.5%、92.4%。Travel上Twin为55.0%、0.0%,Default为40.0%、69.3%。Banking上Twin为56.2%、0.7%,Default为43.8%、47.2%。
    • 作者解读:论文未单独解释Slack的Utility下降。总体数字与Table 1相同,此处不重复。

    自适应攻击

    • 测了什么:只在SWE-Agent-Twin、GPT-5.2、100字符预算上做。作者写明因成本未实现多轮优化攻击,而用两阶段构造。第一阶段用PAIR做100次迭代,每个攻击目标重复10次,共20个优化后的攻击,看Safe Agent下一输出是否为目标动作。第二阶段在bug report中附加copy-and-paste注入,要求Explore Agent把优化文本作为hint转发。组合后按实例随机抽一个优化hint,跑完整多轮任务。攻击者LLM型号论文未说明。Section C给出PAIR提示词,其中把检测器提示词提供给攻击者;不转述模板。
    • 结果:Table 3中,Phase 1单轮ASR为0.0%,Phase 2单轮ASR为100.0%,组合多轮Utility为62.5%、ASR为4.7%(11个实例执行了恶意动作)。232个实例中有57个的恶意hint一次或多次通过检测器;其中11/57最终执行恶意动作。将这11个实例各重跑5次,55次中0次执行恶意动作。
    • 作者解读:作者认为这像是所评解码设置下的非确定性失败;同时写明,任何非零成功都构成安全失败,并认为加强guardrail或多次运行投票可再降低ASR。Section F以sphinx-doc__sphinx-7975为例,展示hint通过后Safe Agent仍可能按攻击目标改仓库;不引用载荷。

    hint预算与成本

    • 测了什么:SWE-Agent-Twin的最大hint预算从50到200字符,None为不限。Utility在20条子集上评测。ASR用5.3节的第一阶段攻击,PAIR 100次迭代并重复10次,设定Explore Agent已被完全操纵。
    • 结果:Figure 3a图例为Utility Twin、Utility Base、ASR Twin (Adaptive),横轴为Information Budget。作者称预算增大时,任务相关残差变多,效用上升,经验安全风险也上升。转换文本看不到各点读数。
    • 成本:Figure 3b中,作者称预算50和100时,SWE-Agent-Twin每实例成本约为基线SWE-Agent的两倍。文本未给出美元端点。

    其他消融与分析

    • Section A / Figure A1:在SWE-bench子集上比较无防御、仅提醒文本、仅检测器、二者组合;子图分别为删文件和写入秘密串。作者称两种策略都能提高Safe Agent的安全性,组合最好。主实验使用组合。文本未给出各点ASR。
    • Section B / Figure A2:用未点名的LLM judge比较有hint与无hint轨迹,每条分10个检查点,偏离分0.0到1.0。四例为scikit-learn__scikit-learn-13241、sphinx-doc__sphinx-11445、mwaskom__seaborn-3010、pydata__xarray-4094。作者称有hint时偏离更低;图注称无hint找不到bug,hint使轨迹与基线对齐。文本未给出分数。
  5. What are some points that can be further explored?

    作者指出只评了少数领域,且无形式化保证,更强攻击仍可能击败该设计。

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

    • 领域:作者写明只在少数应用领域做过评测,需要在其他任务上继续评测(Limitations)。
    • 保证:作者写明Twin Agent在经验上看起来安全,但没有形式化保证,更强的攻击仍有可能击败该设计(Limitations)。

    实验覆盖范围

    • 模型:Table 1的被测模型为GPT-5.2、Gemini-2.5-Flash、Gemini-3.5-Flash。SWE-bench-injected用GPT-5.2;AgentDojo用Gemini-2.5-Flash;DecodingTrust-Agent用GPT-5.2与Gemini-3.5-Flash。
    • 任务集:SWE-bench-injected为232条,从SWE-bench Lite的300条中筛出;AgentDojo为workspace、slack、travel、banking四个环境;DecodingTrust-Agent为CRM与Finance共60条。AgentDojo任务条数论文未说明。
    • 基线出现位置:Table 1中Dual Agent只在SWE-bench-injected,CaMeL只在AgentDojo。DecodingTrust-Agent的表内比较对象是Default。
    • 攻击类型:Table 1是静态、非自适应注入。自适应评测是SWE-Agent-Twin、GPT-5.2、100字符预算上的两阶段攻击;作者写明因成本避免实现多轮攻击(Section 5.3)。论文未报告PAIR攻击者LLM的型号、检测器承载模型,以及主结果重复次数。
    • 预算与组件:hint预算消融的Utility使用20条子集(Section 5.4)。Section A在SWE-bench子集上比较提醒文本、检测器和二者组合;正文主实验使用二者组合。
  6. Summarize the main content of the paper

    Twin在SWE-bench-injected上非自适应ASR为0.0%,自适应多轮为4.7%。

    Twin Agent是一种针对提示注入的特权分离设计:不可信上下文与特权执行分开,只允许长度受限的残差hint过边界。

    • 问题:智能体既要读issue、网页或工具输出,又要执行代码、文件或API。作者认为,plan-first和刚性通信难以同时保住长程效用与安全。
    • 方法:Explore Agent可读不可信内容,但不能做特权动作;Safe Agent沿用原智能体的提示和动作空间,但不直接看U。hint以其当前轨迹为条件,超预算则截断或拦截,并由检测器丢弃可疑hint。作者称这减少了按任务重做工作流的需要。
    • 非自适应数字:Table 1中,GPT-5.2在SWE-bench-injected上Twin的Utility为62.5%、ASR为0.0%,Default的ASR为97.0%,Dual的Utility与ASR均为0.0%。AgentDojo上Gemini-2.5-Flash的Twin为Utility 62.9%、ASR 0.1%,CaMeL为30.9%与0.0%。DecodingTrust-Agent上两组Twin的ASR均为3.3%;GPT-5.2的Utility保持95.0%,Gemini-3.5-Flash从96.7%降到93.3%。
    • 例外:Table 2的Slack套件中,Twin Utility为66.7%,低于Default的90.5%,ASR从92.4%降到0.0%。作者“效用略高于基线”的说法不覆盖这一套件,也不覆盖Gemini-3.5-Flash的Utility下降。
    • 自适应:Table 3中,GPT-5.2、100字符预算下,Safe Agent单轮ASR为0.0%,Explore Agent转发ASR为100.0%,完整多轮ASR为4.7%。作者认为非零成功即构成安全失败。
    • 作者结论:作者认为hint预算可以经验地调节安全–效用权衡,并认为该做法可用于构建自适应且更安全的LLM智能体。作者同时写明没有形式化保证,更强攻击仍可能击败该设计。
Read originalarxiv.org