HARD:告别手工防御,清华等提出自演化框架将攻击成功率压至1%

Beyond Handcrafted Security: Towards Self-Evolving Defense for LLM Agents

论文原文 ↗ 论文发布 解读发布 解读:AI前沿分享

HARD:告别手工防御,清华等提出自演化框架将攻击成功率压至1% 论文图示

随着大语言模型(LLM)从单纯的文本生成器快速迈向能够自主调用外部工具、读取记忆与环境互动的智能体(Agent),系统的安全攻击面发生了一次根本性的位移。在传统的对话界面中,安全威胁主要局限于生成有害文本或违反价值观的内容;而在 Agent 的执行环境中,每一次调用 Bash 脚本、发起 HTTP 请求、检索外部网页或修改持久化数据库,都可能被攻击者借机转化为执行恶意代码、渗透内网或窃取隐私资产的跳板。

ArXiv URL:https://arxiv.org/abs/2608.12977v1

长期以来,业界对抗此类风险的手段主要依赖两类路径:一是在模型层面对参数进行微调或偏好对齐,但这种方式成本高昂,且往往以牺牲通用推理能力为代价;二是在运行时(Runtime)部署防御规则,例如对输入输出进行正则表达式过滤或手动编写敏感操作拦截策略。然而,现实中的对抗是动态且开放的,预先由工程师手工编写的防御规则无法穷尽千变万化的攻击手法,一旦面临未知攻击或经过变异的自适应攻击,静态防线往往迅速被突破。

针对这一困境,来自蚂蚁集团、清华大学、明尼苏达大学和浙江大学的研究团队提出了一套名为 HARD(Harness-based Autonomous Runtime Defense Evolution)的自演化运行时防御框架。该研究跳出了“人工修补安全补丁”的传统循环,首次从智能体运行底座(Harness)的系统级视角出发,将 Agent 防御形式化为可编辑模块的优化问题,使系统能够自动捕获运行失败轨迹、定位脆弱根因,并驱动底层大模型自主迭代安全规则。在涵盖四类关键威胁与自适应攻击的系统评测中,HARD 将间接提示注入的攻击成功率由无防护下的高位压至 1.0%,并在大幅提升安全防御水平的同时,完整保留了 Agent 在良性任务上的执行能力。

智能体运行架构与四类核心安全威胁

Agent 运行时防御的瓶颈:静态手工规则的失效

要理解自演化防御的必要性,首先需要审视部署环境中 Agent 的真实工作结构。在实际系统中,Agent 的行为并非仅由底层基础模型决定,而是受到外部运行底座(Harness)的全面约束与调度。运行底座负责维持交互历史、挂载外部工具与插件、读取长期记忆,并将外部环境的观测结果打包组装成模型的上下文。

如上图所示,当 Agent 在不可信的环境中运行时,攻击者通常不必直接入侵基础模型,而是利用运行底座的输入和存储通道实施攻击。研究团队将这些攻击系统性地划分为四个主要威胁场景:

  1. 直接提示注入(Direct Prompt Injection, DPI):恶意指令直接来源于当前用户的任务输入,诱导模型突破护栏执行非授权命令。

  2. 间接提示注入(Indirect Prompt Injection, IPI):初始任务本身完全合法,但 Agent 在执行过程中检索到的外部数据(如包含对抗文本的网页、第三方邮件或工具返回结果)中潜伏着隐蔽指令,导致 Agent 误将不可信数据当作权限更高的系统指令执行。

  3. 记忆污染(Memory Contamination, MC):攻击者在前期会话中通过触发特定条件,在 Agent 的持久化记忆中预埋伪造的授权记录或错误常识,待后续无害任务检索到该条记忆时诱发恶意行为。

  4. 技能投毒(Skill Poisoning, SP):环境中所依赖的工具、插件或 API 声明已被恶意篡改,其对外声称的功能正常,但内部代码或描述逻辑嵌入了后门触发器。

