安全态势、路线图,以及我们对能够执行真实世界操作的代理的思考。
计算安全的新时代
过去 20 年,安全模型一直围绕锁定设备和应用程序而构建——在进程间通信之间设置边界,将互联网与本地分离,对不可信代码进行沙盒化处理。这些原则依然重要。
但 AI 代理代表着一个根本性的转变。
与传统软件严格按照代码指令执行不同,AI 代理会解读自然语言并自主决定采取何种行动。它们模糊了用户意图与机器执行之间的界限。它们甚至可能通过语言本身被操纵。
我们深知,像 OpenClaw 这样强大的工具,其巨大的实用性伴随着巨大的责任。如果方向错了,AI 代理可能成为一种负担;如果方向对了,它就能极大地改善个人计算体验。
这个安全计划的存在,就是为了确保走对方向。
背景
OpenClaw 是一个 AI 代理平台。与仅生成文本的聊天机器人不同,OpenClaw 代理可以:
- 在主机上执行 shell 命令
- 通过 WhatsApp、Telegram、Discord、Slack 等渠道发送消息
- 在工作区中读写文件
- 从互联网获取任意 URL
- 安排自动化任务
- 访问已连接的服务和 API
这种能力正是 OpenClaw 的实用之处,也使得安全变得至关重要。
能够执行真实世界操作的 AI 代理,会带来传统软件所没有的风险:
- 提示词注入 —— 恶意用户可以构造消息,操纵 AI 执行非预期的操作
- 间接注入 —— 获取的 URL、邮件或文档中的恶意内容可能劫持代理行为
- 工具滥用 —— 即使没有注入,配置不当的代理也可能因权限过于宽松而造成破坏
- 身份风险 —— 代理可能以你的身份发送消息,损害人际关系或声誉
这些并非理论假设。它们是影响所有 AI 代理系统的、已被记录的典型攻击模式。
范围
本安全计划涵盖整个 OpenClaw 生态系统。没有什么是超出范围的。
核心平台
- OpenClaw CLI 和网关 (
openclaw) - 代理执行引擎
- 工具实现
- 渠道集成(WhatsApp、Telegram、Discord、Slack、Signal 等)
应用程序
- macOS 桌面应用
- iOS 移动应用
- Android 移动应用
- Web 界面
服务
- ClawHub (clawhub.ai) —— 技能市场和注册中心
- 文档 (docs.openclaw.ai)
- 任何托管的基础设施
扩展
- 官方扩展 (
extensions/) - 插件 SDK 和第三方插件
- 通过 ClawHub 分发的技能
人员
- 核心维护者和贡献者
- 安全流程和响应程序
- 供应链和依赖管理
计划概述
我们将建立一个正式的安全职能,分为四个阶段:
透明化
与社区共同开发威胁模型
产品安全路线图
定义防御工程目标并公开跟踪
代码审查
对全部代码库进行手动安全审查
安全分类响应
建立处理漏洞报告的正式流程
第一阶段:透明化
目标
公开开发和发布我们的威胁模型,邀请社区贡献,让用户了解风险并能够就部署做出明智决策。
为什么这样做
通过隐匿实现安全是行不通的。攻击者已经了解这些技术——它们被记录在学术论文、安全博客和会议演讲中。我们所缺少的是向用户清晰地传达:
- 存在哪些风险
- 我们正在采取什么措施
- 用户应该做什么来保护自己
通过公开开发威胁模型,我们可以从集体智慧中受益,并通过透明建立信任。
威胁模型覆盖范围
| 类别 | 涵盖的风险 |
|---|---|
| A. 输入操纵 | 直接提示注入、间接注入、工具参数注入、上下文操纵 |
| B. 认证与访问 | AllowFrom 绕过、权限提升、跨会话访问、API 密钥泄露 |
| C. 数据安全 | 系统提示泄露、工作区暴露、内存泄漏、数据外泄 |
| D. 基础设施 | SSRF、网关暴露、依赖项漏洞、文件权限 |
| E. 运维 | 敏感数据日志记录、监控不足、资源耗尽、配置错误 |
| F. 供应链 | ClawHub 技能完整性、扩展安全性、依赖项漏洞 |
威胁模型范围
| 组件 | 为何纳入 |
|---|---|
| 核心平台(CLI、网关、代理、工具) | 主要攻击面 |
| ClawHub (clawhub.ai) | 技能市场——供应链风险 |
| 移动应用(iOS、Android) | 代理控制界面、凭据存储 |
| 桌面应用(macOS) | 网关主机、系统集成 |
| 扩展和插件 | 第三方代码执行 |
| 构建和发布流水线 | 分发完整性 |
威胁模型中的每个风险都将包括描述和严重性评级、攻击示例、当前缓解措施、已知差距以及用户建议。
威胁模型将通过拉取请求向社区开放贡献。
第二阶段:产品安全路线图
目标
创建一个公开的产品安全路线图,定义防御工程目标,并作为 GitHub issues 进行跟踪,让社区能够跟进进展、提供意见并做出贡献。
防御工程目标
| 类别 | 目标 | 描述 |
|---|---|---|
| 提示注入防护 | 输入验证 | 检测并告警注入尝试的模式 |
| 工具确认 | 敏感操作需明确批准 | |
| 上下文隔离 | 防止跨会话污染 | |
| 隐私增强 | 系统提示保护 | 防止系统提示泄露 |
| 数据最小化 | 减少不必要的数据保留 | |
| 审计日志 | 清晰可见代理操作 | |
| 访问控制 | 细粒度权限 | 按工具、按会话的访问控制 |
| 速率限制 | 防止资源耗尽 | |
| 支出控制 | 对 API 成本设置硬性上限 | |
| 供应链 | 技能验证 | 对 ClawHub 技能进行完整性检查 |
| 依赖审计 | 自动化漏洞扫描 | |
| 签名发布 | 对更新进行加密验证 |
具体的优先级问题将通过第三阶段的代码审查确定,并在发现和分类后添加到公共路线图中。
第三阶段:代码审查
目标
虽然社区已经在夜以继日地发现和修复缺陷——我们对此深表感激——但我们认识到这是一个开源项目,贡献者付出了最大的努力。第三阶段是一个专门、全面的安全评估,旨在挖掘深层次的系统性安全问题,并提高整体代码质量和用户安全性。
范围
代码审查涵盖整个 OpenClaw 代码库和生态系统:
| 区域 | 路径 | 原因 |
|---|---|---|
| 代理执行 | src/agents/ | 核心攻击面——代理如何运行 |
| 工具实现 | src/agents/tools/ | 代理能做什么——执行、消息、网络 |
| 消息处理 | src/auto-reply/ | 所有用户输入的入口点 |
| 安全工具 | src/security/ | 现有安全控制 |
| 网关服务器 | src/gateway/ | 暴露于网络的组件 |
| 认证 | src/*/auth* | 凭据处理、API 密钥 |
| 会话管理 | src/config/sessions.ts | 跨会话隔离 |
| 配对和访问控制 | src/pairing/, src/*/access-control* | 私聊和群聊门控 |
| 外部内容处理 | src/security/external-content.ts | 注入防御 |
| macOS 桌面应用 | apps/macos/ | 网关主机、系统集成 |
| iOS 移动应用 | apps/ios/ | 代理控制、凭据存储 |
| Android 移动应用 | apps/android/ | 代理控制、凭据存储 |
| ClawHub | clawhub.ai | 技能注册中心——供应链风险 |
| 官方扩展 | extensions/ | 第一方插件 |
| 构建和发布流水线 | CI/CD、脚本 | 分发完整性、签名 |
方法
- 手动代码审查 —— 人对安全关键路径进行辅助分析
- 自动扫描 —— 静态分析、依赖审计、密钥检测
- 动态测试 —— 对运行系统尝试已知攻击模式
- 架构审查 —— 评估信任边界和数据流
披露
- 所有关键和高危问题在公开披露前修复
- 修复后发布发现摘要
- 完整报告可应要求提供
- 适用时分配 CVE 编号
第四阶段:安全分类响应功能
目标
建立接收、分类和响应安全漏洞报告的正式流程。
报告漏洞
我们认真对待安全报告。请直接将漏洞报告到问题所在的仓库:
- 核心 CLI 和网关 - openclaw/openclaw
- macOS 桌面应用 - openclaw/openclaw (apps/macos)
- iOS 应用 - openclaw/openclaw (apps/ios)
- Android 应用 - openclaw/openclaw (apps/android)
- ClawHub - openclaw/clawhub
- 信任与威胁模型 - openclaw/trust
对于不适合特定仓库的问题,或者如果您不确定,请发送邮件至 security@openclaw.ai,我们会进行路由。
报告必需信息
没有复现步骤、实际影响演示和修复建议的报告将被降低优先级。鉴于 AI 生成的扫描器发现数量庞大,我们必须确保接收到的报告来自理解问题的研究人员,经过充分验证。
响应 SLA
| 严重性 | 定义 | 首次响应 | 分类 | 修复目标 |
|---|---|---|---|---|
| 严重 | RCE、认证绕过、大规模数据泄露 | 24 小时 | 48 小时 | 7 天 |
| 高 | 重大影响,单用户范围 | 48 小时 | 5 天 | 30 天 |
| 中 | 影响有限,需特定条件 | 5 天 | 14 天 | 90 天 |
| 低 | 次要问题,纵深防御 | 14 天 | 30 天 | 尽力而为 |
我们的承诺
- 48 小时内确认所有完整报告
- 至少每 14 天提供一次状态更新
- 在公告中致谢研究人员(除非要求匿名)
- 不对善意的安全研究采取法律行动
- 对符合条件的严重/高危发现酌情考虑奖励
安全与信任
Jamieson O'Reilly (@theonejvo) 是 OpenClaw 的安全与信任负责人。
Jamieson 是 Dvuln 的创始人,Aether AI(世界上最危险的 AI,站在你这边)的联合创始人,CREST 顾问委员会成员,在进攻性安全、渗透测试和安全计划开发方面拥有丰富的经验。
职责
- 领导威胁建模和风险评估
- 规划并监督代码审查
- 建立分类流程和响应程序
- 审查安全关键代码更改
- 就安全架构决策提供指导
当前安全态势
OpenClaw 已经部署了安全控制措施。了解现有措施有助于用户正确配置部署。
安全默认配置
未知发送者需完成带有过期代码的配对流程
不在白名单中的命令默认拒绝,提示用户批准
如未配置,只有您自己的号码可以向代理发送私聊
对话按会话密钥隔离
web_fetch 中阻止内部 IP 和 localhost
WebSocket 连接必须通过认证
验证您的配置
openclaw security audit --deep 需验证的关键项:
- 私聊策略为
pairing或allowlist(非open) - 已为您的渠道配置
allowFrom - 执行安全未设置为
full(除非有意) - 网关绑定到回环地址或位于认证之后
- 工作区不包含机密信息
时间线
第 1-2 周:第一阶段 - 透明化 ├── 威胁模型开发启动(开放贡献) ├── 安全配置指南草稿 ├── 可视化概览创建 └── 公告发布 第 3-4 周:第二阶段 - 产品安全路线图 ├── 为防御工程目标创建 GitHub issues ├── 设置安全标签和里程碑 ├── 社区意见征集期开启 └── 首批安全工作启动 第 5-8 周:第三阶段 - 代码审查准备 ├── 范围确定(全部代码库) ├── 审查启动 └── 初步发现 第 8-12 周:第三阶段 - 代码审查执行 ├── 手动审查完成 ├── 发现记录归档 ├── 严重/高危问题修复 └── 验证完成 第 8 周起:第四阶段 - 分类响应功能 ├── security@openclaw.ai 启用 ├── PGP 密钥发布 ├── 披露政策发布 └── 首批公告(如需) 持续进行: ├── 月度安全更新 ├── 持续完善威胁模型 ├── 定期依赖审计 └── 社区互动
常见问题解答
是的,在正确配置的前提下。OpenClaw 默认启用了安全控制:
- 私聊策略:默认为
pairing——未知发送者需完成带有过期代码的配对流程 - 执行安全:默认为
deny并带ask: on-miss——危险命令需批准 - AllowFrom:如未配置,默认为仅限自己
- 网关认证:默认必需
运行 openclaw security audit --deep 验证您的配置。详见 docs.openclaw.ai/gateway/security
这些攻击技术已是公开知识——记录在论文、博客和演讲中。公开开发可以从集体智慧中受益,通过透明建立信任,并让我们接受问责。
我们会收到来自自动化扫描器和 AI 工具的报告,它们会标记理论问题而不理解其背景。通过要求报告者提出修复方案,我们可以过滤掉扫描器噪声,获得理解问题的研究人员的可操作报告,并借助专家意见加速修复。
ClawHub (clawhub.ai) 包含在整个安全计划的范围内——威胁模型、代码审查和持续监控。技能是在代理上下文中运行的代码——供应链安全至关重要。
所有应用程序都在范围内。iOS 应用、Android 应用和 macOS 桌面应用都将被代码审查覆盖,并包含在威胁模型中。没有什么是超出范围的。
- 通过拉取请求为威胁模型做贡献
- 审查并评论带有安全标签的 issues
- 向相关仓库报告漏洞(如果不确定,可发送至 security@openclaw.ai)
- 帮助改进安全文档