论文

SEAD: 工具使用型智能体中攻击与防御的状态视角

SEAD: 工具使用型智能体中攻击与防御的状态视角

语言模型智能体越来越多地通过工具操作外部系统。先前的动作可能改变文件、权限或数据库记录等状态,使后续看似常规的动作变得有害,而可见交互未必揭示评估该动作所需的底层状态。 我们将攻击与防御形式化为 SEAD 中的部分可观测状态控制,并由此推导两者的设计需求。攻击者只提供指令、具体动作由目标选择,DART 因此把有害目标分解为局部合理的步骤,并用真实工具执行的反馈引导轨迹搜索;防御者须在证据不完整时于执行前决策,SAGE 先以只读查询探查相关状态,再允许或阻止每个动作,包括被阻止后重新提出的动作。 我们构建环境可验证的数据集,整合受控初始状态、可重放工具环境与任务特定可执行检查。在四个目标模型上,DART 将语义攻击成功率较基线提升 18.8--35.9 个百分点;在录制轨迹上,SAGE 保留 95.79% 的良性轨迹并在危害使能边界拦截 92.73% 的有害路径;在线评估中,DART 的可执行攻击成功率由 48.0% 降至 4.0%。SAGE 对四种攻击方法均有效,并可泛化到域外环境。代码与数据已公开。

论文精读

TL;DR SEAD 将工具智能体的攻击与防御建模为部分观测状态控制:攻击方 DART 利用执行反馈分解有害目标,防御方 SAGE 在执行前只读调查状态,将攻击成功率从 48% 降至 4%,同时保留 95.79% 良性轨迹。

问题

LLM 智能体日益接入外部工具执行操作,工具调用会改变系统状态(文件、权限、数据库记录等),后续看似无害的动作可能因此变成高风险操作,安全评估需要关注状态依赖的隐蔽危害。

现有攻击方法多聚焦于单步提示注入或越狱,难以生成跨多步状态演化的恶意轨迹;防御方法通常基于单动作内容或静态策略,未显式查询和推理当前系统状态。攻击者必须将有害目标分解为局部合理步骤,并利用工具执行反馈进行轨迹搜索;防御者则要在动作执行前、仅凭不完整状态证据做出实时拦截决策。

攻击与防御本质上是部分可观测状态控制问题:攻击者只提供指令、目标模型选择具体动作,攻击必须适应执行反馈;防御者不能等到后果显现,必须主动调查相关状态并实时裁决。业界对工具使用智能体的安全关注度持续上升,状态累积效应使事后审计难以定位原始风险动作。

类似于自动化 CI/CD 流水线中的依赖污染:一个前置步骤修改了环境变量,后续构建步骤看似正常却可能触发恶意代码执行。

核心洞察

  • **状态依赖的危害**:工具代理安全的关键挑战在于,危害可能不是由单个动作直接引发,而是由一系列动作改变外部状态后,后续常规动作在特定状态下才成为有害操作。这不同于已有工作大多聚焦于检测单步恶意行为或提示注入,而是需要跨步骤追踪部分可观测的环境状态,将安全问题建模为部分观测状态控制问题。
  • **攻防对称性**:DART 和 SAGE 分别从攻击者与防御者角度利用同一执行过程:攻击者因只能提供指令而必须将有害目标分解为局部合理步骤并利用执行反馈引导搜索;防御者因必须在执行前决策而通过只读查询主动调查状态。这种对称设计揭示了攻防在状态控制框架下的本质约束,为设计针对性的攻防方法提供了统一视角。
  • **在线防御有效性**:SAGE 不仅在离线基准上表现良好,在在线攻防对抗中将 DART 的攻击成功率从 48.0% 降至 4.0%,并泛化到域外环境。这表明状态感知的预执行防御具有实际部署潜力,不同于仅离线评估的防御方法,它能够应对自适应攻击者的动态调整。

方法

SEAD 将工具使用 agent 的执行过程建模为部分可观察状态控制:环境状态由工具动作改变,仅从交互表面不完全可见。攻击与防御共同利用这一状态视角,但角色分工不同。

DART 攻击流程:输入为恶意目标(如窃取数据)和可执行工具环境。关键模块包括:

  1. 目标分解器 将有害目标拆分为局部可信的步骤;
  2. 轨迹搜索器 生成候选动作序列;
  3. 执行反馈回路 用实际工具运行结果评估局部进展,引导搜索向可行攻击路径收敛。 输出为成功引发危害的动作轨迹。与单纯提示注入不同,DART 不假设目标模型完全服从,而是通过状态反馈自适应调整后续动作。

SAGE 防御流程:输入为待执行动作与当前局部状态观察。关键模块包括:

  1. 只读状态调查器 通过安全查询工具(如读取文件元数据、权限列表)收集与动作风险相关的状态证据;
  2. 预执行决策器 基于不完整证据判定允许或阻止;
  3. 动态重决策机制 对阻止后新提出的动作重新调查并裁决。 输出为每个动作的放行/拦截决定。

