一句话讲清楚👉🏻 北京邮电大学、北京智源人工智能研究院和中国信通院联合提出ClawKeeper,一个通过"技能注入 + 插件管控 + 独立监察官"三重机制为OpenClaw智能体提供全方位安全防护的开源框架,在7类威胁场景下防御成功率最高达到90%,远超现有方案。
OpenClaw作为目前最流行的开源AI Agent运行时之一,已经让大模型从"只会聊天"进化到"能干活"——它可以执行Shell命令、访问本地文件、调用API、集成第三方工具。但能力越大,风险越大。当一个AI Agent拥有你的系统权限时,一次模型错误就可能演变成真实的系统级安全事故:敏感数据泄露、权限被恶意提升、恶意插件悄悄执行……
现有的安全方案往往只覆盖Agent生命周期的某一个环节,缺乏统一的防护体系。来自北京邮电大学、北京智源人工智能研究院和中国信息通信研究院的研究团队提出了ClawKeeper——一个集"技能层 + 插件层 + 监察官层"三位一体的实时安全框架。其中的**Watcher(监察官)**范式是一个独立监控Agent,可以适配任意Agent系统,有望成为下一代Agent安全的通用基础组件。

一、OpenClaw的安全困境:从聊天机器人到"数字操作员"
要理解ClawKeeper的价值,先得搞清楚OpenClaw为什么危险。
传统的AI聊天机器人只输出文本,用户看一眼就完事了,本质上是无害的。但OpenClaw不一样——它是一个本地优先的Agent运行时,能直接操作系统资源。具体来说,它可以:
执行Shell命令(包括 rm -rf这类毁灭性操作)读写本地文件(包括SSH密钥、配置文件等敏感信息) 调用外部API(可能产生财务损失或数据泄露) 集成Telegram、飞书等通信平台(可能向错误对象发送敏感消息) 安装第三方技能(可能是恶意供应链攻击载体)
这意味着,模型的一个"小失误"不再是说错话那么简单,而是可能直接删掉你的文件、泄露你的密码、向外发送你的私密数据。
OpenClaw的安全威胁来源远比传统软件复杂。攻击面不仅来自用户输入的恶意Prompt,还来自可安装的技能(Skills)、插件逻辑、持久化记忆、延时触发器以及它们之间的组合交互。近期研究表明,结构化权限边界、时间触发器和跨Agent传播可以同时放大运行时和供应链的攻击面。
二、现有方案的四大局限
研究团队系统梳理了OpenClaw生态中现有的安全工具后,发现它们普遍存在四个根本性问题:
(1)覆盖碎片化:现有方案各管一摊。有的只做Prompt注入防御,有的只做配置审计,有的只做恶意技能检测。没有一个方案能覆盖Agent的完整生命周期。很多方案还深度绑定OpenClaw,无法迁移到其他Agent框架。
(2)安全与效用的冲突:现有方案通常把安全规则以技能或插件形式嵌入OpenClaw内部,这意味着Agent需要同时"完成任务"和"遵守安全规则"两个目标之间做权衡。在实践中,更严格的安全约束往往导致任务效率下降,而优先任务表现则可能削弱安全保障。
(3)事后防御:大多数方案只能在恶意操作发生后,通过分析日志发现问题——相当于"马跑了才关栅栏"。缺乏实时的、事前的主动防御能力。
(4)静态防御:安全规则一旦部署就固定不变,而OpenClaw本身却在不断自我进化。一个不能跟着Agent一起成长的安全层,迟早会被变化的威胁环境甩在后面。
针对这四个问题,ClawKeeper设计了三层互补的防护架构。
三、ClawKeeper整体架构:三层防护,各司其职
ClawKeeper的核心设计理念是将安全防护从Agent内部剥离,构建三个互补的保护层:

