跳转到内容

OpenClaw 威胁模型 v1.0

版本: 1.0-draft 最后更新: 2026-02-04 方法论: MITRE ATLAS + 数据流图 框架: MITRE ATLAS(AI 系统对抗性威胁态势)

本威胁模型基于 MITRE ATLAS 构建,这是记录 AI/ML 系统对抗性威胁的行业标准框架。ATLAS 由 MITRE 与 AI 安全社区合作维护。

关键 ATLAS 资源:

这是由 OpenClaw 社区维护的持续更新文档。参见 CONTRIBUTING-THREAT-MODEL.md 获取贡献指南:

  • 报告新威胁
  • 更新现有威胁
  • 提出攻击链
  • 建议缓解措施

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

组件包含说明
OpenClaw 代理运行时核心代理执行、工具调用、会话
Gateway认证、路由、频道集成
频道集成WhatsApp、Telegram、Discord、Signal、Slack 等
ClawHub 市场Skill 发布、审核、分发
MCP 服务器外部工具提供者
用户设备部分移动应用、桌面客户端

本威胁模型没有明确排除的内容。


┌─────────────────────────────────────────────────────────────────┐
│ 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 │ │
│ └──────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
目标数据保护措施
F1频道Gateway用户消息TLS、AllowFrom
F2Gateway代理路由消息会话隔离
F3代理工具工具调用策略执行
F4代理外部web_fetch 请求SSRF 阻止
F5ClawHub代理Skill 代码审核、扫描
F6代理频道响应输出过滤

属性
ATLAS IDAML.T0006 - Active Scanning
描述攻击者扫描暴露的 OpenClaw Gateway 端点
攻击向量网络扫描、Shodan 查询、DNS 枚举
受影响组件Gateway、暴露的 API 端点
当前缓解措施Tailscale 认证选项、默认绑定到 loopback
残余风险中 - 公共 Gateway 可被发现
建议记录安全部署,在发现端点上添加速率限制
属性
ATLAS IDAML.T0006 - Active Scanning
描述攻击者探测消息频道以识别 AI 管理的账户
攻击向量发送测试消息、观察响应模式
受影响组件所有频道集成
当前缓解措施无特定措施
残余风险低 - 仅发现的价值有限
建议考虑响应时间随机化

属性
ATLAS IDAML.T0040 - AI Model Inference API Access
描述攻击者在 30 秒宽限期内拦截配对代码
攻击向量肩窥、网络嗅探、社会工程
受影响组件设备配对系统
当前缓解措施30 秒过期、通过现有频道发送代码
残余风险中 - 宽限期可被利用
建议缩短宽限期、添加确认步骤
属性
ATLAS IDAML.T0040 - AI Model Inference API Access
描述攻击者在频道中伪造允许的发送者身份
攻击向量取决于频道——电话号码欺骗、用户名冒充
受影响组件每个频道的 AllowFrom 验证
当前缓解措施频道特定的身份验证
残余风险中 - 某些频道容易被欺骗
建议记录频道特定风险,在可能的情况下添加加密验证
属性
ATLAS IDAML.T0040 - AI Model Inference API Access
描述攻击者从配置文件中窃取认证令牌
攻击向量恶意软件、未授权设备访问、配置备份暴露
受影响组件~/.openclaw/credentials/、配置存储
当前缓解措施文件权限
残余风险高 - 令牌以明文存储
建议实现静态令牌加密、添加令牌轮换

属性
ATLAS IDAML.T0051.000 - LLM Prompt Injection: Direct
描述攻击者发送精心构造的提示以操纵代理行为
攻击向量包含对抗性指令的频道消息
受影响组件代理 LLM、所有输入表面
当前缓解措施模式检测、外部内容包装
残余风险严重 - 仅检测不阻止;复杂攻击可绕过
建议实现多层防御、输出验证、敏感操作的用户确认
属性
ATLAS IDAML.T0051.001 - LLM Prompt Injection: Indirect
描述攻击者在获取的内容中嵌入恶意指令
攻击向量恶意 URL、受污染的邮件、被攻破的 Webhook
受影响组件web_fetch、邮件摄入、外部数据源
当前缓解措施XML 标签和安全通知的内容包装
残余风险高 - LLM 可能忽略包装指令
建议实现内容净化、分离执行上下文
属性
ATLAS IDAML.T0051.000 - LLM Prompt Injection: Direct
描述攻击者通过提示注入操纵工具参数
攻击向量影响工具参数值的精心构造提示
受影响组件所有工具调用
当前缓解措施危险命令的执行审批
残余风险高 - 依赖用户判断
建议实现参数验证、参数化工具调用
属性
ATLAS IDAML.T0043 - Craft Adversarial Data
描述攻击者构造绕过审批白名单的命令
攻击向量命令混淆、别名利用、路径操纵
受影响组件exec-approvals.ts、命令白名单
当前缓解措施白名单 + 询问模式
残余风险高 - 无命令净化
建议实现命令规范化、扩展黑名单