两者共享状态控制抽象,但 DART 从攻击者视角进行反馈条件搜索,SAGE 从防御者视角开展状态感知预执行审查。与传统基于提示拒答或事后审计的方法相比,SEAD 显式引入底层系统状态作为一阶分析对象,使攻防双方都能处理跨步骤的状态累积效应。

实验

实验设计

  • 数据集:SEAD environment-verifiable dataset,包含受控初始状态、可回放工具环境和任务级可执行检查。
  • 评估设置:四个目标模型,攻击方 DART,防御方 SAGE,覆盖离线轨迹与在线交互两种场景。

关键发现

  • DART 将语义攻击成功率提升 18.8–35.9 个百分点,且可执行验证下增益一致。
  • SAGE 在记录的轨迹上保留 95.79% 良性轨迹,拦截 92.73% 有害路径;在线对抗中将 DART 可执行攻击成功率从 48.0% 降至 4.0%。
  • SAGE 对四种攻击方法有效,并泛化到域外环境。

与基线对比解读

  • 攻击侧:DART 通过分解有害目标为局部合理步骤,利用工具执行反馈搜索,优于仅依赖指令的基线。
  • 防御侧:SAGE 在动作执行前进行状态感知的只读调查,能拦截预备状态改变等隐蔽路径,而基于内容的防御常失效。
  • 工程启示:工具型 agent 安全必须显式建模外部系统状态,只读探测是低开销且有效的防御原语。

行业影响

落地场景

SEAD 聚焦 工具使用型 LLM Agent 的安全防护,这类 Agent 正广泛用于自动化运维、数据处理流水线、电商后台管理、金融交易辅助和代码执行环境。攻击者通过构造看似无害的指令序列,利用已改变的文件、权限或数据库记录触发隐蔽危害,例如电商 Agent 先写入一个状态值,后续正常操作变成价格篡改。SAGE 可作为预执行防御层,在每次工具调用前用只读查询调查相关状态,阻止隐藏风险,适用于所有依赖 Agent 操作外部系统的产品。

商业价值

安全风险是 Agent 落地企业场景的主要障碍之一。SAGE 在离线轨迹上拦截 92.73% 有害路径,同时保留 95.79% 良性轨迹,在线对抗中将 DART 攻击成功率从 48.0% 降至 4.0%。这直接减少因 Agent 误操作或恶意注入导致的业务中断、数据泄露和合规处罚,降低人工审核成本。对于提供 Agent 服务的企业,预执行防护是建立客户信任、满足安全合规要求的差异化卖点。

与现有产品/工作流的接口

SAGE 可作为一个独立中间件或网关,集成在 LangChain、AutoGen、OpenAI function calling 等框架的工具调用链路上:

  • 拦截每个工具调用,先执行只读状态检查,再决定放行或阻止。
  • 无需修改目标模型内部结构,只依赖工具接口和状态查询能力。
  • DART 可作为红队测试工具,在部署前评估 Agent 在多变状态下的攻击面。

具体 use case

  1. 电商订单处理 Agent:自动调整价格、库存、优惠券的 Agent 可能被注入“先创建特定折扣条目,再批量改价”的指令序列。SAGE 在每次改价前查询当前折扣状态,识别异常前置条件并阻断,避免大规模资损。
  2. 企业数据管道 Agent:负责数据库迁移或 ETL 的 Agent 可能被诱导执行破坏性 SQL,例如先修改表权限再删除数据。SAGE 在只读模式验证 SQL 的影响范围和依赖状态,阻止不符合预期的写操作。

注:本次实验使用 环境可验证数据集,包含受控初始状态、可回放工具环境与任务特定检查,可直接复用为企业 Agent 安全测试基准。

局限

  • **数据集覆盖范围有限**:论文构造的环境可验证数据集虽然包含受控初始状态和可执行检查,但可能集中于特定类型的状态变化(如文件权限、数据库记录),对其他工具(如邮件、云服务、代码仓库)的覆盖不足。这限制了攻击与防御方法在更广泛工具生态中的泛化能力;论文声称泛化到分布外环境,但实验所展示的 OOD 环境可能仍在相近状态空间内,真实世界中的异构状态与权限模型仍待验证。
  • **防御方依赖监督数据与查询设计**:SAGE 的训练需要标注的良性/有害轨迹,而攻击样本的收集与标注成本较高,特别是覆盖未知攻击策略时容易产生盲区。此外,防御方通过只读查询调查相关状态,查询的具体实现依赖于人工定义的状态特征(如文件内容、权限位),难以自动扩展到新的工具和状态类型,部署时需要额外工程投入。
  • **攻击方假设目标可交互且可多次调用**:DART 通过实际工具执行的反馈进行轨迹搜索,这要求目标模型在攻击期间可在线交互并返回执行结果,但现实中的受害者模型可能仅暴露有限接口或对异常查询有限流。此外,攻击评估基于特定目标模型和采样参数,DART 的增益可能随着目标模型安全对齐增强或系统提示防御性提高而显著下降,攻击的鲁棒性尚未充分检验。
论文Xinjie Shen2026-09-28原文

相关内容