安全

威胁模型(MITRE ATLAS)

版本: 1.0-draft | 框架: MITRE ATLAS(AI 系统对抗性威胁全景)+ 数据流图

本威胁模型记录了针对 OpenClaw AI 智能体平台和 ClawHub 技能市场的对抗性威胁。它是一份由 OpenClaw 社区维护、持续更新的文档。有关如何报告新威胁、提出攻击链或建议缓解措施,请参阅参与威胁模型贡献

关键 ATLAS 资源: 技术 | 战术 | 案例研究 | ATLAS GitHub | 参与 ATLAS 贡献


1. 范围

组件 是否包含 说明
OpenClaw 智能体运行时 核心智能体执行、工具调用、会话
Gateway 网关 身份验证、路由、渠道集成
渠道集成 WhatsApp、Telegram、Discord、Signal、Slack 等
ClawHub 市场 技能发布、审核、分发
MCP 服务器 外部工具提供商
用户设备 部分 移动应用、桌面客户端

范围外报告和误报模式(暴露于公共互联网、仅涉及提示词注入且未绕过边界的攻击链、互不信任的操作员共享同一 Gateway 网关主机,以及其他模式)列举在 SECURITY.md 中;该文件是当前漏洞报告范围的权威来源,而不是本页面。

2. 系统架构

2.1 信任边界

text
┌─────────────────────────────────────────────────────────────────┐│                    不可信区域                                   ││  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐              ││  │  WhatsApp   │  │  Telegram   │  │   Discord   │  ...         ││  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘              ││         │                │                │                      │└─────────┼────────────────┼────────────────┼──────────────────────┘          │                │                │          ▼                ▼                ▼┌─────────────────────────────────────────────────────────────────┐│                 信任边界 1:渠道访问                             ││  ┌──────────────────────────────────────────────────────────┐   ││  │                      GATEWAY                              │   ││  │  • 设备配对(私信配对 TTL 为 1h / 节点配对 TTL 为 5m)   │   ││  │  • AllowFrom / 允许列表验证                               │   ││  │  • 令牌 / 密码 / Tailscale 身份验证                      │   ││  └──────────────────────────────────────────────────────────┘   │└─────────────────────────────────────────────────────────────────┘┌─────────────────────────────────────────────────────────────────┐│                 信任边界 2:会话隔离                             ││  ┌──────────────────────────────────────────────────────────┐   ││  │                   智能体会话                              │   ││  │  • 会话键 = agent:channel:peer                           │   ││  │  • 每个智能体的工具策略                                  │   ││  │  • 对话记录日志                                          │   ││  └──────────────────────────────────────────────────────────┘   │└─────────────────────────────────────────────────────────────────┘┌─────────────────────────────────────────────────────────────────┐│                 信任边界 3:工具执行                             ││  ┌──────────────────────────────────────────────────────────┐   ││  │                  执行沙箱                                │   ││  │  • Docker 沙箱(默认)或主机(Exec 审批)                │   ││  │  • 节点远程执行                                          │   ││  │  • SSRF 防护(DNS 固定 + IP 阻止)                       │   ││  └──────────────────────────────────────────────────────────┘   │└─────────────────────────────────────────────────────────────────┘┌─────────────────────────────────────────────────────────────────┐│                 信任边界 4:外部内容                             ││  ┌──────────────────────────────────────────────────────────┐   ││  │              获取的 URL / 电子邮件 / WEBHOOK             │   ││  │  • 外部内容封装(随机边界 XML 标签)                     │   ││  │  • 安全通知注入                                          │   ││  └──────────────────────────────────────────────────────────┘   │└─────────────────────────────────────────────────────────────────┘┌─────────────────────────────────────────────────────────────────┐│                 信任边界 5:供应链                               ││  ┌──────────────────────────────────────────────────────────┐   ││  │                      CLAWHUB                              │   ││  │  • 技能发布(语义化版本,必须提供 SKILL.md)             │   ││  │  • 静态模式 + 邻近 AST 的审核扫描                        │   ││  │  • 基于 LLM 的智能体式风险审查 + VirusTotal 扫描         │   ││  │  • GitHub 账户年龄验证(14 天)                          │   ││  └──────────────────────────────────────────────────────────┘   │└─────────────────────────────────────────────────────────────────┘

2.2 数据流