属性
ATLAS IDAML.T0010.001 - Supply Chain Compromise: AI Software
描述攻击者向 ClawHub 发布恶意 Skill
攻击向量创建账户,发布包含隐藏恶意代码的 Skill
受影响组件ClawHub、Skill 加载、代理执行
当前缓解措施GitHub 账户年龄验证、基于模式的审核标记
残余风险严重 - 无沙箱化、有限审查
建议VirusTotal 集成(进行中)、Skill 沙箱化、社区审查
属性
ATLAS IDAML.T0010.001 - Supply Chain Compromise: AI Software
描述攻击者攻陷流行 Skill 并推送恶意更新
攻击向量账户攻陷、对 Skill 所有者的社会工程
受影响组件ClawHub 版本控制、自动更新流程
当前缓解措施版本指纹
残余风险高 - 自动更新可能拉取恶意版本
建议实现更新签名、回滚能力、版本固定
属性
ATLAS IDAML.T0010.002 - Supply Chain Compromise: Data
描述攻击者修改代理配置以持久化访问
攻击向量配置文件修改、设置注入
受影响组件代理配置、工具策略
当前缓解措施文件权限
残余风险中 - 需要本地访问
建议配置完整性验证、配置变更审计日志

属性
ATLAS IDAML.T0043 - Craft Adversarial Data
描述攻击者构造 Skill 内容以规避审核模式
攻击向量Unicode 同形字、编码技巧、动态加载
受影响组件ClawHub moderation.ts
当前缓解措施基于模式的 FLAG_RULES
残余风险高 - 简单正则容易被绕过
建议添加行为分析(VirusTotal Code Insight)、基于 AST 的检测
属性
ATLAS IDAML.T0043 - Craft Adversarial Data
描述攻击者构造逃逸 XML 包装上下文的内容
攻击向量标签操纵、上下文混淆、指令覆盖
受影响组件外部内容包装
当前缓解措施XML 标签 + 安全通知
残余风险中 - 定期发现新的逃逸方式
建议多层包装、输出侧验证

属性
ATLAS IDAML.T0040 - AI Model Inference API Access
描述攻击者通过提示枚举可用工具
攻击向量”你有哪些工具?“类型的查询
受影响组件代理工具注册表
当前缓解措施无特定措施
残余风险低 - 工具通常有文档记录
建议考虑工具可见性控制
属性
ATLAS IDAML.T0040 - AI Model Inference API Access
描述攻击者从会话上下文中提取敏感数据
攻击向量”我们讨论了什么?“查询、上下文探测
受影响组件会话记录、上下文窗口
当前缓解措施按发送者的会话隔离
残余风险中 - 会话内数据可访问
建议在上下文中实现敏感数据脱敏

3.7 收集与数据窃取(AML.TA0009、AML.TA0010)

Section titled “3.7 收集与数据窃取(AML.TA0009、AML.TA0010)”

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

Section titled “T-EXFIL-001:通过 web_fetch 的数据窃取”
属性
ATLAS IDAML.T0009 - Collection
描述攻击者通过指示代理向外部 URL 发送数据来窃取数据
攻击向量提示注入导致代理向攻击者服务器 POST 数据
受影响组件web_fetch 工具
当前缓解措施内部网络的 SSRF 阻止
残余风险高 - 允许外部 URL
建议实现 URL 白名单、数据分类感知
属性
ATLAS IDAML.T0009 - Collection
描述攻击者导致代理发送包含敏感数据的消息
攻击向量提示注入导致代理向攻击者发送消息
受影响组件消息工具、频道集成
当前缓解措施出站消息门控
残余风险中 - 门控可能被绕过
建议对新接收者要求显式确认
属性
ATLAS IDAML.T0009 - Collection
描述恶意 Skill 从代理上下文中收割凭据
攻击向量Skill 代码读取环境变量、配置文件
受影响组件Skill 执行环境
当前缓解措施无 Skill 特定措施
残余风险严重 - Skill 以代理权限运行
建议Skill 沙箱化、凭据隔离