以往的研究尝试通过构建静态的“护栏”来拦截上述威胁。例如,SecureClaw 尝试在上下文构建阶段利用启发式算法清洗输入,ClawKeeper 在动作执行端布置确定性的黑白名单,而 OpenClaw Shield 则试图把两端机制整合起来。但实践表明,这类手工构建的方案存在致命缺陷。手工规则的覆盖范围极窄,面对多步骤、长程分布式的复杂攻击时,攻击意图往往被切碎并隐藏在每个看似合法的中间动作中,静态检测器极易漏判。此外,过于严苛的手工规则往往带来严重的误杀问题,导致 Agent 在执行复杂的正常多步骤规划时处处受阻。静态防御的本质缺陷在于它无法吸收对抗反馈,一旦落后于攻击者的变异步伐,只能依赖工程师耗费大量时间重新排查日志、人工重构策略。

Harness 形式化建模:解构防御的底层干预接口

为了让防御系统具备“自主进化”的能力,必须先解决一个前置问题:防御系统的搜索空间究竟是什么?底座上哪些环节是允许且易于被算法自动编辑的?

该研究将部署状态下的 LLM Agent 抽象为一个二元组 $\mathcal{A}=(M_\theta, H)$,其中 $M_\theta$ 是参数保持冻结的语言模型,而 $H$ 则是介导模型与外部环境交互的运行底座。在每一个交互步骤 $t$,运行底座的核心职能可以精准切分为两个映射函数:

首先是上下文构建函数(Context Construction)

\[c_t = \phi_H(\tau_t, \rho)\]

它接收当前的交互历史轨迹 $\tau_t$ 与持久化工件 $\rho$(包含记忆 $m$ 和技能规范 $s$),将其过滤、格式化并拼接为最终输入给模型的 Prompt 上下文 $c_t$。模型随之生成原始输出 $y_t \sim M_\theta(\cdot \mid c_t)$。

其次是动作解释与执行函数(Action Interpretation)

\[a_t = \psi_H(y_t, \tau_t, \rho)\]

它负责对模型输出的文本进行解析,验证其是否符合调用规范与安全准则,最终将其转化为作用于外部环境或修改内部状态的实际动作 $a_t$。

在这个统一的表征下,运行时的安全防御问题被形式化为在可编辑底座空间 $\mathcal{H}$ 内的约束优化问题:

\[H^\star \in \arg\max_{H \in \mathcal{H}} \mathbb{E}_{x \sim \mathcal{D}, \tau \sim \mathbb{P}_{M_\theta, H, \mathcal{E}}(\cdot \mid x)} \left[ J_{\mathrm{safe}}(\tau) + \lambda_u J_{\mathrm{util}}(\tau) \right]\]

其中 $J_{\mathrm{safe}}$ 衡量轨迹的安全性得分,$J_{\mathrm{util}}$ 衡量任务完成的实用性得分,$\lambda_u$ 为平衡系数。这一数学刻画不仅统一了此前各种零散的手工防御机制,更清晰地指明了防御演化的两大抓手:要么演化面向语义理解与意图约束的上下文构建策略 $\phi_H$,要么演化面向物理行为校验与权限隔离的动作过滤规则 $\psi_H$。

HARD 自演化框架整体流程图

HARD 演化机制:从运行失败轨迹中自动迭代

基于上述清晰的接口切分,研究团队设计了 HARD 框架。该框架的核心设计哲学在于:将安全防御从静态软件工程转变为由“失败反馈”驱动的闭环控制系统。整个演化流水线包括工件解耦、失败路由与自适应更新三个核心步骤。

在 HARD 中,运行底座 $H_t$ 被解构为 $K$ 个相互独立的防御工件集合 ${d_k^t}_{k=1}^K$。具体在实现中,系统主要维护两类工件:一是上下文侧的安全引导策略(Security Policy),它以结构化指令形式注入 Prompt,教导模型识别隐蔽的注入意图;二是动作侧的安全校验门禁(Action Guard Gate),它是部署在工具调用管道上的可执行校验规则,用于在底层阻断高危系统调用。

