AgentWard:高自主Agent全生命周期安全框架
AgentWard 提出面向自主 Agent 的五阶段生命周期安全架构,将初始化、输入、记忆、决策和执行分别纳入分层防护,并通过共享风险状态实现跨层联动。
像OpenClaw这样的自主 Agent 会加载插件和技能,会连接外部工具,会读取网页和文档,会维护会话上下文和长期记忆,还会形成计划、拆解任务并调用执行能力。
它的安全问题天然跨越多个阶段,甚至会跨轮次、跨会话传播。
今天介绍的这篇文章 《AgentWard: A Lifecycle Security Architecture for Autonomous AI Agents》 提出的AgentWard,本质上就是一个面向自主 Agent 的纵深防御架构。

它把 Agent 运行过程拆成五个阶段,并为每个阶段配置对应的安全层,同时通过共享风险状态把各层串起来,避免每一层各自为战。论文还基于 OpenClaw 做了一个插件化原型,展示这个架构如何落到真实 Agent Runtime 上。

自主Agent五阶段生命周期
论文把自主 Agent 的运行生命周期拆成五个阶段:

第一是初始化阶段。Agent 会加载配置、插件、技能、依赖和权限声明。这里的问题是,Agent 一开始建立的能力集合是否可信。恶意插件、被投毒的技能、危险依赖、过度授权配置,都可能让 Agent 在还没有处理任何用户请求之前就已经带病运行。
第二是输入阶段。Agent 会接收用户消息、网页内容、文档、检索结果和工具返回结果。这里的问题是,外部内容到底是“数据”,还是被误当成了“指令”。间接提示注入、上下文污染、多模态隐藏指令,通常都在这个阶段进入。
第三是记忆阶段。Agent 会维护会话上下文、压缩摘要、长期记忆和工作区文件。这里的关键风险是,短期影响会不会变成长期污染。一旦恶意内容写入 MEMORY.md、AGENTS.md、USER.md 或类似持久状态,它就可能在未来会话里反复生效。
第四是决策阶段。Agent 会基于用户意图、上下文、记忆、工具列表和策略信息生成计划,选择工具,并填充调用参数。这里的问题是,Agent 的计划是否仍然符合用户授权任务。很多攻击不会直接让 Agent 输出危险内容,而是让 Agent 的目标逐渐漂移,从“完成任务”变成“读取敏感文件”“打包数据”“连接外部地址”。
第五是执行阶段。Agent 将内部决策转化为真实环境里的动作,比如 shell 命令、文件读写、API 调用、网络访问、资源操作等。这里是风险真正落地的边界,也是最后一道硬控制边界。
这五个阶段对应的安全目标很清楚:
-
初始化要建立可信基线
-
输入要保护活跃上下文
-
记忆要保护内部状态
-
决策要保证计划被授权
-
执行要保证最小权限和环境安全
论文表格中也明确把五个生命周期阶段分别映射到五个保护层、信任边界和安全目标。
AgentWard五层防护架构

