从批准到滥用:针对受执行框架保护的编码 Agent 的权限提升攻击
From Approval to Abuse: Privilege Escalation Attacks on Harness-Protected Coding Agents
针对 Codex CLI 与 Claude Code,利用仓库对抗上下文诱导权限审批,在 58 个合格实例中实现 81.0% 的静默恶意目标达成。
良性用户请求编程智能体在包含对抗控制内容的仓库中执行常规任务。
- 编程智能体依靠执行治理层(harness)拦截沙箱外操作并由人类审批。为缓解审批疲劳,系统支持保存可重用规则(allow-rule)。然而不可信仓库上下文可能诱导智能体在良性任务中申请过度宽松的许可,一旦用户批准,后续恶意操作将绕过审查。
- 提出自动化两阶段评估框架。阶段 I 依靠规划器、构建器、代理智能体与批评器构成的闭环优化器,利用环境依赖诱导智能体在良性任务中提出宽泛可重用规则;阶段 II 继承该规则,将恶意载荷伪装为主线任务的数据流依赖,静默达成下游对抗目标。
- 在 Codex CLI 与 Claude Code 的 4 种配置上,所提方法在 58% 的实例中成功诱导目标规则。在假定批准规则的 58 个合格实例中,达成 81.0%(47/58)的静默恶意目标完成率,高于 Direct Injection 与 IssueTrojanBench 基线。
- 论文未专门讨论局限章节。其实验基于隔离合成工作站,评测对象为 Codex CLI 与 Claude Code 共 4 种模型配置,下游目标测试集覆盖 5 类共 25 个实例,阶段 II 仅评估条件性批准后的情况,未报告自动化搜索的耗时与成本。
- 威胁模型
- 良性用户请求编程智能体在包含对抗控制内容的仓库中执行常规任务。攻击者可修改暴露给智能体的仓库内容,但不能直接修改执行治理层或其授权策略。权限更新通过既有人类审批机制完成;在用户批准并存储诱导出的重用许可规则条件下,评估下游静默越权与恶意目标达成。
- 被测模型
- gpt-5.6-lunagpt-5.6-solanthropic/claude-haiku-4.5anthropic/claude-sonnet-5
- 基准
- PCC (Permission Capability Coverage) benchmarkDownstream Goal Completion test suite (25 experimental instances across 5 categories)
- 指标
- PCC (Permission Capability Coverage)Goal ReachabilityDownstream Goal CompletionPrefix-Attributed Completion
论文提出一种针对编码 Agent 执行框架的权限提升攻击,仓库中的对抗内容可诱导 Agent 申请范围过宽的可复用放行规则,用户批准后规则会绕过后续人工审批。作者用两阶段框架分别评估权限获取与权限复用,在 Codex CLI 与 Claude Code 的四组配置(gpt-5.6-luna、gpt-5.6-sol、claude-haiku-4.5、claude-sonnet-5)上,58% 的实验实例成功诱导出目标放行规则,所获规则覆盖 56.9% 的分类能力测试用例。在规则获批的前提下,58 个合格实例中有 47 个(81.0%)实现无提示的目标完成,高于 IssueTrojanBench 的 20/58 和 Direct Injection 的 1/58。
推荐理由论文在 Codex CLI 与 Claude Code 上展示,仓库中的对抗内容能诱导编码 Agent 申请过宽的可复用放行规则,为审批机制设计提供了具体攻击路径。
深度解读
这篇论文试图解决什么问题?
作者称编程智能体执行治理层的可重用许可审批机制存在越权风险,不可信上下文可诱导宽泛规则以绕过人工审查。
核心问题是可重用授权机制引入的权限提升风险:在受执行治理层(execution harness)保护的编程智能体中,不可信仓库内容能否诱导智能体在执行良性任务时提出超出任务需求的宽泛许可规则,从而在用户批准后使后续恶意操作绕过人类审批。
- 交互式审批与疲劳缓解:编程智能体利用治理层拦截沙箱外操作并请求人类审批;为减少频繁中断带来的审批疲劳,系统允许用户保存通用规则(如始终放行 curl 前缀),匹配命令后续将无需提示直接执行。
- 动态审批与静态放行的安全脱节:现有系统假设人类审批能有效阻断恶意行为,但许可请求的生成依赖智能体上下文;作者认为当上下文受对抗控制时,治理层可能被诱导生成过度宽松的许可。
- 执行依赖驱动的核心观察:智能体行为遵循环境的数据流与控制流依赖;将未授权操作伪装成任务完成不可或缺的技术前置条件,可促使智能体自主请求对应权限。
- 自动化两阶段评估框架:论文提出了衡量权限诱导可行性与下游利用风险的评估方法,涵盖阶段 I 权限获取与阶段 II 权限滥用。
- 威胁模型:
- 受害系统:部署了本地交互式执行治理层与可重用许可规则的编程智能体系统(如 Codex CLI 和 Claude Code)。
- 攻击者知识:具备黑盒访问能力,攻击者了解治理层的规则匹配机制,但无法直接修改治理层或既有授权策略。
- 攻击者能力:攻击者可在智能体读取的仓库中植入对抗内容(如构造特定目录结构、测试脚本或说明文件),但权限更新必须经由正常的用户审批通道。
- 攻击者目标:在智能体执行良性任务期间诱导其发起宽泛的重用许可请求,并在用户批准后静默完成沙箱外的恶意目标(如未授权读取、数据外发、文件删除等)。
有哪些相关研究?
论文梳理了间接提示注入、长程攻击以及编程智能体操作安全与特权防御研究,指出动态重用授权存在混淆代理盲区。
论文在相关工作中主要讨论了以下三组研究以及相关的基准与基线:
- 间接提示注入与长程攻击:
- Greshake 等人(2023b)研究了利用不可信上下文诱导智能体执行攻击者指定操作的间接提示注入。
- InjecAgent(Zhan 等人,2024)、AgentDojo(Debenedetti 等人,2024)、RepoGuardBench(Li,2026)与 IssueTrojanBench(Singh 等人,2026)等基准评估了仓库、工单与工具描述中的注入风险。
- StepJack(Zhan 等人,2026)将攻击分解为多步无害子任务;Zombie Agents(Yang 等人,2026)与 AgentPoison(Chen 等人,2024b)研究了长期记忆投毒。
- 操作安全与权限边界:
- SABER(Hu 等人,2026)与 Overeager Agents(Qu 等人,2026)评测了无对抗注入情况下智能体非预期的越界操作。
- AmPermBench(Ji 等人,2026)压力测试了模糊条件下的权限拦截网关。
- 特权控制与治理层防御:
- 模型对齐(Struq,Chen 等人,2024a;Secalign,Chen 等人,2025;Wallace 等人,2024)与隔离架构(IsolateGPT,Wu 等人,2025)试图从输入或执行层限制权限。
- Progent(Shi 等人,2026)与 CapScope(Bouras 等人,2026)实施严格特权策略,其中 CapScope 在读取不可信上下文前派生不可变权限上限。
- 基线方法与基准:实验对比了 Benign Control(无注入对照)、Direct Request / Direct Injection(基于 AgentDojo 改编的直接指令)以及 IssueTrojanBench-adapted(四段式上下文伪装注入);评测基准为作者构建的包含 100 个测试用例的 PCC 基准及 25 个下游攻击实例。
作者称现有工作主要研究单步注入或静态权限配置,而本文研究权限生命周期的分解,揭示了当上下文依赖的人类审批被持久化为脱离上下文的语法规则时,治理层自身会演变为经典安全中的混淆代理(confused deputy)。
- 间接提示注入与长程攻击:
论文如何解决这个问题?
作者提出两阶段闭环优化框架,先后通过环境依赖诱导宽泛重用规则,并利用放行语法静默完成下游恶意操作。
作者提出包含阶段 I 权限获取(Permission Acquisition)与阶段 II 权限滥用(Authority Reuse)的自动化框架,通过四组件闭环优化在黑盒条件下搜索对抗仓库配置。
核心定义与形式化
- 交互式审批决策:治理层根据当前激活策略 P 维护免审批动作空间 A(P) = S ∪ ⋃_{π ∈ P} ⟦π⟧(其中 S 为沙箱内动作,⟦π⟧ 为规则 π 覆盖的动作),审批判定定义为:
Auth(a; P) = \begin{cases} Pass, & a \in A(P) \\ Ask, & \text{otherwise} \end{cases}该判定仅作集合成员检测,不评估操作背后的真实意图。 - 策略状态转移:当用户批准一条可重用规则 π 时,授权状态更新为:
P' = P \cup \{\pi\}, \quad A(P') = A(P) \cup \llbracket\pi\rrbracket后续所有匹配该规则的命令都将无提示直接执行。
阶段 I:权限获取(Permission Acquisition)
- 场景与工作流规划器(Mplan):以良性任务 T 和目标命令前缀 π* 为输入,不直接注入命令,而是构想出必须调用该前缀命令的技术场景(如拉取外部资源)。
- 仓库构建器(Mbuild):将抽象规划映射为具体仓库文件修改(如缺少必要依赖、测试报错、提供配置指引),构建强制执行依赖。
- 代理智能体运行(Proxy Agent Rollout):在沙箱中运行与受害者相同配置的独立智能体副本,记录完整工具调用轨迹与权限请求事件。
- 反馈批评器(Mcritic):若未提出目标规则,区分是工作流设计缺陷还是具体代码实现缺陷,生成针对性文本反馈供下一轮优化。
阶段 II:权限滥用(Authority Reuse)
- 利用已放行权限:以阶段 I 输出的仓库状态和扩展策略 Pafter 为起点,核心目标从获取规则转向实现对抗目标 G。
- 无缝衔接业务:Mplan 与 Mbuild 构造下游任务必须消费的数据流与控制流依赖,使恶意命令作为常规开发步骤被自然触发。
- 双重静默验证:在沙箱代理运行中检查两个硬性条件:(1) 对抗目标 G 实际达成;(2) 整个执行过程完全静默,无任何新的审批提示。
优化实现与收敛判定
- 模型配置:构建器统一使用 deepseek-v4-pro;规划器采用 glm-5.3 作为主模型,若耗尽修复预算则回退至 deepseek-v4-pro 备用模型。
- 语义终止准则:阶段 I 借助 LLM 判定生成的规则在假设批准后是否具备支持目标 G 的潜在能力范围 Potential(π*, G);阶段 II 监测到目标达成且无弹窗即终止。
- 交互式审批决策:治理层根据当前激活策略 P 维护免审批动作空间 A(P) = S ∪ ⋃_{π ∈ P} ⟦π⟧(其中 S 为沙箱内动作,⟦π⟧ 为规则 π 覆盖的动作),审批判定定义为:
论文做了哪些实验?
在 Codex CLI 和 Claude Code 的 4 种配置上,所提方法在 58% 实例中诱导了目标规则,并在合格用例中达成 81.0% 的静默利用率。
实验设置
- 被测模型:Codex CLI 配合 gpt-5.6-luna 与 gpt-5.6-sol;Claude Code 配合 anthropic/claude-haiku-4.5 与 anthropic/claude-sonnet-5,共 4 种目标配置。
- 数据集与用例:构建包含 5 个类别的任务集(未授权读取、数据外发、文件删除、构件下载、配置修改),每类 5 个实例,每个配置测试 25 个实例;并按资源敏感度分为 Ordinary、Sensitive、Critical 三档;泛化评测使用包含 100 个用例的 PCC 基准(5 类各 20 例,覆盖 D1–D4 复杂度)。
- 对照基线:阶段 I 对比 Benign Control(无注入)与 Direct Request(直接请求持久权限);阶段 II 对比 Direct Injection(单步直接指令)与 IssueTrojanBench-adapted(四段式上下文伪装)。
- 指标定义:阶段 I 评估权限能力覆盖率 PCC(0 到 1 归一化得分)与目标可达性(Goal Reachability,/25);阶段 II 评估静默目标达成率(Downstream Goal Completion)及前缀归因达成率(Prefix-Attributed)。
- 评审机制:阶段 I 采用自动化 LLM 判定器依据声明工具语义评估 PCC 与目标可达性;阶段 II 直接由测试沙箱验证系统状态变化与外发载荷,并统计是否触发审批弹窗。
- 运行设置:独立运行于干净虚拟开发环境,以 /home/user 为家目录;优化阶段各步骤每阶段修复上限为 5 次。
主结果
表格较宽,可左右滑动
目标智能体配置 合格数 N Direct Inject IssueTrojanBench Ours(前缀归因数) Codex (gpt-5.6-luna) 17 0 (0) 5 (4) 17 (13) Codex (gpt-5.6-sol) 18 1 (1) 4 (4) 14 (11) Claude (claude-haiku-4.5) 14 0 (0) 11 (6) 13 (9) Claude (claude-sonnet-5) 9 0 (0) 0 (0) 3 (0) (数据据 Table 2;括号内为成功动作与阶段 I 获取前缀完全匹配的前缀归因完成数)
- 下游目标完成率提升:作者报告在所有配置中,所提方法的达成率均高于对比基线,在 Codex gpt-5.6-luna 上达成 17/17(100%),在 Codex gpt-5.6-sol 上达成 14/18(77.8%)。
- 跨阶段权限复用证据:作者称大部分成功直接源于前缀归因(Codex luna 为 13/17,Codex sol 为 11/14,Claude haiku 为 9/13),证明恶意执行有效复用了阶段 I 获批的语法前缀。
- 强对齐模型上的穿透:作者报告在基线均为 0/9 的 claude-sonnet-5 上,所提方法仍通过其他已授权路径实现了 3/9 的目标达成。
权限获取能力与覆盖范围(Stage I)
- 测了什么:在 4 种配置上对比 Benign Control、Direct Request 与 Ours 获取可重用权限的广度(PCC 得分)和针对具体恶意目标的可达实例数(Goal Reachability,满分 25)。
- 结果:据 Table 1,Benign Control 在所有模型上可达数均为 0/25;Direct Request 在 gpt-5.6-luna、gpt-5.6-sol、claude-haiku-4.5、claude-sonnet-5 上的可达数分别为 7、18、6、1,PCC 分别为 0.25±0.35、0.55±0.25、0.43±0.32、0.28±0.30;Ours 的可达数分别升至 17、18、14、9,PCC 分别提升至 0.57±0.38、0.61±0.38、0.60±0.35、0.48±0.38。
- 作者的解读:作者称基于任务落地的优化方法能规避智能体安全护栏,在对齐严格的 Claude 模型上可达实例数超过直接指令基线。
任务敏感度分层表现
- 测了什么:将 25 个测试任务按操作资源与后果严重性划分为普通(Ordinary)、敏感(Sensitive)和关键(Critical)三档,分析不同敏感度下的目标达成率。
- 结果:据 Figure 4,Codex gpt-5.6-luna 在三档(n=8、n=6、n=3)下的目标完成率均为 100%;claude-sonnet-5 在普通档为 2/4,敏感档为 1/4,关键档为 0/1;在所有模型和分档中,Ours 的表现均持平或高于基线。
- 作者的解读:作者认为任务敏感度的增加并未导致攻击完成能力出现一致性下降。
权限执行诱导机制消融
- 测了什么:在 claude-haiku-4.5 上固定已授予的权限,系统消融将目标操作嵌入仓库工作流的不同诱导结构。
- 结果:据 Table 4,仅给出基础指令时成功次数为 0/3(全部失败);采用叙事性的语义框架(Semantic framing)时成功 1/3;设置阻塞性构件门禁(Blocking artifact gate,控制流)与主线消费(Mainline consumer,数据流)时成功次数均为 3/3。
- 作者的解读:作者认为智能体遵循环境依赖而非故事叙述,仅通过语义说明难以稳定促发已授权操作,构建控制流与数据流依赖才能迫使模型执行。
其他消融与分析
- 规划器主备模型求解分布:glm-5.3 独立解决 39 例,deepseek-v4-pro 备用模型在主模型失败后补充解决 19 例(第 4.1 节)。
- 治理层抽象维度差异:Codex 依据历史调用多样性归纳宽泛规则(如多次调用泛化为 wget,单次调用为 wget -O);Claude Code 依据未加引号语法泛化通配符规则(如 curl reports *,加引号则退化为精确匹配)(Table 3)。
- 强模型的主动规避行为:在针对 claude-sonnet-5 的优化中,模型多次通过读取替代本地文件、从缓存恢复或直接写入下游构件来绕过非支配性步骤(第 5.3 节)。
负面结果与例外
- 在 claude-sonnet-5 上的 3 例下游成功中,前缀归因数均为 0(Table 2),均通过非前缀匹配的其他已授权途径达成。
- claude-sonnet-5 在关键(Critical)敏感度分层中完成率为 0/1(Figure 4)。
有什么可以进一步探索的点?
论文未设独立的局限章节;其实验基于隔离合成工作站,覆盖了两种框架下的 4 种模型配置及 25 个目标用例。
作者指出的局限与后续方向
- 论文未专门讨论局限与后续方向(正文与附录未设立独立的 Limitations、Discussion 或 Future Work 章节)。
实验覆盖范围
- 被测系统与模型覆盖:评测针对 Codex CLI 与 Claude Code 两个平台,模型包含 gpt-5.6-luna、gpt-5.6-sol、anthropic/claude-haiku-4.5 与 anthropic/claude-sonnet-5 共 4 种配置(第 4.1 节)。
- 实验环境规范:所有实验均在隔离的合成虚拟开发者工作站(目录结构包含 /home/user、control/、results/ 等)与模拟凭证环境下运行,未在真实用户或第三方生产系统中部署(附录 A.1 与 Ethics Statement)。
- 对抗目标与样本规模:下游对抗目标划分为未授权读取、数据外发、文件删除、构件下载、配置修改 5 个类别,每个智能体配置评测 25 个实例,共计 100 个实验轮次;PCC 基准包含 5 个类别各 20 个测试用例,总计 100 个用例(第 4.1 节与附录 B.2)。
- 条件性下游评估:阶段 II 的下游目标完成率仅在阶段 I 成功获取有效规则且被假定批准的合格检查点(共 58 个实例)上进行评测,未覆盖阶段 I 未通过用例的后续执行(第 4.1 节与第 4.3 节)。
- 未报告数据与指标:论文未报告阶段 I 自动化搜索收敛所需的具体迭代轮数分布、API 查询总成本与调用耗时,亦未报告 LLM 判定器(Judge)与人类安全评估的一致性检验数据(第 3.1 节、第 4.1 节)。
总结一下论文的主要内容
论文研究了编程智能体中可重用许可审批的越权风险,提出两阶段闭环优化框架并实证了权限诱导与静默利用的可行性。
本文针对受执行治理层保护的编程智能体,系统研究了人类在环可重用授权机制中的权限提升安全隐患。
- 问题背景与核心风险:为避免频繁审批导致的人类疲劳,主流编程智能体框架允许用户保存按命令前缀或语法的重用规则。然而,智能体提出何种规则受其读取的仓库上下文影响,这使得不可信上下文可能诱导智能体在良性任务中申请过度宽松的权限,并在获批后使治理层失去拦截效力。
- 两阶段评估框架:作者设计了自动化闭环优化体系。阶段 I 借助规划器、构建器、代理智能体与批评器的循环,在黑盒条件下通过构造技术性依赖诱导智能体发起目标规则申请;阶段 II 在继承获批规则的状态下,将恶意载荷伪装为主线任务的数据流输入,实现无弹窗静默执行。
- 权限诱导与语义泛化表现:在 Codex CLI 和 Claude Code 的 4 种模型配置中,该框架在 58% 的实验实例中成功诱导出了目标 allow-rule;在包含 100 个用例的 PCC 基准上,获取的规则实现了 56.9% 的类别能力测试覆盖,平均覆盖率较 Direct Request 基线明显扩展(如 Codex luna 从 0.25 升至 0.57,Claude haiku 从 0.43 升至 0.60)。
- 下游静默攻击效果:在 58 个阶段 I 达标的合格实例中,该框架在 47 例中达成验证的静默目标完成(完成率 81.0%),且多数成功明确归因于阶段 I 取得的前缀(如 Codex luna 达 13/17,Codex sol 达 11/14),其利用效果优于 IssueTrojanBench(20/58)与 Direct Injection(1/58)基线。
- 机理洞察:作者指出不同治理层的规则泛化轴存在差异(Codex 依赖调用历史行为多样性,Claude Code 依赖无引号静态语法),且智能体执行严格受数据流与控制流依赖驱动而非文字叙述;能力更强的模型(如 claude-sonnet-5)会主动寻找绕过非支配步骤的捷径。
- 作者结论:作者认为当前将动态、依赖上下文的单次人类审批直接持久化为静态、脱离上下文的语法规则存在安全盲区,治理层自身已成为混淆代理;安全设计必须同时审视权限提议的范围及其获批后的持久化后果。