当系统在红队攻防环境或真实测试集中批量执行任务时,外部评测器会持续捕获产生安全违规或良性任务崩溃的失败轨迹,形成失败集合 $\mathcal{F}_t$。面对海量的长轨迹日志,如果一股脑输入给演化模型,极易导致上下文过载并产生无关修改。为此,HARD 引入了一个基于 LLM 的轨迹路由器(Trace Router)$\mathcal{R}$

\[k = \mathcal{R}(\tau), \quad \tau \in \mathcal{F}_t\]

路由器会对失败轨迹进行因果归因:判断该次安全穿透是因为模型轻信了被污染的上下文(归因于策略缺陷),还是因为动作执行层缺乏针对具体工具参数的硬性防线(归因于门禁漏洞)。经过路由器分流后,每个防御工件只会接收到与其职责高度相关的失败子集 $\mathcal{F}_{k,t}$。

随后,对应的专属演化器(Evolver)$\mathcal{E}_k$ 被激活。演化器负责从特定的失败样例中提炼出通用的攻击特征与反思经验,并生成新的工件版本 $d_k^{t+1}$。值得注意的是,演化过程受到一个显式的最小扰动约束规范:

\[\min_{H'} \Delta(H_t, H') \quad \text{s.t.} \quad H' \text{ 能够解决失败集 } \mathcal{F}_t \text{ 中的安全漏洞}\]

这一约束在工程实现中被转化为严格的提示工程原则,迫使演化模型在修补漏洞时不得随意推翻原有的系统逻辑,严防防御规则的恶性膨胀与功能回退,从而在根源上保护了智能体的良性任务处理能力(Benign Utility)。更新后的底座 $H_{t+1}$ 随后重新部署并进入下一轮对抗演化。

实验评测:安全断崖式反超与实用性的保全

为了客观检验 HARD 的有效性,研究团队采用了高拟真、多步骤的 Agent 安全基准 AgentCanary,并融合了包含复杂真实系统调用的 AgentHazard 数据集。测试环境完全模拟真实的 Bash 命令、Python 代码执行及网络接口调用,涵盖直接注入、间接注入、记忆污染、技能投毒四大静态威胁,并额外引入了针对防护机制动态变异的自适应攻击(DAE)以及将恶意意图分散在多轮合法会话中的长程渐进攻击(LPA)。

评测选用了 DeepSeek-V4-Flash 作为被防护的执行 Agent,采用 GLM-5 系列模型分别作为判定裁判与底层演化驱动引擎,并对比了未防护底座以及业界主流的 SecureClaw、ClawKeeper 和 OpenClaw Shield 等静态防御基线。

实验结果展现了自演化机制对传统手工规则的压倒性优势。在静态攻击评测中,手工防御由于规则僵硬,面对未针对性设计的场景极易全线失守。例如,SecureClaw 在直接提示注入下的攻击成功率(ASR)高达 66.0%,与完全不设防的状态无异;综合防护性能相对较好的 OpenClaw Shield,在直接提示注入和记忆污染下的 ASR 也分别达到了 41.0% 和 41.8%。

而协同演化了策略与门禁的双工件版本 HARD-Both 展现出了极高的防御纵深:

更关键的突破体现在“安全与可用性的兼得”。过去的安全机制往往以“宁可错杀、不可放过”为代价,导致任务可用性急剧萎缩。而 HARD 在四类静态攻击下,良性任务完成率(Benign Utility)稳定保持在 91.9% 至 95.0% 的高位区间,与未设防系统的统计波动完全重合。更令人瞩目的是受攻击状态下的任务实用性(Utility under Attack, UA)指标:在记忆污染攻击下,Agent 完成正常任务的比例从基准防御的 56% 跃升至 86%;在技能投毒攻击下,正常任务完成率更是从 52% 飙升至 92%。这表明系统并没有通过简单的死锁或拒绝服务来逃避攻击,而是真正学会了在识别威胁的同时继续完成用户的合法委托。

面对更为狡猾的自适应对抗,HARD 同样维持了稳固的防线。在动态攻击演化(DAE)测试中,HARD-Both 实现了 26.5% 的最低 ASR,优于最佳手工基线(30.1%)。而在意图隐蔽的长程渐进攻击(LPA)中,专注于上下文语义策略演化的 HARD-Policy 表现极为抢眼,将攻击成功率压制在 4.8%,远优于最强手工防御的 24.1%。

机制深潜:策略语义与确定性门禁的微妙博弈

在剖析 HARD 不同变体的表现时,研究团队发现了一个反直觉的实验现象:在面对长程渐进攻击(LPA)时,单一演化策略的 HARD-Policy(ASR 4.8%)表现居然显著优于双管齐下的 HARD-Both(ASR 12.1%)。这一现象揭示了语义策略演化与物理规则演化之间深层次的交互动力学。

动作侧的门禁规则(Gate)通常具有确定性、条件匹配清晰等特点。当系统同时演化策略和门禁时,门禁往往能以立竿见影的方式拦截掉大量表面特征明显的攻击模式。但这却在无形中产生了一种“掩蔽效应”:底层的门禁替上层的策略分担了初级失败案例,导致上下文策略演化器接收到的边缘失败样本减少,从而降低了策略演化器从失败轨迹中提炼深层、通用安全准则的演化压力。

然而,在面对多轮长程攻击时,攻击者通常将危险动作拆解为若干个局部合法、表面无害的子动作。动作门禁在单步执行时很难捕捉到跨时间步的恶意关联,而此时由于缺乏充分泛化演化的上层安全策略,Agent 的整体防御纵深反而出现了空隙。这一发现向学术界和工业界传递了一个重要信号:在多组件的 Agent 体系中,各层防御工件的演化增益并不具备简单的线性可加性。如何在协同演化过程中平衡规则拦截与全局语义反思,将是未来防御编排的核心课题。

研究团队还评估了演化底座模型本身的能力对最终防御质量的影响。当分别采用 GLM-5.2、Claude Opus-4.6、Qwen3.7-Max 和 GPT-5.5 作为进化驱动器时,所有模型驱动的 HARD 均取得了大幅优于静态防御的收敛曲线。但这四者也展现出了截然不同的性格特征:Claude Opus-4.6 展现出极其激进的安全偏向,实现了全场最低的 7.7% ASR;Qwen3.7-Max 则最擅长守护任务可用性,良性任务完成率高达 96.4%;而 GPT-5.5 虽然大幅削减了 ASR,但其生成的规则过于严苛,导致受攻击实用性跌至 7.2%。这表明演化器的指令遵循特性和反思风格会直接投射在生成的防御工件上,为后续构建专有演化模型提供了选型参考。

范式跃迁:迈向自愈合的智能体生态

纵观 HARD 的整体技术架构与实证结论,这项工作的贡献早已超越了一套具体的算法实现。它指明了解决智能体安全困局的一条根本路径:依靠人力静态审计与编写补丁,永远无法追赶基于大模型动态生成的对抗面;唯一的破局之法是用自演化系统对抗自适应攻击

通过将 Agent 运行底座明确切分为上下文构建与动作解释两大正交接口,HARD 为整个社区提供了一个清晰、模块化且可形式化度量的防御演化坐标系。更重要的是,它验证了智能体在遭遇安全挫折后,通过轨迹自我反思、精细化因果归因并自动重构运行组件闭环的可行性。

在通往更高自治级别(Autonomous Agents)的演进道路上,HARD 所构建的这套自诊断、自演化与自愈合机制,不仅为金融支付、个人助理和自动化运维等高风险应用场景铸造了一道能够与环境共同成长的动态防线,也为未来的系统可靠性工程确立了全新的方法论典范。