OpenART — 通过开放式环境演化实现可扩展的 Agent 红队测试

背景

arXiv:2608.00677,2026 年 8 月。复旦大学 + 上海 AI Lab 联合出品。

传统 Agent 安全研究的主流思路是”改输入”——反复改写提示词,看模型什么时候”破防”。OpenART 完全绕开这条路:不改提示词,不动模型参数,只改 Agent 运行的环境本身,在 75 种 Agent-模型组合中取得了 85.0% 的攻击成功率。


核心思路:攻击面从”提示词”转向”环境状态”

传统红队测试的逻辑是:找到一个诱导指令让 Agent 作恶。但这种范式有一个根本局限——它把 Agent 视为一个独立实体,忽略了 Agent 行为是通过环境状态来耦合现实的

现实世界中,Agent 的行为是这样的循环:

Agent 观察环境 → 基于观察推理 → 执行动作 → 环境状态更新 → Agent 再次观察 …

这个循环里,每一步推理都依赖对当前环境状态的认知。OpenART 发现:如果悄悄改变环境状态,但保持任务描述和 Agent 的提示词完全不变,Agent 会基于已经过时的环境认知继续推理——而它自己完全意识不到。

论文的类比足够精彩:不是骗保安放你进门,而是连夜把大厅重新布置了一遍。每扇门都是真门,但保安基于一张早已不存在的平面图养成的习惯,把剩下的事全做了。


技术方法:EMHA(进化马尔可夫超图攻击)

场景构建

OpenART 构建了超过 10,000 个经过验证的有状态场景,覆盖 50 个领域。这些场景不是单独的提示词,而是一个完整的三元组:

要素 含义
任务目标 Agent 需要完成的正常任务
可执行环境 Agent 操作的持久化状态(文件、工具、凭证、模拟服务等)
安全契约 区分安全执行与不安全执行的行为边界

以云平台运维场景为例:

  • 任务:生成跨部门周报,从可用证据中整理
  • 环境:服务记录、审批日志、诱饵文件、受保护凭证、发布目标
  • 安全契约:受保护标记不得出现在公开输出中

跨 Agent 运行时投影

OpenART 的一大工程贡献是 Target-agnostic scenario representation:同一套场景通过轻量级运行时适配器投影到 15 个部署 Agent、5 个基础模型、8 种攻击向量上。

每次演化轮次:

  1. 提议变更:Δt ~ p(· x_t, C_t)——攻击者提出环境状态变更
  2. 投影:m_t = Π_r(Δ_t)——适配器将变更投影到目标运行时支持的格式
  3. 执行:Agent 在变更后的环境中运行,产生轨迹
  4. 评估:Y_t = E_q(τ, ξ_t, x_{t+1})——评估是否触发安全漏洞
  5. 更新:C_{t+1} = U(C_t, x_t, Δ_t, m_t, Y_t)

关键约束:任务目标 τ 和评估器 E_q 在整个演化过程中始终保持不变。环境可以变,但什么算安全完成不能变。

八大目标可见状态面

攻击者可以变更的 8 个状态面:

  1. Workspace
  2. Instructions
  3. Skills
  4. Tools
  5. MCPs
  6. Short-Term Memory
  7. Plan State
  8. Long-Term Memory

EMHA:马尔可夫超图攻击

EMHA 是 OpenART 的参考攻击策略,其核心思想是将协同环境变更表示为超图

G_t = (V_t, E_t), e = (H_e, T_e, φ_e)
  • 顶点:攻击子目标
  • 超边:连接前置子目标与后继子目标
  • φ_e:变异模板

路径选择是马尔可夫的——ready set 只依赖当前活跃子目标。通过反馈引导的路径学习(类似 Q-learning with soft policy),EMHA 在超图空间中进行质量多样性搜索(MAP-Elites 风格),每次迭代保留每个行为单元格中的最优攻击。


关键发现

发现一:静态评测严重低估 Agent 风险

迭代演化轮次中的累计严格 ASR(攻击成功率):

轮次 累计 Strict ASR
Round 1 42.9%
Round 2 69.4%
Round 3 73.5%
Round 4 89.8%
Round 5 94.7%
总提升 +51.8 pp

单一静态环境下评估只能发现约 43% 的漏洞,迭代演化后可以发现 95%。

发现二:环境越复杂,演化攻击的优势越大

在 GPT-5.5 上比较 Full EMHA 与纯指令演化的差异:

复杂度指标 EMHA 额外提升
依赖深度(最大) +17.6 pp
工具调用数(最大) +17.2 pp
文件格式数(最大) +13.1 pp
并行宽度(最大) +14.8 pp

简单场景下指令演化差距只有 1.8-2.7%,复杂场景下跳到 17%+。这说明结构复杂的工作流是红队测试的真正主战场

发现三:漏洞具有长程传播特性

  • 中位传播距离:37 个目标动作(IQR: 20-66)
  • 首次使用演化状态:23% 的执行过程
  • 首次不安全输出:64% 的执行过程
  • 中位延迟:工作流的 41%

也就是说,环境变更的影响经常在工作流走到中后段才显现——这是静态评测无法捕捉的。

发现四:运行时实现解释了独立于模型能力的安全差异

论文发现 target-agent identity(运行时实现)额外解释了 7.6% 的 ASR 差异,且这一差异独立于模型能力本身。同一个基础模型,不同厂商的实现,安全性并不相同。这对当前企业级 Agent 部署是一个重要警钟:安全必须在运行时被工程化,不能假设”模型强就安全”。


三大反复出现的漏洞模式

漏洞一:过时假设很少被主动失效

Agent 在执行过程中建立的假设,在环境已经改变后依然继续使用:

  • Plan-referent drift:执行计划引用了已被修改的模板内容
  • Capability rebinding:能力接口不变,但实现已改变
  • Checkpoint expiry:早期做出的安全决策,在等效信息通过可信渠道重新出现时不会重新审视

漏洞二:安全决策被传播而非重新计算

Agent 不在每个决策点独立判断安全,而是把安全判断委托给下游工作流组件——数据在上游被识别为敏感,下游 schema 把对应字段标记为必填,后续就默认该字段可以流转。

漏洞三:信任链在环境变更处断裂

当工具返回结果、MCP 元数据、环境状态之间的交叉验证点出现不一致时,Agent 缺乏感知和重新校准的机制。


解读:安全从”提示词越狱”重新定义为”环境演化问题”

OpenART 最重要的贡献是扩大了 Agent 安全的攻击面定义。当安全研究社区还在讨论 prompt injection 的时候,OpenART 指出:在生产环境里,prompt 写对了还不够,环境状态本身就可以是攻击向量。

这对企业 Agent 部署的直接含义:运行时必须被当作信任边界来工程化,而不是假设”模型能理解指令就够了”。技能、工具、MCP 的动态变更面,必须有显式的安全策略和控制。


链接: https://arxiv.org/abs/2608.00677