跳转到主要内容

OpenClaw 威胁模型 v1.0

MITRE ATLAS 框架

版本: 1.0-draft 最后更新: 2026-02-04 方法论: MITRE ATLAS + 数据流图 框架: MITRE ATLAS (人工智能系统对抗性威胁全景)

框架归属

本威胁模型基于 MITRE ATLAS 构建,它是记录 AI/ML 系统对抗性威胁的行业标准框架。ATLAS 由 MITRE 与 AI 安全社区共同维护。 关键 ATLAS 资源:

为本威胁模型做贡献

这是一份由 OpenClaw 社区维护的活文档。请参阅 CONTRIBUTING-THREAT-MODEL.md 了解贡献指南:
  • 报告新威胁
  • 更新现有威胁
  • 提议攻击链
  • 建议缓解措施

1. 简介

1.1 目的

本威胁模型记录了 OpenClaw AI 代理平台和 ClawHub 技能市场的对抗性威胁,使用了专为 AI/ML 系统设计的 MITRE ATLAS 框架。

1.2 范围

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

1.3 范围之外

本威胁模型未明确排除任何内容。

2. 系统架构

2.1 信任边界

┌─────────────────────────────────────────────────────────────────┐
│                    UNTRUSTED ZONE                                │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐              │
│  │  WhatsApp   │  │  Telegram   │  │   Discord   │  ...         │
│  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘              │
│         │                │                │                      │
└─────────┼────────────────┼────────────────┼──────────────────────┘
          │                │                │
          ▼                ▼                ▼
┌─────────────────────────────────────────────────────────────────┐
│                 TRUST BOUNDARY 1: Channel Access                 │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                      GATEWAY                              │   │
│  │  • Device Pairing (30s grace period)                      │   │
│  │  • 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 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 (XML tags)                   │   │
│  │  • Security notice injection                              │   │
│  └──────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│                 TRUST BOUNDARY 5: Supply Chain                   │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                      CLAWHUB                              │   │
│  │  • Skill publishing (semver, SKILL.md required)           │   │
│  │  • Pattern-based moderation flags                         │   │
│  │  • VirusTotal scanning (coming soon)                      │   │
│  │  • GitHub account age verification                        │   │
│  └──────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘

2.2 数据流

目的地数据保护
F1渠道Gateway(网关)用户消息TLS, AllowFrom
F2Gateway(网关)代理路由消息会话隔离
F3Agent工具工具调用策略执行
F4Agent外部web_fetch 请求SSRF 阻断
F5ClawHubAgent技能代码审核、扫描
F6Agent渠道响应输出过滤

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

3.1 侦察 (AML.TA0002)

T-RECON-001: Agent 端点发现

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

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

属性
ATLAS IDAML.T0006 - 主动扫描
描述攻击者探测消息渠道以识别 AI 管理的帐户
攻击向量发送测试消息,观察响应模式
受影响的组件所有渠道集成
当前缓解措施无特定措施
剩余风险低 - 单纯发现的收益有限
建议考虑响应时序随机化

3.2 初始访问 (AML.TA0004)

T-ACCESS-001: 配对码拦截

属性
ATLAS IDAML.T0040 - AI 模型推断 API 访问
描述攻击者在 30 秒宽限期间拦截配对码
攻击向量肩窥、网络嗅探、社会工程学
受影响的组件设备配对系统
当前缓解措施30 秒过期,通过现有渠道发送代码
剩余风险中等 - 宽限期可被利用
建议缩短宽限期,添加确认步骤

T-ACCESS-002: AllowFrom 欺骗

属性
ATLAS IDAML.T0040 - AI 模型推断 API 访问
描述攻击者在渠道中欺骗允许的发件人身份
攻击向量取决于渠道 - 电话号码欺骗、用户名冒充
受影响的组件每个渠道的 AllowFrom 验证
当前缓解措施特定于渠道的身份验证
剩余风险中等 - 某些渠道容易受到欺骗
建议记录特定于渠道的风险,尽可能添加加密验证

T-ACCESS-003: 令牌窃取

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

3.3 执行 (AML.TA0005)

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

属性
ATLAS IDAML.T0051.000 - LLM 提示注入:直接
描述攻击者发送精心制作的提示以操纵代理行为
攻击向量包含对抗性指令的渠道消息
受影响的组件代理 LLM,所有输入表面
当前缓解措施模式检测,外部内容包裹
剩余风险严重 - 仅检测,无阻止;复杂攻击可绕过
建议实施多层防御、输出验证、敏感操作的用户确认

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

属性
ATLAS IDAML.T0051.001 - LLM 提示注入:间接
描述攻击者在获取的内容中嵌入恶意指令
攻击向量恶意 URL、受感染的电子邮件、受损的 Webhook
受影响的组件web_fetch、电子邮件摄取、外部数据源
当前缓解措施使用 XML 标签和安全通知包裹内容
剩余风险高 - LLM 可能会忽略包裹指令
建议实施内容清理、分离执行上下文

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

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