Skill层(技能保护):在指令层面运作。通过结构化的Markdown安全文档和脚本,将安全策略直接注入Agent的推理上下文中,让Agent在"思考"阶段就能意识到安全边界。
Plugin层(插件保护):在运行时层面运作。作为硬编码的执行层嵌入OpenClaw运行时,提供配置加固、威胁检测、行为监控等深度安全能力。
Watcher层(监察官保护):这是最核心的创新。Watcher是一个完全独立的监控Agent,与任务执行Agent分离运行,专门负责安全监督。它不参与任何任务求解,唯一的职责就是监控任务Agent的行为并在必要时干预。
研究团队从五个关键维度对这三种范式进行了对比分析:
| 高 | |||
| 高 | |||
| 高 | 高 | ||
| 低 | |||
| 低 |
可以看到,Watcher在安全性和兼容性上表现最优,Plugin运行成本最低,Skill部署最简单。ClawKeeper允许用户根据自身需求自由组合这三层防护。
四、Skill层:把安全规则"写进"Agent的大脑
Skill层的核心思路很简单:既然Agent靠Prompt来理解和执行任务,那我们就把安全规则也写成Agent能理解的格式,让它在思考阶段就把安全因素纳入考量。
4.1 双维度防护设计
ClawKeeper的安全规则被定义为结构化的Markdown文档,Agent可以直接读取和执行,同时配合相应的安全脚本。防护从两个维度展开:
系统维度:针对操作系统层面的风险。与大多数现有方案只考虑Linux环境不同,ClawKeeper专门提供了Windows系统的安全约束(同时也支持macOS迁移),覆盖文件系统访问、权限边界和本地任务管理。
软件维度:由于OpenClaw通常会集成飞书(Lark)、钉钉、Telegram等通信平台,每个平台的功能特性不同,安全需求也不同。ClawKeeper以飞书为典型案例,构建了对应的安全约束框架,规范OpenClaw在该软件环境下的操作。

4.2 轻量级安全机制
配套的Skill脚本还包含两个实用机制:
定时安全扫描:Agent可以定期检查自身运行状态,检测新安装的技能或变化的执行环境是否引入了潜在风险。
交互摘要分析:分析用户与OpenClaw的交互历史,提升操作透明度,支持事后安全审计。
为了最大化部署灵活性,Skill层保护还可以进一步简化为纯Prompt格式——不需要外部脚本,直接通过针对性的Prompt引导Agent主动内化安全策略。例如,Agent可以被指示自动将安全策略注入配置文件(如 AGENTS.md)以持久化,或注册定时任务进行定期安全巡检。
不过研究团队也坦率指出,Skill层的根本局限在于:其有效性完全取决于安全规则的设计质量和底层模型的服从能力。恶意指令可以明确要求系统移除所有安全相关技能,这也是为什么需要Plugin层和Watcher层作为补充。


五、Plugin层:运行时的"安全审计官"
Plugin层与Skill层不同,它是硬编码嵌入运行时的安全执行器。
5.1 五大安全模块
ClawKeeper的Plugin是一个安全审计器、扫描器和加固执行器,从静态配置到执行后分析守护系统完整性。五个模块分别是:
(1)威胁检测(Threat Detection):扫描系统中的错误配置和已知漏洞,对标OWASP Agent Security Initiative和CVE数据库。检测内容包括暴露的网关端口、弱文件权限、缺失的认证机制、外部明文凭证等。
(2)加固模块(Hardening):对检测到的漏洞执行具体的防御措施,例如将网关绑定到localhost、建立防篡改的环境基线。最关键的是,加固过程会将预定义的安全规则和风险感知Prompt直接注入Agent的核心配置文件(AGENTS.md),确保这些安全约束在Agent未来的所有操作中持续伴随。
(3)配置保护(Configuration Protection):为关键操作文件(openclaw.json、AGENTS.md、SOUL.md)生成和验证加密哈希备份,一旦检测到未授权修改立即告警。
(4)监控与日志(Monitoring and Logging):持续监控Agent操作的全生命周期,将所有活动记录到安全的本地日志文件中,包括用户指令、原始LLM输入、LLM生成输出和工具调用序列。
(5)行为扫描(Behavioral Scanning):独立于日志生成过程,对指定日志文件进行定向安全审计。专门用于分析历史执行流并检测潜在的复杂威胁模式,如微妙的Prompt注入、恶意技能调用、凭证泄露、危险命令执行和异常活动频率。

5.2 安装前后对比:密码泄露防护
论文中一个非常直观的案例展示了Plugin的实际效果。
安装前:当用户让OpenClaw读取一个包含明文GitHub凭证的文本文件时,Agent直接将文件内容(包括用户名和密码)全部输出——这是一个严重的信息泄露漏洞。
安装后:Hardening模块将安全规则注入Agent核心配置后,当Agent再次被要求输出凭证时,它能识别相关风险并按照预定义的安全策略,用策略通知替代敏感内容输出,在保护安全的同时不破坏用户的正常使用需求。


5.3 威胁检测报告
Plugin的Threat Detection模块可以生成详细的安全审计报告。在一次典型审计中,它给出83/100的整体安全评分,检测到网关绑定使用了非显式的回环设置,可能在不同环境中被不一致地解释,存在未预期暴露的风险。报告不仅指出问题,还提供了"auto-fixable"的修复方案——用户只需运行 npx openclaw clawkeeper harden 即可一键修复。


