乐于分享
好东西不私藏

对OpenClaw和HermesAgent的安全威胁建模分析

对OpenClaw和HermesAgent的安全威胁建模分析

今年OpenClaw(业内俗称“龙虾”)和HermesAgent(业内俗称“爱马仕”)智能体的火爆,极大地带动了Token经济,同时也暴露了很大的安全隐患。3月11日,工业和信息化部网络安全威胁和漏洞信息共享平台(NVDB)针对龙虾热潮,组织智能体提供商、漏洞收集平台运营单位、网络安全企业等,研究提出“六要六不要”建议。3 月 12 日,国家工业信息安全发展研究中心发布工业领域 OpenClaw 应用的风险预警通报,明确要求 严禁OpenClaw与工业控制网络直接连通,原则上禁止向 OpenClaw 提供系统级权限,并要求工业企业部署于独立隔离区。

为什么管理机构对爆火的智能体如临大敌?现在已经有很多文章分析龙虾类智能体的漏洞和安全风险,总体来讲其安全风险的本质是这些未经严格安全测试的开源代码,迭加AI的不确定性和执行工具的能力,可能造成不可预测的后果如果只是针对问题进行修补,那还是头疼医头脚疼医脚,无法从根本上获得一个安全的智能体系统。

本文将使用业界成熟的STRIDE安全威胁建模方法,对OpenClaw和HermesAgent建立全面的安全威胁模型分析其在各个层面可能存在的安全威胁,指导大家进行安全测试和安全加固——因为时间有限,本文对这两个网红智能体架构的分析肯定不够完善,大家可以参考这个思路进一步细化和丰富这2个威胁模型

安全威胁建模
STRIDE威胁建模

STRIDE 是微软提出的一种威胁建模分类框架,用 6 个字母代表 6 大类安全威胁:

威胁建模方式:绘制系统的数据流图,对系统里的每个数据流、组件、接口,逐类问:

会被欺骗吗?→ S

会被篡改吗?→ T

操作后能追溯/无法抵赖吗?→ R

数据会泄露吗?→ I

能被攻击导致宕机吗?→ D

会越权吗?→ E

6 类全部过一遍,基本就全面覆盖了系统的主要威胁面,建立了完整的安全威胁模型。

分析对象架构图

OpenClaw 通过统一的网关架构连接多种聊天平台(如飞书、钉钉、Telegram等),实现多Agent管理、工具执行、状态持久化等功能。

核心架构由两大模块组成:

Gateway网关:基于WebSocket的消息调度中心,负责接收各平台消息、进行访问控制、路由到对应Agent,并将回复返回。

Agent智能体:执行AI对话、调用Skill和工具(命令行、浏览器、文件操作等)、管理会话状态和上下文。

OpenClaw智能体的架构如下所示:

Hermes Agent 不追求复杂的多通道调度,核心聚焦任务执行、经验学习、动态优化。Hermes Agent 的核心功能特性是在执行任务过程中自动总结流程、生成技能卡片、优化执行逻辑,即具有自我学习和自主进化的能力(OpenClaw 不支持)。作为通用智能体,同样具有调用工具执行任务的能力。接入方式和OpenClaw 相比,主要差异是支持通过 ACP 方式接入支持 ACP 的编辑器,比如 VS Code、Zed、JetBrains。

HermesAgent 智能体的架构如下所示:

DFD数据流图

OpenClaw的DFD数据流图

HermesAgent的DFD数据流图

威胁分析结果汇总

经过安全威胁建模分析,最终的分析结果按类别统计:

分析结果按威胁级别统计:

DREAD评分标准请参考附录。

STRIDE威胁清单
公共威胁

公共威胁即OpenClaw和HermesAgent 共有的架构级威胁。经威胁建模分析,公共威胁共16个,按风险级别统计:Critical(严重): 6 ; High(高): 4 ;Medium(中): 3 ;Low(低): 3。

T1: Prompt注入攻击 ,级别:Critical

STRIDE: S (欺骗) | 边界: A/B | DREAD: 8.2

T2: 长期记忆污染 ,级别:Critical

STRIDE: T+I (篡改+泄露) | 边界: B | DREAD: 8.2

T3: 工具权限滥用,级别:Critical

STRIDE: E (权限提升) | 边界: B/C | DREAD: 8.0

T4: 消息适配器欺骗攻击,级别:Critical