T-EXEC-004: Exec Approval Bypass

属性
ATLAS IDAML.T0043 - Craft Adversarial Data
描述攻击者制作绕过批准白名单的命令
攻击向量命令混淆,别名利用,路径操纵
受影响的组件exec-approvals.ts,命令白名单
当前的缓解措施白名单 + 询问模式
剩余风险高 - 无命令清理
建议实施命令规范化,扩展黑名单

3.4 Persistence (AML.TA0006)

T-PERSIST-001: Malicious Skill Installation

属性
ATLAS IDAML.T0010.001 - Supply Chain Compromise: AI Software
描述攻击者将恶意技能发布到 ClawHub
攻击向量创建账户,发布带有隐藏恶意代码的技能
受影响的组件ClawHub,技能加载,代理执行
当前的缓解措施GitHub 账户年限验证,基于模式的审核标记
剩余风险严重 - 无沙箱隔离,审查有限
建议VirusTotal 集成(进行中),技能沙箱隔离,社区审查

T-PERSIST-002: Skill Update Poisoning

属性
ATLAS IDAML.T0010.001 - Supply Chain Compromise: AI Software
描述攻击者入侵流行技能并推送恶意更新
攻击向量账户入侵,技能持有者的社会工程学
受影响的组件ClawHub 版本控制,自动更新流程
当前的缓解措施版本指纹识别
剩余风险高 - 自动更新可能会拉取恶意版本
建议实施更新签名,回滚能力,版本锁定

T-PERSIST-003: Agent Configuration Tampering

属性
ATLAS IDAML.T0010.002 - Supply Chain Compromise: Data
描述攻击者修改代理配置以持久化访问
攻击向量配置文件修改,设置注入
受影响的组件代理配置,工具策略
当前的缓解措施文件权限
剩余风险中等 - 需要本地访问
建议配置完整性验证,配置更改的审计日志记录

3.5 防御规避 (AML.TA0007)

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

属性
ATLAS IDAML.T0043 - 制作对抗性数据
描述攻击者精心制作技能内容以规避审查模式
攻击向量Unicode 同形异义字、编码技巧、动态加载
受影响的组件ClawHub moderation.ts
当前的缓解措施基于模式的 FLAG_RULES
剩余风险高 - 简单的正则表达式很容易被绕过
建议添加行为分析 (VirusTotal Code Insight),基于 AST 的检测

T-EVADE-002: 内容包装器转义

属性
ATLAS IDAML.T0043 - 制作对抗性数据
描述攻击者精心制作可转义 XML 包装器上下文的内容
攻击向量标签操作、上下文混淆、指令覆盖
受影响的组件外部内容包装
当前的缓解措施XML 标签 + 安全通知
剩余风险中等 - 定期发现新的转义方式
建议多层包装器,输出端验证

3.6 发现 (AML.TA0008)

T-DISC-001: 工具枚举

属性
ATLAS IDAML.T0040 - AI 模型推理 API 访问
描述攻击者通过提示枚举可用工具
攻击向量“您有什么工具?”风格的查询
受影响的组件代理工具注册表
当前的缓解措施无具体措施
剩余风险低 - 工具通常有文档记录
建议考虑工具可见性控制

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

属性
ATLAS IDAML.T0040 - AI 模型推理 API 访问
描述攻击者从会话上下文中提取敏感数据
攻击向量“我们讨论了什么?”查询,上下文探测
受影响的组件会话记录,上下文窗口
当前的缓解措施按发送者隔离会话
剩余风险中等 - 会话内数据可访问
建议在上下文中实施敏感数据编辑

3.7 收集与渗出 (AML.TA0009, AML.TA0010)

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

属性
ATLAS IDAML.T0009 - Collection
描述攻击者通过指示代理将数据发送到外部 URL 来窃取数据
攻击向量导致代理向攻击者服务器 POST 数据的提示注入
受影响的组件web_fetch 工具
当前缓解措施针对内部网络的 SSRF 阻止
剩余风险高 - 允许外部 URL
建议实施 URL 白名单,具备数据分类感知能力

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

属性
ATLAS IDAML.T0009 - Collection
描述攻击者导致代理发送包含敏感数据的消息
攻击向量导致代理向攻击者发送消息的提示注入
受影响的组件消息工具,渠道集成
当前缓解措施出站消息控制
剩余风险中 - 控制可能被绕过
建议要求对新收件人进行明确确认

T-EXFIL-003: 凭证窃取

属性
ATLAS IDAML.T0009 - Collection
描述恶意 Skills 从代理上下文中窃取凭证
攻击向量Skills 代码读取环境变量、配置文件
受影响的组件Skills 执行环境
当前缓解措施无针对 Skills 的具体措施
剩余风险严重 - Skills 以代理权限运行
建议Skills 沙箱隔离,凭证隔离

3.8 影响 (AML.TA0011)

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