Foundation Scan Layer,基础扫描层。 这一层对应初始化阶段,关注运行时供应链边界。它检查配置、插件、技能、依赖和权限声明,识别恶意技能、危险依赖、供应链风险、过度授权配置。它的作用是给 Agent 建立一个可信运行基线。论文中特别强调,后续阶段会继承初始化时接受的组件、权限和默认假设,所以初始化风险必须在早期显式暴露。
Input Sanitization Layer,输入净化层。 这一层对应输入阶段,关注指令和数据之间的边界。它处理消息入口、检索结果、文档、网页、工具响应等内容,对外部信息进行来源标记、风险标记、隔离、降权、重写或替换。论文提到这一层可以组合语义一致性分析、碎片化攻击检测、多模态一致性分析等能力,以防止恶意指令污染上下文、记忆和后续规划。
Cognition Protection Layer,认知保护层。 这一层对应记忆阶段,关注短暂状态和持久状态之间的边界。它监控记忆写入、会话摘要、上下文合并、工作区文件更新等行为,判断状态变化是否有效、一致、无污染。它可以输出持久化批准、内存读取授权、回滚标记、降级为临时状态、异常告警等结果。这个设计很重要,因为 Agent 的长期记忆不是普通缓存,而是未来行为的“隐性提示词”。
Decision Alignment Layer,决策对齐层。 这一层对应决策阶段,关注用户意图和 Agent 计划之间的边界。它在工具调用真正执行之前检查计划、工具选择和参数是否符合用户授权任务、策略约束和前面各层积累的上下文。论文中提到,这一层可以做全局信息审计、意图一致性检查、推理逻辑审查、敏感参数验证和高风险决策重写。它相当于在“计划变成动作”之前做一次语义层面的安全复核。
Execution Control Layer,执行控制层。 这一层对应执行阶段,关注 Agent 和外部环境之间的边界。它管控工具调用、shell 命令、文件操作、API 调用、资源访问和网络通信。输出可以是允许、拒绝、最小权限约束、沙箱策略、审批门槛、回滚操作、kill signal、运行时监控状态等。论文还提到代表性设计中包括 eBPF 系统级监控,用来在环境侧做更硬的控制。
这五层里面,最容易被忽视的是 第三层和第四层。
很多 Agent 安全方案会有输入检测和工具权限控制,但缺少对“记忆写入”和“计划形成”的独立安全边界。AgentWard 的一个贡献就在于,它把记忆和决策都单独拿出来,作为需要专门治理的中间状态。
这非常符合 Agent 的真实风险结构。因为 Agent 出问题,常常不是“看到恶意输入之后立刻执行恶意命令”,而是中间经过了上下文污染、记忆污染、目标漂移、计划生成,最后才落到工具调用上。
关键设计思想
如果只是把五个检测模块顺序串起来,AgentWard 的价值并不大。它真正强调的是 cross-layer coordination,跨层协调。

论文提出,每一层不能只做本地判断,还要把观察到的风险信号写入 共享安全上下文。这个共享上下文记录会话级风险证据、信任标记、关键攻击面的判断结果,包括技能、记忆、工具、任务和执行请求。AgentWard 还应该维护 攻击路径知识库,用来记录风险如何进入生命周期、如何跨阶段传播、最终如何导致危害。
这带来两个效果。
第一个效果是 弱信号可以累积。
比如输入层看到一个网页内容有点可疑,但证据不足以直接拦截。传统系统可能会放行,然后这条风险信号就丢了。AgentWard 会把它标记为“可疑输入”,后续记忆层在判断是否允许写入长期记忆时,可以参考这个标记;决策层在判断是否允许高风险工具调用时,也可以参考这个标记;执行层甚至可以因此降低工具权限、要求人工审批或进入沙箱执行。
第二个效果是 历史经验可以反哺前面阶段。
如果某类注入模式在执行阶段才被发现,并触发了危险命令拦截,那么这个结果不应该只停留在执行层。系统应该把它抽象成可复用的攻击路径知识,反向提供给输入层、记忆层和决策层,让未来类似攻击在更早阶段就被识别。论文把这种能力称为 history-aware defense adaptation,也就是 具有历史感知的防御适配。
这点非常重要,因为 Agent 是多轮、多任务、跨会话运行的系统,安全判断不能是一次性的。真正有价值的 Agent 安全系统,应该能在运行过程中形成“安全记忆”。
原型实现
论文不是纯概念文章,它基于 OpenClaw 做了一个原型实现,实现方式是把 AgentWard 做成 OpenClaw 的插件原生扩展,它引入了一个双向插件设计:
统一适配层收集生命周期相关的运行时 hook,并把它们规范化成安全事件;每个安全层的插件消费这些事件,返回结构化输出,包括告警类型、威胁描述、判断证据和阻断指令。