流程 来源 目标 数据 保护措施
F1 渠道 Gateway 网关 用户消息 TLS、AllowFrom
F2 Gateway 网关 智能体 已路由的消息 会话隔离
F3 智能体 工具 工具调用 策略执行
F4 智能体 外部 web_fetch 请求 SSRF 阻止
F5 ClawHub 智能体 技能代码 审核、扫描
F6 智能体 渠道 响应 输出过滤

3. 按 ATLAS 战术进行威胁分析

3.1 侦察(AML.TA0002)

T-RECON-001:智能体端点发现

属性
ATLAS ID AML.T0006 - 主动扫描
描述 攻击者扫描暴露的 OpenClaw Gateway 网关端点
攻击向量 网络扫描、Shodan 查询、DNS 枚举
受影响的组件 Gateway 网关、暴露的 API 端点
当前缓解措施 Tailscale 身份验证选项、默认绑定到 local loopback
剩余风险 中 - 可发现公共 Gateway 网关
建议 记录安全部署方式,为发现端点添加速率限制

T-RECON-002:渠道集成探测

属性
ATLAS ID AML.T0006 - 主动扫描
描述 攻击者探测消息渠道,以识别由 AI 管理的账户
攻击向量 发送测试消息、观察响应模式
受影响的组件 所有渠道集成
当前缓解措施 无特定措施
剩余风险 低 - 仅通过发现获得的价值有限
建议 考虑随机化响应时间

3.2 初始访问(AML.TA0004)

T-ACCESS-001:配对码拦截

属性
ATLAS ID AML.T0040 - AI 模型推理 API 访问
描述 攻击者在配对窗口期间截获配对码(私信/通用配对为 1h,节点配对为 5m)
攻击向量 肩窥、网络嗅探、社会工程
受影响的组件 设备配对系统
当前缓解措施 1h TTL(私信/通用配对)、5m TTL(节点配对);通过现有渠道发送配对码
残余风险 中 - 配对窗口可被利用
建议 缩短配对窗口,添加确认步骤

T-ACCESS-002:AllowFrom 欺骗

属性
ATLAS ID AML.T0040 - AI 模型推理 API 访问
描述 攻击者在渠道上伪造获准发送者的身份
攻击向量 取决于渠道 - 电话号码欺骗、用户名冒充
受影响的组件 各渠道的 AllowFrom 验证
当前缓解措施 渠道特定的身份验证
残余风险 中 - 某些渠道仍易受欺骗攻击
建议 记录渠道特定风险,并在可能的情况下添加加密验证

T-ACCESS-003:令牌窃取

属性
ATLAS ID AML.T0040 - AI 模型推理 API 访问
描述 攻击者从配置/凭据文件中窃取身份验证令牌
攻击向量 恶意软件、未经授权的设备访问、配置备份泄露
受影响的组件 渠道/提供商凭据存储、配置存储
当前缓解措施 文件权限
残余风险 高 - 令牌以明文形式存储在磁盘上
建议 实现令牌静态加密,添加令牌轮换

3.3 执行(AML.TA0005)

T-EXEC-001:直接提示词注入

