快速开始

威胁模型(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
┌─────────────────────────────────────────────────────────────────┐│                    UNTRUSTED ZONE                                ││  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐              ││  │  WhatsApp   │  │  Telegram   │  │   Discord   │  ...         ││  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘              ││         │                │                │                      │└─────────┼────────────────┼────────────────┼──────────────────────┘          │                │                │          ▼                ▼                ▼┌─────────────────────────────────────────────────────────────────┐│                 TRUST BOUNDARY 1: Channel Access                 ││  ┌──────────────────────────────────────────────────────────┐   ││  │                      GATEWAY                              │   ││  │  • Device pairing (1h DM pairing / 5m node pairing TTL)   │   ││  │  • AllowFrom / allowlist validation                       │   ││  │  • Token / password / Tailscale auth                      │   ││  └──────────────────────────────────────────────────────────┘   │└─────────────────────────────────────────────────────────────────┘┌─────────────────────────────────────────────────────────────────┐│                 TRUST BOUNDARY 2: Session Isolation              ││  ┌──────────────────────────────────────────────────────────┐   ││  │                   AGENT SESSIONS                          │   ││  │  • Session key = agent:channel:peer                       │   ││  │  • Tool policies per agent                                │   ││  │  • Transcript logging                                     │   ││  └──────────────────────────────────────────────────────────┘   │└─────────────────────────────────────────────────────────────────┘┌─────────────────────────────────────────────────────────────────┐│                 TRUST BOUNDARY 3: Tool Execution                 ││  ┌──────────────────────────────────────────────────────────┐   ││  │                  EXECUTION SANDBOX                        │   ││  │  • Docker sandbox (default) or host (exec approvals)      │   ││  │  • Node remote execution                                  │   ││  │  • SSRF protection (DNS pinning + IP blocking)            │   ││  └──────────────────────────────────────────────────────────┘   │└─────────────────────────────────────────────────────────────────┘┌─────────────────────────────────────────────────────────────────┐│                 TRUST BOUNDARY 4: External Content               ││  ┌──────────────────────────────────────────────────────────┐   ││  │              FETCHED URLs / EMAILS / WEBHOOKS             │   ││  │  • External content wrapping (random-boundary XML tags)   │   ││  │  • Security notice injection                              │   ││  └──────────────────────────────────────────────────────────┘   │└─────────────────────────────────────────────────────────────────┘┌─────────────────────────────────────────────────────────────────┐│                 TRUST BOUNDARY 5: Supply Chain                   ││  ┌──────────────────────────────────────────────────────────┐   ││  │                      CLAWHUB                              │   ││  │  • Skill publishing (semver, SKILL.md required)           │   ││  │  • Static pattern + AST-adjacent moderation scanning      │   ││  │  • LLM-based agentic risk review + VirusTotal scanning    │   ││  │  • GitHub account age verification (14 days)              │   ││  └──────────────────────────────────────────────────────────┘   │└─────────────────────────────────────────────────────────────────┘

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 访问
描述 攻击者在配对窗口期间截获配对码(私信/通用配对为 1 小时,节点配对为 5 分钟)
攻击向量 肩窥、网络嗅探、社会工程
受影响的组件 设备配对系统
当前缓解措施 1 小时 TTL(私信/通用配对)、5 分钟 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:安装恶意 Skill

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

T-PERSIST-002:Skill 更新投毒

属性
ATLAS ID AML.T0010.001 - 供应链入侵:AI 软件
描述 攻击者入侵热门 Skill 并推送恶意更新
攻击向量 账户入侵、对 Skill 所有者实施社会工程
受影响的组件 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() 中等——仅扫描文本文件,但仍可被利用
大小限制 捆绑包总计 50 MB(MAX_PUBLISH_TOTAL_BYTES 高——防止资源耗尽
必须包含 SKILL.md 发布时必须提供自述文件 安全价值低——仅提供信息
静态 + AST 邻近扫描 模式引擎覆盖命令执行、数据外泄、凭据窃取、混淆等行为 中高——涵盖许多已知滥用模式,但仍基于模式
基于 LLM 的智能体风险审查 发布时由安全提示词驱动给出判定 中高——可发现静态模式遗漏的行为
VirusTotal 扫描 已接入 Skills 和软件包版本的发布/重新扫描流程,并受操作员 API 密钥控制 启用时为高——静态引擎检测
审核状态 moderationStatus 字段 中等——可进行人工审查

4.2 审核限制

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

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

4.3 徽章

Skills 和软件包可带有由审核员分配的徽章:highlightedofficialdeprecatedredactionApproved(仅限 Skills)。社区举报(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:基于 Skills 的数据窃取

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

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

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

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

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

6. 建议摘要

6.1 立即实施(P0)

ID 建议 应对的威胁
R-002 实现 Skills 执行沙箱隔离 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 改进 Exec 审批用户体验,并继续扩展命令规范化 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 的 Skills 市场
Gateway 网关 OpenClaw 的消息路由和身份验证层
MCP 模型上下文协议——工具提供商接口
提示词注入 在输入中嵌入恶意指令的攻击
Skills 可供 OpenClaw 智能体下载的扩展
SSRF 服务端请求伪造

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

相关内容

Was this useful?
On this page

On this page