属性
ATLAS IDAML.T0031 - Erode AI Model Integrity
描述攻击者在用户系统上执行任意命令
攻击向量提示注入结合执行审批绕过
受影响的组件Bash 工具,命令执行
当前缓解措施执行审批,Docker 沙箱选项
剩余风险严重 - 无沙箱的主机执行
建议默认使用沙箱,改进审批用户体验

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

属性
ATLAS IDAML.T0031 - Erode AI Model Integrity
描述攻击者耗尽 API 配额或计算资源
攻击向量自动消息泛洪,高成本工具调用
受影响的组件Gateway(网关)、代理会话、API 提供商
当前缓解措施
剩余风险高 - 无速率限制
建议实施针对发送方的速率限制和成本预算

T-IMPACT-003:声誉损害

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

4. ClawHub 供应链分析

4.1 当前安全控制

控制措施实施有效性
GitHub 账户年龄requireGitHubAccountAge()中等 - 提高了新攻击者的门槛
路径清理sanitizePath()高 - 防止路径遍历
文件类型验证isTextFile()中等 - 仅限文本文件,但仍可能具有恶意
大小限制总计 50MB 的包高 - 防止资源耗尽
必需的 SKILL.md强制自述文件安全价值低 - 仅提供信息
模式审核moderation.ts 中的 FLAG_RULES低 - 容易被绕过
审核状态moderationStatus 字段中等 - 可进行人工审核

4.2 审核标记模式

moderation.ts 中的当前模式:
// Known-bad identifiers
/(keepcold131\/ClawdAuthenticatorTool|ClawdAuthenticatorTool)/i

// Suspicious keywords
/(malware|stealer|phish|phishing|keylogger)/i
/(api[-_ ]?key|token|password|private key|secret)/i
/(wallet|seed phrase|mnemonic|crypto)/i
/(discord\.gg|webhook|hooks\.slack)/i
/(curl[^\n]+\|\s*(sh|bash))/i
/(bit\.ly|tinyurl\.com|t\.co|goo\.gl|is\.gd)/i
局限性:
  • 仅检查 slug、displayName、summary、frontmatter、metadata、文件路径
  • 不分析实际的技能代码内容
  • 简单的正则表达式很容易通过混淆绕过
  • 无行为分析

4.3 计划的改进

改进状态影响
VirusTotal 集成进行中高 - Code Insight 行为分析
社区举报部分(存在 skillReports 表)中等
审计日志部分(存在 auditLogs 表)中等
徽章系统已实施中等 - highlightedofficialdeprecatedredactionApproved

5. 风险矩阵

5.1 可能性与影响

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

5.2 关键路径攻击链

攻击链 1:基于技能的数据窃取
T-PERSIST-001 → T-EVADE-001 → T-EXFIL-003
(Publish malicious skill) → (Evade moderation) → (Harvest credentials)
攻击链 2:提示词注入导致远程代码执行 (RCE)
T-EXEC-001 → T-EXEC-004 → T-IMPACT-001
(Inject prompt) → (Bypass exec approval) → (Execute commands)
攻击链 3:通过获取的内容进行间接注入
T-EXEC-002 → T-EXFIL-001 → External exfiltration
(Poison URL content) → (Agent fetches & follows instructions) → (Data sent to attacker)

6. 建议摘要

6.1 立即处理 (P0)

ID建议涉及威胁
R-001完成 VirusTotal 集成T-PERSIST-001, T-EVADE-001
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改进执行批准的用户体验 (UX) 和验证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.T0040AI 模型推理 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.000LLM 提示词注入:直接T-EXEC-001, T-EXEC-003
AML.T0051.001LLM 提示词注入:间接T-EXEC-002

7.2 关键安全文件

路径用途风险等级
src/infra/exec-approvals.ts命令批准逻辑严重
src/gateway/auth.tsGateway(网关) 身份验证严重
src/web/inbound/access-control.ts通道访问控制严重
src/infra/net/ssrf.tsSSRF 防护严重
src/security/external-content.ts提示词注入缓解严重
src/agents/sandbox/tool-policy.ts工具策略执行严重
convex/lib/moderation.tsClawHub 审核机制
convex/lib/skillPublish.tsSkill 发布流程
src/routing/resolve-route.ts会话隔离

7.3 术语表

术语定义
ATLASMITRE 针对人工智能系统的对抗性威胁全景
ClawHubOpenClaw 的技能市场
Gateway(网关)OpenClaw 的消息路由和身份验证层
MCP模型上下文协议 - 工具提供商接口
提示词注入一种将恶意指令嵌入输入的攻击
SkillOpenClaw 代理的可下载扩展
SSRF服务器端请求伪造

本威胁模型是一份动态文档。请将安全问题报告至 security@openclaw.ai
本页面源自 openclaw/openclaw,由 BeaversLab 翻译,遵循 MIT 协议 发布。
Last modified on March 27, 2026