STRIDE: S (欺骗) | 边界: A | DREAD: 8.0

T5: 插件恶意代码执行,级别:Critical

STRIDE: T(篡改)+E (权限提升) | 边界: B | DREAD: 8.5

T6: Docker逃逸攻击,级别:Critical

STRIDE: E (权限提升)| 边界: C | DREAD: 8.0

T7: 系统提示词泄露,级别:High

STRIDE: I (泄露) | 边界: B | DREAD: 7.6

T8: Token洪泛/拒绝服务,级别:High

STRIDE: D (拒绝服务) | 边界: B | DREAD: 7.4

T9: 会话数据库信息泄露,级别:High

STRIDE: I (泄露) | 边界: B | DREAD: 7.2

T10: 审计日志篡改/缺失,级别:High

STRIDE: R (否认) | 边界: B | DREAD: 7.0

T11: LLM API密钥泄露,级别:Medium

STRIDE: I (泄露) | 边界: A | DREAD: 6.8

T12: 跨用户会话污染,级别:Medium

STRIDE: I (泄露) | 边界: B | DREAD: 6.5

T13: 外部依赖漏洞,级别:Medium

STRIDE: E (权限提升) | 边界: B/C | DREAD: 6.2

T14: 身份验证绕过,级别:Low

STRIDE: S (欺骗) | 边界: A | DREAD: 5.5

T15: 不安全的直接对象引用,级别:Low

STRIDE: I (泄露) | 边界: B | DREAD: 5.0

T16: 会话状态序列化攻击,级别:Low

STRIDE: T (篡改) | 边界: B | DREAD: 5.0

OpenClaw特有威胁

经威胁建模分析,与OpenClaw平台架构和功能特性相关的特定威胁共有4个,按风险级别统计: High(高): 2 ;Medium(中): 2。

T17: Webhook回调劫持,级别:High

STRIDE: T (篡改) | 边界: A | DREAD: 7.5

T18: 键鼠模拟攻击,级别:High

STRIDE: E (权限提升) | 边界: C | DREAD: 7.3

T19: 浏览器自动化攻击,级别:Medium

STRIDE: T (篡改)+I (泄露)| 边界: C | DREAD: 6.5

20: 节点管理安全,级别:Medium

STRIDE: E (权限提升) | 边界: C | DREAD: 6.0

HermesAgent特有威胁

经威胁建模分析,与HermesAgent平台架构和功能特性相关的特定威胁共有4个,按风险级别统计: Critical(严重):2;High(高): 1 ;Medium(中): 1。

T21: 入口用户身份伪造,级别:Critical

STRIDE: T(篡改)+E (权限提升) | 边界: A | DREAD: 8

T22: 恶意Skill生成,级别:Critical

STRIDE: T(篡改)+E (权限提升) | 边界: B | DREAD: 8

T23: 批处理任务调度器滥用,级别:High

STRIDE: D (拒绝服务) | 边界: B | DREAD: 7.5

T24: IDE集成代码注入,级别:Medium

STRIDE: T (篡改) | 边界: A | DREAD: 6.5

风险矩阵

汇总前面识别的威胁,按严重程度列举中级以上的风险,优先考虑缓解措施。

一些缓解建议

插件恶意代码执行(hermes)

漏洞扫描、插件签名(Hermes)、权限控制、IDE扩展白名单(HermesAgent )

Prompt注入攻击(公共)

输入过滤验证、分隔符加固提示词、分离上下文、Canary Token

长期记忆污染(公共)

用户/会话隔离、密码学隔离、完整性检查、版本控制

工具权限滥用(公共)

Docker/VM沙箱、最小权限、插件隔离、Docker安全

消息适配器欺骗(公共)

HMAC签名验证、IP白名单、流量监控、Webhook URL随机化

Docker逃逸攻击(公共)

漏洞扫描、最小权限、强化隔离、命名空间、不用privileged模式

审计日志体系(公共)

不可篡改存储、签名哈希、分离权限、监控告警

速率限制和配额(公共)

Token上限、批处理配额(HermesAgent )、熔断器、监控

身份验证和访问控制(公共)

MFA、RBAC、会话管理、mTLS双向认证

附 录

DREAD评分标准

风险阈值: Critical ≥ 8.0 | High ≥ 7.0 | Medium ≥ 4.0 | Low < 4.0