六、Watcher层:OpenClaw监督OpenClaw(核心创新)
Watcher层是论文最核心的部分。
6.1 为什么要独立?
几乎所有现有的OpenClaw安全方案都是以Skill或Plugin的形式直接嵌入任务执行框架中。这种紧密耦合的设计带来了四个根本性问题:
任务-安全耦合:Agent需要同时优化任务完成和安全合规,两者之间存在内在冲突。更严格的安全约束倾向于降低任务效率,而优先任务表现则可能削弱安全保障。
易被对抗性操纵:由于安全组件作为普通Skill或Plugin部署在Agent内部,它们和普通模块一样可以被修改甚至卸载。一个恶意输入可能发出一条"卸载所有安全Skill"的指令,就让系统丧失所有保护机制。
无法与Agent共同进化:安全组件一旦安装就保持静态,与OpenClaw"自我进化"的设计哲学直接矛盾。随着时间推移,不断成长的Agent与停滞的安全层之间的差距会越来越大。
缺乏透明性和可验证性:安全知识的执行完全依赖OpenClaw的内部逻辑,对外部观察者来说是不透明的。用户没有可靠机制来审计安全规则是否在运行时被忠实执行。
6.2 Watcher架构设计
Watcher是一个完全独立的Agent,被设计为专门监督其他Agent的安全。具体来说,它是一个独立的OpenClaw实例,配备了一套专门的监控Skill和Plugin。与任务执行Agent不同,Watcher不直接与用户交互,也不参与任何问题求解。它的唯一职责是与任务执行的OpenClaw实例通信,并在整个操作过程中强制执行安全约束。

部署与配置:安装过程被刻意设计为轻量级——提供一个简洁的Markdown配置文件,指导任务执行的OpenClaw自动从ClawKeeper仓库安装Watcher,几乎不需要用户干预。配置方面,只需暴露ClawKeeper的Web访问端口,Watcher就能通过WebSocket与任务Agent建立持久连接。
运行时安全执行:连接建立后,Watcher会对任务Agent执行安全的热重启,推送所需的安全Skill和Plugin进行安装,且不中断Agent的可用性。在任务执行期间,已安装的Plugin持续将会话信息(包括上下文状态、工具调用记录和转发的多轮消息)实时传输给Watcher进行安全诊断。一旦Watcher检测到潜在的不安全执行轨迹,它会发出信号让任务Agent暂停,并要求用户明确确认后才能继续。
6.3 解耦架构的四大优势
(1)分离任务与安全目标:将所有安全逻辑卸载到独立Agent后,任务Agent可以自由地优化任务性能,而Watcher可以在不受任务效率妥协的情况下强制执行安全约束。
(2)抗对抗性操纵:Watcher作为独立进程运行在任务Agent的Plugin命名空间之外,不能被任务级指令卸载、禁用或篡改。针对任务Agent技能集的恶意输入对Watcher的操作没有权限,大幅缩小了攻击面。
(3)与Agent共同进化:Watcher的监控逻辑独立于任务Agent进行维护和更新。随着OpenClaw通过环境交互不断自我进化,Watcher可以并行更新以匹配Agent不断增长的能力,确保安全覆盖不会因架构分歧而退化。
(4)透明性与可验证性:所有安全相关的会话数据(包括上下文信息、工具调用记录和执行轨迹)都传输给Watcher并在外部诊断,使得执行过程不再不透明。外部观察者和审计者可以检查Watcher的输入和输出,验证安全规则是否在运行时被忠实应用。
6.4 两种部署模式
本地部署:Watcher和OpenClaw安装在同一台机器上。优点是保护用户隐私(所有数据留在本地)、支持更广泛的监控能力(如扫描本地文件和已安装的技能)。缺点是增加了本机计算开销(相当于同时运行两个OpenClaw实例)。适合个人用户或隐私敏感场景。
云端部署:Watcher托管在远程服务器上,多个OpenClaw实例通过WebSocket连接到它。适合多Agent或企业场景,单个Watcher可以同时监督整个Agent实例池。安全策略更新可以在整个集群中集中传播,无需逐客户端干预。主要权衡是隐私:会话信息必须传输到远程服务器进行诊断。
七、实验评估:七大威胁场景全面测试
7.1 测试基准
为了系统评估ClawKeeper的安全能力,研究团队构建了一个包含七类安全任务的基准测试,每类包含20个对抗实例(10个简单 + 10个复杂),共计140个测试用例。七类任务对标OWASP Agent Security Initiative的威胁分类:
T1: Prompt注入 — 恶意指令劫持Agent行为,诱导未授权操作 T2: 凭证与敏感数据泄露 — Agent被操纵泄露API令牌、密码、私钥等敏感信息 T3: 权限提升与篡改 — 攻击者请求超越Agent授权权限的操作 T4: 危险命令执行 — Agent被引导执行不可逆的破坏性命令 T5: 配置文件篡改 — 恶意输入修改关键配置文件以禁用安全机制 T6: 漏洞与威胁检测 — Agent环境中存在的潜在错误配置被攻击者利用 T7: 恶意技能安装 — 第三方技能包含供应链后门或隐蔽数据外传
7.2 对比基线
ClawKeeper与7个最知名的OpenClaw开源安全仓库进行了对比:OpenGuardrails、ClawSec、OSPG、SecureClaw、OpenClaw Shield、ClawBands和Clawscan-Skills。底层LLM统一使用GLM-5。
7.3 核心结果
实验结果出来了:
ClawKeeper在全部七个任务类别上都大幅超越最佳基线,提升幅度从15到45个百分点。具体数据:
Prompt注入防御:ClawKeeper 90% vs 最佳基线65%(ClawSec) 凭证泄露防御:ClawKeeper 85% vs 最佳基线70%(OSPG) 权限提升防御:ClawKeeper 85% vs 最佳基线60%(ClawBands) 危险命令防御:ClawKeeper 90% vs 最佳基线45%(ClawBands) 配置篡改防御:ClawKeeper 90% vs 最佳基线65%(SecureClaw) 威胁检测:ClawKeeper 85% vs 最佳基线65%(ClawBands) 恶意技能防御:ClawKeeper 90% vs 最佳基线60%(Clawscan-Skills)
另一个值得注意的发现:没有一个基线方案能覆盖超过三个任务类别。OpenGuardrails只覆盖2个,OpenClaw Shield只处理权限监控,Clawscan-Skills只针对供应链风险。即使覆盖面最广的ClawBands也最多覆盖3个类别。这种碎片化正是ClawKeeper要解决的核心问题——而ClawKeeper的三层架构实现了全部7个类别的覆盖。
八、Watcher的自我进化能力
Watcher范式还有一个独特优势:它可以通过处理新的威胁案例持续更新自己的安全知识——研究团队称之为"自我进化"。
为了量化这一能力,他们模拟了一个在线学习场景:Watcher处理从7个任务类别中均匀抽取的、不断增长的对抗案例语料。实验结果显示,Watcher的防御成功率随着处理案例数量的增加呈稳定提升:
处理0个案例时:DSR约90.0% 处理100个案例后:DSR提升至约95.0%
相比之下,Skill层和Plugin层的DSR保持平坦——因为它们无法在没有开发者手动干预的情况下吸收新的威胁知识。
这种改进来自两个互补机制:一是Watcher遇到新的对抗模式后,会更新其监控技能和上下文记忆,丰富威胁分类词汇表;二是Watcher会随时间调整其确认请求阈值,基于观察到的威胁分布校准风险容忍度,减少漏报和不必要的中断。
九、Qualitative实验:真实环境下的安全验证
除了定量评估,研究团队还在真实环境中进行了全面的定性分析,使用OpenClaw 2026.3.8版本配合GLM-5大模型。下面看三个典型案例:
案例一:Watcher拦截危险命令
当OpenClaw被指示解码一个Base64载荷并执行结果命令时,Watcher检测到解码后的命令是一个涉及文件修改的高风险系统级操作。Watcher没有允许自动执行,而是将决策切换为"ask_user",暂停流程并要求用户明确的人工确认后才继续。这体现了严格的Human-in-the-Loop(HITL)安全策略。