论文中列了一些具体 hook:
Foundation Scan 挂在 before_prompt_build; Input Sanitization 和 Decision Alignment 挂在 before_message_write,分别处理 tool 和 assistant 角色消息; Cognition Protection 和 Execution Control 挂在 before_tool_call,前者只在记忆文件即将被修改时触发,后者监控所有工具调用。 系统还维护 per-session security state,把告警和临时阻断跨轮次传递。
当前实现覆盖了初始化阶段的恶意技能和错误配置检查、输入阶段的工具结果污染检测、认知阶段的记忆文件修改异常检测、决策阶段的 LLM-judge 响应审查,以及执行阶段的危险命令模式拦截。
论文也明确说,这个原型主要用于展示分层拦截和跨阶段协调,而不是提供完整 benchmark。
这一点要注意: 这篇论文不是一篇实验指标驱动的 benchmark 论文,而是一篇架构论文。
它没有给出大规模评测数据,也没有证明某个检测器比现有方法提升多少。
它的价值在于给 Agent Runtime 安全设计提供了一个相对清晰的工程蓝图。
两个案例:AgentWard 如何拦截攻击链?
论文用了两个 case study 来说明 AgentWard 的作用。
案例一: 恶意技能导致未授权数据访问
攻击从一个用户安装的 skill 开始。它表面描述是正常的,但文件里包含混淆指令,会引导 Agent 访问凭据或导出数据。
基础扫描层 先发现技能声明能力和实际内容不匹配,但证据可能不足以直接阻断,于是记录风险标记,并把告警传给后续层。
之后,在一个看似正常的编程任务中,Agent 的计划逐渐偏移到读取敏感文件、打包内容、准备外传。
决策对齐层 结合用户原始意图、上下文和基础扫描告警,识别出计划超出了授权任务。
执行控制层 随后收紧工具权限,并在 Agent 试图读取敏感文件或执行高风险命令时拦截。

这个案例说明,初始化风险不能只当成“一次性扫描”,一个恶意 skill 的危害可能要到计划阶段或执行阶段才显现出来,AgentWard 的做法是让初始化告警在后续阶段持续降低信任等级。
案例二: 间接提示注入导致持久后门和拒绝服务
攻击从网页或工具结果中的间接提示注入开始。
输入净化层 检查 prompt template 标记、越狱短语和危险指令模式。如果发现可疑内容,可以告警、临时限制工具权限,或者阻止受污染工具结果及其派生响应被持久化。即使污染内容进入当前会话,攻击下一步可能是写入 MEMORY.md、AGENTS.md 等持久状态文件。
认知保护层 会在工具边界检查这些状态修改,并阻断可疑记忆变更,防止注入指令变成未来会话里的可信上下文。
假如早期防线仍然绕过, 执行控制层 还会在最终危险命令出现时拦截,比如阻止导致拒绝服务循环的命令模式。