属性
ATLAS ID AML.T0051.000 - LLM 提示词注入:直接
描述 攻击者发送精心构造的提示词来操纵智能体行为
攻击向量 包含对抗性指令的渠道消息
受影响的组件 智能体 LLM、所有输入界面
当前缓解措施 模式检测、外部内容封装;若不存在边界绕过,则在漏洞报告中视为超出范围(参见 SECURITY.md
残余风险 严重 - 仅检测而不阻止;复杂攻击可绕过
建议 在现有检测之上,对敏感操作实施输出验证和用户确认

T-EXEC-002:间接提示词注入

属性
ATLAS ID AML.T0051.001 - LLM 提示词注入:间接
描述 攻击者在获取的内容中嵌入恶意指令
攻击向量 恶意 URL、被投毒的电子邮件、遭入侵的 Webhooks
受影响的组件 web_fetch、电子邮件摄取、外部数据源
当前缓解措施 使用随机边界 XML 风格标记封装内容、同形异义字符/特殊令牌规范化以及安全通知
残余风险 高 - LLM 仍可能忽略封装指令
建议 为封装内容使用独立的执行上下文

T-EXEC-003:工具参数注入

属性
ATLAS ID AML.T0051.000 - LLM 提示词注入:直接
描述 攻击者通过提示词注入操纵工具参数
攻击向量 影响工具参数值的精心构造提示词
受影响的组件 所有工具调用
当前缓解措施 对危险命令执行 Exec 审批
残余风险 高 - 依赖用户判断
建议 参数验证、参数化工具调用

T-EXEC-004:绕过 Exec 审批

属性
ATLAS ID AML.T0043 - 构造对抗性数据
描述 攻击者构造可绕过审批允许列表的命令
攻击向量 命令混淆、别名利用、路径操纵
受影响的组件 src/infra/exec-approvals*.ts、命令允许列表
当前缓解措施 允许列表 + 询问模式,并进行命令规范化(解包分派包装器、检测内联求值、分析 shell 命令链)
残余风险 高 - 规范化缩小了混淆绕过的空间,但无法将其完全消除;Exec 路径之间仅涉及一致性的发现被视为加固问题,而非漏洞(参见 SECURITY.md
建议 持续扩展命令规范化对新型混淆技术的覆盖

3.4 持久化(AML.TA0006)

T-PERSIST-001:安装恶意技能

属性
ATLAS ID AML.T0010.001 - 供应链入侵:AI 软件
描述 攻击者向 ClawHub 发布恶意技能
攻击向量 创建账户,发布包含隐藏恶意代码的技能
受影响的组件 ClawHub、技能加载、智能体执行
当前缓解措施 GitHub 账户年龄验证、静态模式/邻近 AST 扫描、基于 LLM 的智能体式风险审查、VirusTotal 扫描
残余风险 高 - 已有多层检测,但技能仍以智能体权限运行,且没有执行沙箱隔离
建议 技能执行沙箱隔离、扩大社区审查

T-PERSIST-002:技能更新投毒

属性
ATLAS ID AML.T0010.001 - 供应链入侵:AI 软件
描述 攻击者入侵热门技能并推送恶意更新
攻击向量 账户入侵、针对技能所有者的社会工程
受影响的组件 ClawHub 版本控制、自动更新流程
当前缓解措施 版本指纹识别、新版本重新执行审核/扫描
残余风险 高 - 自动更新可能在审查完成前拉取恶意版本
建议 更新签名、回滚能力、版本固定

T-PERSIST-003:篡改智能体配置

属性
ATLAS ID AML.T0010.002 - 供应链入侵:数据
描述 攻击者修改智能体配置以维持访问权限
攻击向量 修改配置文件、注入设置
受影响的组件 Agent 配置、工具策略
当前缓解措施 文件权限
剩余风险 中 - 需要本地访问权限
建议 验证配置完整性、对配置变更进行审计日志记录

3.5 防御规避(AML.TA0007)

T-EVADE-001:绕过审核模式

属性
ATLAS ID AML.T0043 - 构造对抗性数据
描述 攻击者构造技能内容,以规避 ClawHub 审核检查
攻击向量 Unicode 同形异义字符、编码技巧、动态加载
受影响的组件 ClawHub 审核/扫描流水线
当前缓解措施 静态模式规则、AST 邻近代码扫描、LLM 智能体风险审查、VirusTotal
剩余风险 中 - 新型混淆仍可能绕过分层启发式检测
建议 随着发现新的规避方式,持续扩充模式/行为语料库

T-EVADE-002:内容包装器逃逸

属性
ATLAS ID AML.T0043 - 构造对抗性数据
描述 攻击者构造可逃逸外部内容包装器上下文的内容
攻击向量 标签操纵、上下文混淆、指令覆盖
受影响的组件 外部内容包装
当前缓解措施 随机边界的 XML 风格标记 + 安全提示,以及同形异义字符/空白变体标记伪造检测
剩余风险 中 - 经常会发现新的逃逸方式
建议 除输入侧包装外,还应进行输出侧验证

3.6 设备发现(AML.TA0008)

T-DISC-001:工具枚举

属性
ATLAS ID AML.T0040 - AI 模型推理 API 访问
描述 攻击者通过提示枚举可用工具
攻击向量 “你有哪些工具?”之类的查询
受影响的组件 Agent 工具注册表
当前缓解措施 无特定措施
剩余风险 低 - 工具通常已有文档说明
建议 考虑实施工具可见性控制

T-DISC-002:会话数据提取

属性
ATLAS ID AML.T0040 - AI 模型推理 API 访问
描述 攻击者从会话上下文中提取敏感数据
攻击向量 “我们讨论了什么?”之类的查询、上下文探测
受影响的组件 会话记录、上下文窗口
当前缓解措施 按发送者隔离会话(agent:channel:peer 键)
剩余风险 中 - 按设计可访问会话内数据
建议 在上下文中对敏感数据进行脱敏

3.7 收集和外泄(AML.TA0009、AML.TA0010)

T-EXFIL-001:通过 web_fetch 窃取数据

属性
ATLAS ID AML.T0009 - 收集
描述 攻击者指示智能体将数据发送至外部 URL,以此窃取数据
攻击向量 提示注入导致智能体向攻击者服务器 POST 数据
受影响的组件 web_fetch 工具
当前缓解措施 针对内部/私有网络的 SSRF 阻止机制(DNS 固定 + IP 阻止)
剩余风险 高 - 仍允许任意外部 URL
建议 URL 允许列表、数据分类感知

T-EXFIL-002:未经授权发送消息

属性
ATLAS ID AML.T0009 - 收集
描述 攻击者致使智能体发送包含敏感数据的消息
攻击向量 提示注入导致智能体向攻击者发送消息
受影响的组件 消息工具、渠道集成
当前缓解措施 出站消息门控
剩余风险 中 - 门控可能被绕过
建议 向新接收者发送消息时要求明确确认

T-EXFIL-003:凭据收集

属性
ATLAS ID AML.T0009 - 收集
描述 恶意技能从智能体上下文中收集凭据
攻击向量 技能代码读取环境变量、配置文件
受影响的组件 技能执行环境
当前缓解措施 ClawHub 凭据模式扫描(硬编码密钥、凭据环境访问与网络发送组合);运行时不对技能执行进行沙箱隔离
剩余风险 严重 - 技能以智能体权限运行
建议 技能执行沙箱隔离、凭据隔离

3.8 影响(AML.TA0011)

T-IMPACT-001:未经授权执行命令

属性
ATLAS ID AML.T0031 - 损害 AI 模型完整性
描述 攻击者在用户系统上执行任意命令
攻击向量 提示注入与绕过 Exec 审批相结合
受影响的组件 Bash 工具、命令执行
当前缓解措施 Exec 审批、Docker 沙箱选项(默认运行时后端)
剩余风险 严重 - 禁用沙箱时可能在主机上执行命令
建议 改进审批用户体验;关闭沙箱的部署仍是操作员有意作出的选择,并应如实记录在文档中

T-IMPACT-002:资源耗尽(DoS)

属性
ATLAS ID AML.T0031 - 损害 AI 模型完整性
描述 攻击者耗尽 API 额度或计算资源
攻击向量 自动化消息洪泛、昂贵的工具调用
受影响的组件 Gateway 网关、智能体会话、API 提供商
当前缓解措施
剩余风险 高 - 未实施按发送者限流
建议 按发送者设置速率限制、成本预算

T-IMPACT-003:声誉损害

属性
ATLAS ID AML.T0031 - 损害 AI 模型完整性
描述 攻击者致使智能体发送有害/冒犯性内容
攻击向量 提示注入导致不当响应
受影响的组件 输出生成、渠道消息传递
当前缓解措施 LLM 提供商内容策略
剩余风险 中 - 提供商过滤器并不完善
建议 输出过滤层、用户控制

4. ClawHub 供应链分析

4.1 当前安全控制措施

控制措施 实现方式 有效性
GitHub 账户注册时长 requireGitHubAccountAge()(最低 14 天) 中等 - 提高新攻击者的门槛
路径清理 sanitizePath() 高 - 防止路径遍历
文件类型验证 isTextFile() 中等 - 仅扫描文本文件,但仍可被利用
大小限制 总包大小 50MB(MAX_PUBLISH_TOTAL_BYTES 高 - 防止资源耗尽
必须包含 SKILL.md 发布时必须提供自述文件 安全价值低 - 仅供参考
静态 + AST 邻近扫描 模式引擎覆盖命令执行、数据外泄、凭据窃取、混淆等行为 中高 - 覆盖许多已知滥用模式,但仍基于模式
基于 LLM 的智能体风险审查 发布时依据安全提示词给出判定 中高 - 能发现静态模式遗漏的行为
VirusTotal 扫描 已接入技能和软件包版本发布/重新扫描流程,由操作员 API key 控制启用 启用时效果高 - 静态引擎检测
审核状态 moderationStatus 字段 中等 - 可进行人工审查

4.2 审核限制

ClawHub 的静态扫描会直接检查技能代码内容(而不只是 slug/元数据/frontmatter),涵盖危险的命令执行调用、动态代码执行、凭据窃取、数据外泄模式、混淆载荷等。已知缺口:

  • 基于模式的检测仍可能被足够新颖的混淆方式绕过。
  • 基于 LLM 的审查和 VirusTotal 扫描依赖于启用操作员侧的 API key/配置。
  • 技能安装后,没有运行时执行沙箱将其与智能体自身的权限隔离。

4.3 徽章

技能和软件包带有由审核员分配的徽章:highlightedofficialdeprecatedredactionApproved(仅限技能)。社区举报(skillReports)和审计日志(auditLogs)为审核工作流提供支持。


5. 风险矩阵

5.1 可能性与影响

威胁 ID 可能性 影响 风险级别 优先级
T-EXEC-001 严重 严重 P0
T-PERSIST-001 严重 严重 P0
T-EXFIL-003 严重 严重 P0
T-IMPACT-001 严重 P1
T-EXEC-002 P1
T-EXEC-004 P1
T-ACCESS-003 P1
T-EXFIL-001 P1
T-IMPACT-002 P1
T-EVADE-001 P2
T-ACCESS-001 P2
T-ACCESS-002 P2
T-PERSIST-002 P2

5.2 关键路径攻击链

攻击链 1:基于技能的数据窃取

text
T-PERSIST-001 → T-EVADE-001 → T-EXFIL-003(发布恶意技能)→(规避审核)→(窃取凭据)

攻击链 2:从提示词注入到远程代码执行

text
T-EXEC-001 → T-EXEC-004 → T-IMPACT-001(注入提示词)→(绕过命令执行审批)→(执行命令)

攻击链 3:通过获取的内容间接注入

text
T-EXEC-002 → T-EXFIL-001 → 外部数据外泄(污染 URL 内容)→(智能体获取并遵循指令)→(将数据发送给攻击者)

6. 建议摘要

6.1 立即实施(P0)

ID 建议 应对威胁
R-002 实现技能执行沙箱隔离 T-PERSIST-001, T-EXFIL-003
R-003 为敏感操作添加输出验证 T-EXEC-001, T-EXEC-002

6.2 短期(P1)

ID 建议 应对威胁
R-004 实现按发送者限流 T-IMPACT-002
R-005 添加令牌静态加密 T-ACCESS-003
R-006 改进命令执行审批用户体验并继续扩展命令规范化 T-EXEC-004
R-007 web_fetch 实现 URL 允许列表 T-EXFIL-001

6.3 中期(P2)

ID 建议 应对威胁
R-008 在可行时添加加密渠道验证 T-ACCESS-002
R-009 实现配置完整性验证 T-PERSIST-003
R-010 添加更新签名和版本锁定 T-PERSIST-002

7. 附录

7.1 ATLAS 技术映射

ATLAS ID 技术名称 OpenClaw 威胁
AML.T0006 主动扫描 T-RECON-001, T-RECON-002
AML.T0009 收集 T-EXFIL-001, T-EXFIL-002, T-EXFIL-003
AML.T0010.001 供应链:AI 软件 T-PERSIST-001, T-PERSIST-002
AML.T0010.002 供应链:数据 T-PERSIST-003
AML.T0031 破坏 AI 模型完整性 T-IMPACT-001, T-IMPACT-002, T-IMPACT-003
AML.T0040 AI 模型推理 API 访问 T-ACCESS-001, T-ACCESS-002, T-ACCESS-003, T-DISC-001, T-DISC-002
AML.T0043 制作对抗性数据 T-EXEC-004, T-EVADE-001, T-EVADE-002
AML.T0051.000 LLM 提示词注入:直接 T-EXEC-001, T-EXEC-003
AML.T0051.001 LLM 提示词注入:间接 T-EXEC-002

7.2 关键安全文件

路径 用途 风险级别
src/infra/exec-approvals.ts 命令审批逻辑 严重
src/gateway/auth.ts Gateway 网关身份验证 严重
src/infra/net/ssrf.ts SSRF 防护 严重
src/security/external-content.ts 提示词注入缓解措施 严重
src/agents/sandbox/tool-policy.ts 沙箱工具允许/拒绝策略 严重
src/routing/resolve-route.ts 会话隔离/路由

7.3 术语表

术语 定义
ATLAS MITRE 的 AI 系统对抗性威胁图谱
ClawHub OpenClaw 的技能市场
Gateway 网关 OpenClaw 的消息路由和身份验证层
MCP 模型上下文协议 - 工具提供商接口
提示词注入 将恶意指令嵌入输入的攻击
技能 面向 OpenClaw 智能体的可下载扩展
SSRF 服务器端请求伪造

此威胁模型是一份持续更新的文档。请将安全问题报告至 security@openclaw.ai,或参阅信任页面

相关内容

Was this useful?
On this page

On this page