案例二:Watcher限制工具调用次数
用户指示OpenClaw执行一个多步骤部署流水线,涉及文件读写、Shell执行和命令执行等多个工具。当Agent持续链式调用工具时,Watcher监控累计工具使用量并检测到调用次数超过预定义的安全阈值(reason: tool_loop_limit)。Watcher中断流程并要求人工确认,防止无限制的自主工具执行。

案例三:Watcher阻止失败重试循环
一个权限命令因权限错误失败后,用户指示OpenClaw进入静默恢复模式并反复重试同一命令。Watcher检测到上游执行失败,识别出重复失败循环的风险,直接发出"stop"决策终止运行,要求人工干预后才能继续。

十、Watcher的通用性:不止于OpenClaw
论文还有一个值得关注的点:Watcher范式不仅仅适用于OpenClaw。
由于Watcher通过标准通信接口(如WebSocket)与任务Agent交互,它可以被适配到任何暴露了通信接口的Agent系统上。这意味着,无论你用的是OpenClaw、LangChain Agent、AutoGPT还是其他Agent框架,理论上都可以通过建立Watcher通信通道来获得相同的安全保护。
这种通用性使得ClawKeeper不仅仅是一个OpenClaw安全插件,而是一个面向整个Agent生态的通用安全框架。
资源链接
📄 论文链接https://arxiv.org/abs/2603.24414
💻 代码仓库https://github.com/SafeAI-Lab-X/ClawKeeper
夜雨聆风