这个案例的重点是: 记忆既是攻击目标,也是攻击中继点。
如果没有记忆保护层,输入阶段的一次污染就可能变成跨会话的长期后门。AgentWard 把“是否允许写入长期记忆”变成一个独立安全决策,这个思路非常值得产品化。
对工业界的启发
我觉得这篇论文最值得工业界关注的地方,是它把 Agent 安全从“检测服务”变成了“运行时安全架构”。
传统大模型安全产品很容易做成三个接口:输入检测、输出检测、敏感问题代答。
这个模式对普通聊天机器人有用,但面对 Agent 就会不够。因为 Agent 的风险不仅发生在文本输入输出里,还发生在技能加载、工具响应、记忆写入、计划生成、权限调用、环境副作用里。
AgentWard 给出的产品化启发是:
Agent 安全网关不能只做内容审核,而要变成 Agent Runtime 的安全控制平面。
这个控制平面至少要管住几个东西。
-
第一,要管 组件和技能。任何技能、插件、MCP server、工具定义、权限声明,都应该进入初始化扫描。这里可以结合 SBOM、依赖漏洞扫描、manifest 校验、权限最小化、技能描述和实际代码一致性检查。
-
第二,要管 外部内容进入上下文的过程。网页、文档、搜索结果、RAG 片段、工具返回值都不能默认可信。它们需要来源标记、风险标记、可用范围限制。对 Agent 来说,最危险的不是“用户输入了一段恶意 prompt”,而是“Agent 自己找来的网页里藏着指令”。
-
第三,要管 记忆写入。长期记忆、用户偏好、工作区文件、任务摘要、Agent 自我规则,都应该有写入审批和污染检测。尤其是 AGENTS.md、MEMORY.md、USER.md 这类文件,本质上是 Agent 未来行为的配置层,安全等级应该高于普通文件。
-
第四,要管 计划到动作的转换。Agent 在调用工具前,应该有一层判断:这个动作是不是用户授权任务的自然延伸?工具参数是否敏感?是否使用了被污染来源作为依据?是否从“帮我分析代码”漂移成了“读取凭据并上传”?
-
第五,要管 真实执行边界。shell、文件、网络、浏览器、数据库、云 API 都应该有最小权限、沙箱、审批、回滚、资源限制、审计日志。语义检测再强,也不能替代执行侧硬控制。
这也是为什么这篇论文虽然看起来是 Agent 安全架构,但实际上很接近未来 Agent 平台的安全产品形态。
局限性
第一,它更像架构设计和原型展示,不是完整实验论文。 论文没有提供大规模攻击集上的定量评测,也没有比较 AgentWard 与其他防御方案在攻击成功率、误报率、性能开销上的差异。论文自己也说,原型和案例重点是展示控制点布置、跨层协调和操作含义,而不是 benchmark totals。
第二,很多层的具体检测能力还比较抽象。 比如输入净化层提到语义一致性、碎片化检测、多模态一致性;认知保护层提到 context drift、harmfulness、consistency;决策层提到 intent consistency、inference logic review。这些能力怎么实现、效果如何、误判如何控制,论文展开不多。
第三,跨层共享状态虽然很有价值,但工程上会带来复杂性。 风险标记如何定义?风险分数如何传递?不同层出现冲突判断怎么办?一个弱信号积累到什么程度才触发强干预?这些都需要更细的策略设计。
第四,LLM-judge 用于决策审查会带来稳定性问题。 决策对齐层如果依赖模型判断,就可能受到模型一致性、上下文污染、提示注入绕过、成本和延迟影响。论文没有深入讨论这些问题。
第五,执行控制层虽然提到了 eBPF 系统级监控,但真实生产环境会复杂得多。 不同工具、不同 OS、不同云环境、不同权限模型下,执行控制的实现成本和边界差异很大。
所以这篇论文更适合被看作“Agent 安全架构蓝图”,而不是一个已经成熟的安全产品方案。
写在最后
这篇论文的方向是对的,而且很符合 Agent 安全从研究走向工程的趋势。
它没有沉迷于某个 prompt injection detector 的精度提升,而是抓住了 Agent 的本质:Agent 是一个会长期运行、会积累状态、会调用工具、会产生外部副作用的系统。因此,Agent 安全必须具备系统安全视角。
它的最大贡献有三个。
第一,它把 Agent 的安全边界拆得比较清楚:初始化、输入、记忆、决策、执行。这个拆法适合做产品架构,也适合做安全责任分层。
第二,它把记忆安全和决策安全单独拿出来,避免把所有问题都塞进输入过滤和工具拦截。
第三,它强调跨层协调,让风险信号在生命周期中持续传递,而不是每一层做完判断就丢弃。
如果用一句话总结这篇论文:
AgentWard 不是在回答“如何检测某一种 Agent 攻击”,而是在回答“一个真正可运行的 Agent 系统,应该把安全控制点放在哪里”。
这也是它对工业界最有价值的地方。
对于正在做 Agent 平台、MCP 网关、企业 Agent、代码 Agent、个人助理 Agent 的团队来说,这篇论文提供的不是一个算法,而是一张安全架构施工图。
同专题推荐
查看专题TRACESAFE-BENCH:Agent执行过程的安全性评测框架
传统护栏盯住输入和输出两端,但 Agent 真正危险的地方在中间——每一次工具调用发出之前。TRACESAFE-BENCH 把 Agent 安全评测的重心推到了执行轨迹这一层。
GPT-5.5 System Card 深读:前沿模型安全,正在从拒答走向分层治理
从 GPT-5.5 System Card 出发,解析前沿模型从"回答问题"走向"执行任务"后,安全治理如何从内容审核升级为任务轨迹评估、工具调用管控与分层确认机制。
NIST发布:AI部署后安全监测的六层框架(NIST AI 800-4)
2026年3月,NIST发布《Challenges to the Monitoring of Deployed AI Systems》,提出AI系统部署后安全监测的六层框架(功能/运维/人因/安全/合规/大规模影响)和五类共性难题,明确指出人因监测被严重低估,Agent场景将放大所有问题。