快速开始

威胁模型(MITRE ATLAS)

MITRE ATLAS 框架

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

框架归属说明

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

主要 ATLAS 资源:

为本威胁模型贡献

这是一份由 OpenClaw 社区维护的活文档。请参阅 CONTRIBUTING-THREAT-MODEL.md,了解贡献指南:

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

1. 简介

1.1 目的

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

1.2 范围

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

1.3 范围外

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


2. 系统架构

2.1 信任边界

┌─────────────────────────────────────────────────────────────────┐
│                    UNTRUSTED ZONE                                │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐              │
│  │  WhatsApp   │  │  Telegram   │  │   Discord   │  ...         │
│  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘              │
│         │                │                │                      │
└─────────┼────────────────┼────────────────┼──────────────────────┘
          │                │                │
          ▼                ▼                ▼
┌─────────────────────────────────────────────────────────────────┐
│                 TRUST BOUNDARY 1: Channel Access                 │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                      GATEWAY                              │   │
│  │  • Device Pairing (1h DM / 5m node 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
F2 Gateway 网关 智能体 路由后的消息 会话隔离
F3 智能体 工具 工具调用 策略强制执行
F4 智能体 外部 web_fetch 请求 SSRF 阻断
F5 ClawHub 智能体 Skill 代码 审核、扫描
F6 智能体 渠道 响应 输出过滤

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

3.1 侦察(AML.TA0002)

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

属性
ATLAS ID AML.T0006 - 主动扫描
描述 攻击者扫描暴露的 OpenClaw gateway 端点
攻击向量 网络扫描、Shodan 查询、DNS 枚举
受影响组件 Gateway 网关、暴露的 API 端点
当前缓解措施 Tailscale 身份验证选项,默认绑定到 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 小时过期(私信配对)/ 5 分钟过期(节点配对),代码通过现有渠道发送
残余风险 中 - 宽限期可被利用
建议 缩短宽限期,添加确认步骤

T-ACCESS-002:AllowFrom 欺骗

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

T-ACCESS-003:令牌窃取

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

3.3 执行 (AML.TA0005)

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

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

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

属性
ATLAS ID AML.T0051.001 - LLM 提示注入:间接
描述 攻击者在获取的内容中嵌入恶意指令
攻击向量 恶意 URL、被投毒的邮件、被攻陷的 webhook
受影响组件 web_fetch、邮件摄取、外部数据源
当前缓解措施 使用 XML 标签和安全通知进行内容包装
残余风险 高 - LLM 可能忽略包装指令
建议 实现内容清理,分离执行上下文

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

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

T-EXEC-004:绕过 Exec 审批

属性
ATLAS ID AML.T0043 - 构造对抗性数据
描述 攻击者构造可绕过审批允许列表的命令
攻击向量 命令混淆、别名利用、路径操纵
受影响组件 exec-approvals.ts、命令允许列表
当前缓解措施 允许列表 + 询问模式
残余风险 高 - 无命令清理
建议 实现命令规范化,扩展阻止列表

3.4 持久化 (AML.TA0006)

T-PERSIST-001:恶意 Skill 安装

属性
ATLAS ID AML.T0010.001 - 供应链攻陷:AI 软件
描述 攻击者向 ClawHub 发布恶意 skill
攻击向量 创建账号,发布带有隐藏恶意代码的 skill
受影响组件 ClawHub、skill 加载、智能体执行
当前缓解措施 GitHub 账号年龄验证、基于模式的审核标记
残余风险 严重 - 无沙箱隔离,审查有限
建议 VirusTotal 集成(进行中)、skill 沙箱隔离、社区审查

T-PERSIST-002:Skill 更新投毒

属性
ATLAS ID AML.T0010.001 - 供应链攻陷:AI 软件
描述 攻击者攻陷热门 skill 并推送恶意更新
攻击向量 账号被攻陷、对 skill 所有者进行社会工程
受影响组件 ClawHub 版本管理、自动更新流程
当前缓解措施 版本指纹
残余风险 高 - 自动更新可能拉取恶意版本
建议 实现更新签名、回滚能力、版本固定

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

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

3.5 防御规避 (AML.TA0007)

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

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

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

属性
ATLAS ID AML.T0043 - 构造对抗性数据
描述 攻击者构造会逃逸 XML 包装器上下文的内容
攻击向量 标签操纵、上下文混淆、指令覆盖
受影响组件 外部内容包装
当前缓解措施 XML 标签 + 安全提示
残余风险 中等 - 新型逃逸方式经常被发现
建议 多层包装器、输出侧验证

3.6 设备发现 (AML.TA0008)

T-DISC-001:工具枚举

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

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

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

3.7 收集与外泄 (AML.TA0009, AML.TA0010)

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

属性
ATLAS ID AML.T0009 - 收集
描述 攻击者通过指示智能体发送到外部 URL 来外泄数据
攻击向量 提示词注入导致智能体将数据 POST 到攻击者服务器
受影响组件 web_fetch 工具
当前缓解措施 针对内部网络的 SSRF 阻断
残余风险 高 - 允许外部 URL
建议 实现 URL 允许列表、数据分类感知

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

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

T-EXFIL-003:凭证收集

属性
ATLAS ID AML.T0009 - 收集
描述 恶意技能从智能体上下文中收集凭证
攻击向量 技能代码读取环境变量、配置文件
受影响组件 技能执行环境
当前缓解措施 没有针对技能的特定措施
残余风险 严重 - Skills 以智能体权限运行
建议 技能沙箱隔离、凭证隔离

3.8 影响 (AML.TA0011)

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

属性
ATLAS ID AML.T0031 - 侵蚀 AI 模型完整性
描述 攻击者在用户系统上执行任意命令
攻击向量 提示词注入结合执行审批绕过
受影响组件 Bash 工具、命令执行
当前缓解措施 执行审批、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() 中等 - 提高新攻击者的门槛
路径清理 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-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:基于技能的数据窃取

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 改进 exec 审批 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.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 Model Context Protocol - 工具提供商接口
提示注入 恶意指令嵌入输入中的攻击
Skill OpenClaw 智能体的可下载扩展
SSRF 服务器端请求伪造

此威胁模型是一份持续更新的文档。请将安全问题报告至 [email protected]

相关内容