属性
ATLAS IDAML.T0031 - Erode AI Model Integrity
描述攻击者在用户系统上执行任意命令
攻击向量提示注入结合执行审批绕过
受影响组件Bash 工具、命令执行
当前缓解措施执行审批、Docker 沙箱选项
残余风险严重 - 无沙箱时的主机执行
建议默认使用沙箱、改进审批用户体验
属性
ATLAS IDAML.T0031 - Erode AI Model Integrity
描述攻击者耗尽 API 额度或计算资源
攻击向量自动消息洪水、昂贵的工具调用
受影响组件Gateway、代理会话、API 提供者
当前缓解措施
残余风险高 - 无速率限制
建议实现每发送者速率限制、成本预算
属性
ATLAS IDAML.T0031 - Erode AI Model Integrity
描述攻击者导致代理发送有害/冒犯性内容
攻击向量提示注入导致不当响应
受影响组件输出生成、频道消息
当前缓解措施LLM 提供者内容政策
残余风险中 - 提供者过滤不完美
建议输出过滤层、用户控制

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

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、文件路径
  • 不分析实际 Skill 代码内容
  • 简单正则容易通过混淆绕过
  • 无行为分析
改进状态影响
VirusTotal 集成进行中高 - Code Insight 行为分析
社区举报部分(skillReports 表已存在)
审计日志部分(auditLogs 表已存在)
徽章系统已实现中 - highlightedofficialdeprecatedredactionApproved

威胁 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

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

T-PERSIST-001 → T-EVADE-001 → T-EXFIL-003
(发布恶意 Skill)→(规避审核)→(收割凭据)

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

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

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

T-EXEC-002 → T-EXFIL-001 → 外部数据窃取
(投毒 URL 内容)→(代理获取并遵循指令)→(数据发送给攻击者)

ID建议解决
R-001完成 VirusTotal 集成T-PERSIST-001、T-EVADE-001
R-002实现 Skill 沙箱化T-PERSIST-001、T-EXFIL-003
R-003为敏感操作添加输出验证T-EXEC-001、T-EXEC-002
ID建议解决
R-004实现速率限制T-IMPACT-002
R-005添加静态令牌加密T-ACCESS-003
R-006改进执行审批用户体验和验证T-EXEC-004
R-007为 web_fetch 实现 URL 白名单T-EXFIL-001
ID建议解决
R-008在可能的情况下添加加密频道验证T-ACCESS-002
R-009实现配置完整性验证T-PERSIST-003
R-010添加更新签名和版本固定T-PERSIST-002

ATLAS ID技术名称OpenClaw 威胁
AML.T0006Active ScanningT-RECON-001、T-RECON-002
AML.T0009CollectionT-EXFIL-001、T-EXFIL-002、T-EXFIL-003
AML.T0010.001Supply Chain: AI SoftwareT-PERSIST-001、T-PERSIST-002
AML.T0010.002Supply Chain: DataT-PERSIST-003
AML.T0031Erode AI Model IntegrityT-IMPACT-001、T-IMPACT-002、T-IMPACT-003
AML.T0040AI Model Inference API AccessT-ACCESS-001、T-ACCESS-002、T-ACCESS-003、T-DISC-001、T-DISC-002
AML.T0043Craft Adversarial DataT-EXEC-004、T-EVADE-001、T-EVADE-002
AML.T0051.000LLM Prompt Injection: DirectT-EXEC-001、T-EXEC-003
AML.T0051.001LLM Prompt Injection: IndirectT-EXEC-002
路径用途风险级别
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会话隔离
术语定义
ATLASMITRE 的 AI 系统对抗性威胁态势
ClawHubOpenClaw 的 Skill 市场
GatewayOpenClaw 的消息路由和认证层
MCPModel Context Protocol - 工具提供者接口
提示注入在输入中嵌入恶意指令的攻击
SkillOpenClaw 代理的可下载扩展
SSRF服务端请求伪造

本威胁模型是持续更新的文档。请向 security@openclaw.ai 报告安全问题