Loading... # OpenClaw 安全漏洞深度分析 # 一、事件概述 ## 1. 事件背景 OpenClaw 是一个开源的 AI 智能体框架,基于 Anthropic Claude Opus 4.5 模型构建。它能够与用户的本地系统文件、终端、浏览器、Gmail、Slack 等多个应用集成,实现自动化任务处理。2026 年初,OpenClaw 在技术社区迅速走红,成为 AI 智能体领域的热门项目。 ## 2. 影响范围 ### A. 影响用户数 根据 Censys 和 BitSight 的扫描数据,在 2026 年 1 月下旬至 2 月上旬的 10 天内,发现了 21,000 至 30,000 个暴露在互联网上的 OpenClaw 实例。 ### B. 潜在风险 - 凭据窃取:Cookies、保存的凭据、SSH 密钥 - 账户接管:Gmail、Slack、GitHub 等集成服务 - 数据泄露:个人文件、通讯记录、敏感信息 - 系统破坏:文件删除、恶意命令执行 ### C. 涉及服务 50 多个集成平台,包括 Gmail、Slack、Teams、Trello、Perplexity 网页搜索等。 ## 3. 严重程度 高危级别。存在多个严重安全漏洞,包括恶意 Skill 分发、提示注入攻击、未授权访问等,可直接导致用户系统和数据被完全控制。 # 二、OpenClaw 系统架构 ## 1. 系统组成 OpenClaw 的工作原理是通过多个输入源接收信息,经过 LLM 推理引擎处理后,调用各种工具和集成服务执行操作。 ```mermaid graph TB subgraph Input A[邮件] --> B[消息应用] C[网页搜索] --> B D[第三方Skills] --> B end subgraph OpenClaw B --> E[LLM推理引擎] E --> F[记忆系统] E --> G[工具调用] F --> H[Markdown文件] end subgraph Integrations G --> I[Gmail] G --> J[Slack] G --> K[Calendar] G --> L[文件系统] G --> M[终端命令] end subgraph Credentials I --> N[(OAuth令牌)] J --> N K --> N end style D fill:#f96,stroke:#f66 style H fill:#fc9,stroke:#f96 ```  ### A. 核心组件 - **LLM 推理引擎**:基于 Claude Opus 4.5,负责理解和生成响应 - **记忆系统**:以 Markdown 文件形式存储在本地 - **工具调用**:bash 命令、文件 I/O、邮件、消息等 - **SkillHub**:第三方技能市场,用户可下载和安装社区贡献的技能 ### B. 集成方式 - OAuth 认证存储在本地 auth-profiles.json 文件中 - 支持的集成包括邮件、日历、消息、文件同步等 - 可通过 WhatsApp、Telegram 等消息平台交互 ### C. 部署模式 - 本地部署:Mac mini、Linux 服务器 - 云端部署:VPS、容器化环境 - 暴露方式:直接暴露、反向代理、VPN 隧道 ## 2. 安全设计缺陷 ### A. 本地连接自动信任 初始版本的 ClawdBot 将所有来自 localhost 的连接视为合法,这在反向代理部署时意味着任何互联网连接都被自动批准。 ### B. 记忆文件未保护 记忆系统完全由 Markdown 文件组成,没有任何机制防止被篡改。被攻击的智能体可以重写自己的记忆文件。 ### C. OAuth 令牌本地存储 刷新令牌存储在本地文件中,一旦实例被攻破,攻击者可直接获取所有集成服务的访问权限。 # 三、安全漏洞分析 ## 1. 恶意 Skill 分发 ### A. SkillHub 安全缺失 OpenClaw 严重依赖 SkillHub 的技能,但该平台没有任何安全检查机制。任何人都可以上传技能,无需审核。 ### B. 恶意 Skill 案例 1Password 研究员 Jason Melier 发现,当时下载量最高的 Twitter Skill 实际上是恶意软件分发载体。 攻击流程: 1. Skill 声称需要安装 openclaw-core 依赖 2. 提供的链接指向恶意基础设施 3. 解码并执行混淆的载荷 4. 下载并运行二进制文件 5. 移除 macOS 隔离属性以绕过 Gatekeeper 扫描 经过 VirusTotal 确认,这是一个信息窃取恶意软件,可通过 ClawdBot 访问 Cookies、保存的凭据、SSH 密钥等。 ### C. 供应链攻击模拟 安全研究员 Jamieson O'Reilly 创建了一个模拟后门 Skill What Would Elon Do,通过刷下载量使其成为第一名。仅一小时就获得 4000+ 下载,真实开发者来自 7 个不同国家在不知情的情况下执行了任意命令。 ### D. 大规模安全审计 Snyk 对 ClawHub 市场上的 3,984 个技能进行安全分析,发现 283 个技能(约 7.1%)包含严重安全漏洞,以明文形式通过 LLM 上下文窗口和输出日志暴露敏感凭据。 ## 2. 提示注入攻击 ### A. 永久性威胁 提示注入是 LLM 工作方式固有的问题,无法完全消除。OpenClaw 的情况尤其严重,因为它有太多开放入口和过大的攻击面。 ### B. 致命三要素 OpenClaw 完美符合 Simon Willison 定义的致命三要素: - **访问私有数据**:工具的核心目的之一 - **暴露于不可信内容**:任何恶意攻击者控制的文本或图像都可能被 LLM 获取 - **外部通信能力**:可用于窃取数据 ### C. 攻击向量 - 邮件内容注入 - 消息应用注入(WhatsApp、Telegram) - 网页内容注入 - 第三方 Skill 注入 ### D. 越权执行 OpenClaw 在操作系统和浏览器提供的安全保护之上运行。应用隔离和同源策略对它不适用。这与 iPhone 应用的沙箱隔离形成鲜明对比。 ## 3. 过度权限和令牌滥用 ### A. 认证风险 OpenClaw 必须存储凭据,包括 API 密钥和 OAuth 访问/刷新令牌。这些令牌存储在本地文件中。 ### B. 攻击路径 如果攻击者获得实例访问权限: 1. 窃取本地存储的令牌 2. 无需欺骗模型即可直接冒充用户 3. 在 Slack 和 Gmail 中拉取数据、发送消息 4. 在组织内部进行权限提升 ### C. 配置不当 许多部署为了便利性牺牲安全性: - 弱认证 - 暴露的网关 - 反向代理配置错误 从互联网暴露到令牌窃取的路径可能非常短。 ## 4. 暴露实例泛滥 ### A. 漏洞描述 初始 ClawdBot 将来自 localhost 的所有流量视为合法,因为在开发者看来这应该是智能体的所有者。 ### B. 反向代理问题 大多数实际部署使用 nginx 或 Caddy 作为反向代理: - 所有连接来自 127.0.0.1/localhost - 所有连接被视为本地 - 所有连接被自动批准 - 即使是来自互联网的随机连接 ### C. 扫描数据 - Censys(1 月 27-31 日):约 21,000 个暴露实例 - BitSight(1 月 27 日-2 月 8 日):30,000+ 个易受攻击的 OpenClaw/Clawdbot/Moltbot 实例 ## 5. OWASP 智能体风险映射 Palo Alto Networks 将 OWASP 智能体十大风险与 OpenClaw 实现进行了映射: | OWASP 智能体风险 | OpenClaw 实现 | |----------------|--------------| | A01:提示注入(直接和间接) | 网页搜索结果、消息、第三方技能注入指令被智能体执行 | | A02:不安全的智能体工具调用 | 工具(bash、文件 I/O、邮件、消息)基于包含不可信记忆源的推理被调用 | | A03:过度的智能体自主权 | 单个智能体拥有文件系统根权限、凭据访问和网络通信,无权限边界或审批门控 | | A04:缺少人工在环控制 | 即使受旧、不可信记忆影响,破坏性操作(rm -rf、凭据使用、外部数据传输)也不需要审批 | | A05:智能体记忆中毒 | 所有记忆不区分来源,网页抓取、用户命令、第三方技能输出以相同方式存储,无信任级别或过期 | | A06:不安全的第三方集成 | 第三方技能以完整智能体权限运行,可直接写入持久记忆,无沙箱隔离 | | A07:权限分离不足 | 单个智能体处理不可信输入摄取和高权限操作执行,共享记忆访问 | | A08:供应链模型风险 | 智能体使用上游 LLM,未验证微调数据或安全对齐 | | A09:无限制的智能体间操作 | OpenClaw 作为单一单体智能体运行,未来多智能体版本可能实现无约束智能体通信 | | A10:缺少运行时监控和护栏 | 记忆获取到推理到工具调用之间无策略执行层,无记忆访问模式异常检测或时序因果跟踪 | ```mermaid graph TB subgraph Attackers A1[恶意Skill作者] A2[网络攻击者] A3[社会工程师] end subgraph Attack_Vectors V1[恶意Skill] --> D1[命令执行] V2[邮件/消息注入] --> D2[提示注入] V3[网页内容] --> D3[间接注入] V4[暴露的实例] --> D4[令牌窃取] end subgraph Impact D1 --> I1[凭据窃取] D2 --> I2[未授权操作] D3 --> I3[数据泄露] D4 --> I4[账户接管] end I1 --> R[财务损失] I2 --> R I3 --> R I4 --> R style A1 fill:#f66 style A2 fill:#f66 style A3 fill:#f66 style R fill:#c00 ```  # 四、安全防护措施 ## 1. 网络层防护 ### A. 本地部署 - 不要在主计算机上运行 - 不要使用 root 权限 - 使用旧设备或专用服务器 ### B. 云端部署 - **仅本地绑定**:将网关绑定到 127.0.0.1 - **VPN/隧道访问**:通过 WireGuard、Tailscale 或身份感知隧道访问 - **防火墙隔离**:仅允许来自你的 IP 或 VPN 范围的 SSH - **不开放端口**:不要将 OpenClaw 端口开放到 0.0.0.0 - **配置可信代理**:仅信任来自实际代理 IP 的身份头 ### C. 令牌管理 - 制定令牌轮换计划 - 怀疑暴露后立即轮换网关令牌和凭据 ## 2. 容器化隔离 ### A. Docker 加固 - 使用单独的旧笔记本或专用设备 - **不要挂载完整主目录**:仅提供一个工作目录 - **使用 OS 权限**:以单独用户运行,最小文件访问,无默认管理员/sudo - **降低 Docker 权限**:容器内以非 root 运行 - **只读文件系统**:尽可能使用只读文件系统 - **仅挂载工作目录为可写** - **绝不挂载 Docker 套接字**:挂载 /var/run/docker.sock 基本上就是主机 root - **降低 Linux 能力**:将容器能力降至最低要求 - **使用默认 seccomp 配置文件** ### B. rootless Docker Docker 文档推荐使用 rootless 模式,以减少容器运行时逃逸的爆炸半径。 ## 3. 应用层防护 ### A. 分离账户 为 OpenClaw 创建独立的账户: - 独立的 Gmail 账户 - 独立的日历 - 独立的 1Password 账户存储凭据 ### B. 最小权限原则 - **按风险级别分离智能体**:一个用于收件箱分类和草稿(只读),另一个用于执行操作(写入) - **时间限制高权限访问**:仅在需要时授予写入权限,然后撤销 - **按资源而非操作划分范围**:优先选择此日历而非所有日历,此 Slack 工作区和这些频道而非所有频道 - **破坏性操作需要审批**:删除、批量移动、外部共享、邀请用户、发布、发送消息等需要人工批准 - **定期审计范围**:每月审查连接内容、授予的范围和未使用的内容 ### C. 托管集成 使用 Composio 等托管集成服务: - 避免在智能体工作目录中存储原始 OAuth 密钥 - 集中管理每个工具包的范围和身份验证配置 - 获得更好的运营控制,凭据生命周期管理作为一流工作流程 ## 4. 监控和审计 ### A. 执行可观察性 - 查看智能体在应用集成中执行的时间和内容 - 追踪整个工具执行历史 - 了解问题发生的位置和方式 - 对部署具有敏感工具访问权限的智能体更有信心 ### B. 异常检测 - 监控记忆访问模式 - 检测时序因果异常 - 设置异常行为告警 ### C. 定期审计 - 每月审查连接的服务和授予的权限 - 移除未使用的集成 - 检查记忆文件的完整性 ```mermaid graph TB subgraph Layer1_网络层 L1A[仅本地绑定] L1B[VPN/隧道访问] L1C[防火墙隔离] end subgraph Layer2_容器层 L2A[Docker容器化] L2B[只读文件系统] L2C[最小权限用户] L2D[seccomp配置] end subgraph Layer3_应用层 L3A[分离账户] L3B[最小权限范围] L3C[人工审批] L3D[托管OAuth] end subgraph Layer4_监控层 L4A[执行日志] L4B[异常检测] L4C[定期审计] end L1A --> L2A L1B --> L2B L1C --> L2C L2A --> L3A L2B --> L3B L2C --> L3C L2D --> L3D L3A --> L4A L3B --> L4B L3C --> L4C L3D --> L4A ```  # 五、替代方案 ## 1. TrustClaw Composio 推出的安全替代方案: ### A. 托管 OAuth 无需在磁盘上存储 Gmail、Slack 等的 OAuth 令牌,Composio 管理整个令牌生命周期。 ### B. 范围限制访问 可以为智能体定义范围,它们只能访问允许的内容,显著减少威胁表面积。 ### C. 远程沙箱代码执行 OpenClaw 在机器上执行代码,存在恶意提示注入擦除整个系统的风险。TrustClaw 提供远程工作台在隔离中执行代码。 ### D. 零设置 一键设置,无需复杂的 Mac mini 配置。 ### E. 24/7 智能体 可调度任务,智能体在用户睡眠时执行。 ### F. 完整可观察性 了解智能体执行的操作和时间,智能体执行的 360 度视图。 ## 2. 部署建议 ### A. 适用场景 - 技术爱好者:想要学习 AI 智能体技术 - 研究人员:需要深度定制和实验 - 企业用户:需要严格的合规和安全控制 ### B. 不适用场景 - 普通消费者:没有强烈的内部学习需求 - 高风险环境:处理敏感数据或关键系统 - 缺乏技术能力:无法正确配置安全措施 # 六、行业影响与反思 ## 1. 技术成熟度 尽管 AI 模型能力显著提升,但 AI 智能体仍处于青春期阶段。行业必须谨慎处理和约束这些系统,使用合理的护栏。 ## 2. 安全设计原则 - 假设智能体会被操纵 - 设计能够包含和从错误中恢复的系统 - 实施多层防御策略 - 将智能体视为人类员工,需要监督和管理 ## 3. 生态系统发展 OpenClaw 与 VirusTotal 建立合作伙伴关系,扫描 SkillHub 上的潜在风险技能。但社区驱动的安全模型存在固有局限性。 ## 4. 未来展望 智能体安全需要整个行业的共同努力,包括: - 更好的提示注入防御 - 标准化的安全框架 - 第三方安全审核机制 - 用户教育和最佳实践 *** ## 参考资料 1. [OpenClaw is a Security Nightmare Dressed Up as a Daydream | Composio](https://composio.dev/content/openclaw-security-and-vulnerabilities) 2. [From Magic to Malware: How OpenClaw's Agent Skills Become an Attack Surface | 1Password](https://1password.com/blog/from-magic-to-malware-how-openclaws-agent-skills-become-an-attack-surface) 3. [OpenClaw Skills Credential Leaks Research | Snyk](https://snyk.io/blog/openclaw-skills-credential-leaks-research/) 4. [OpenClaw in the Wild: Mapping the Public Exposure of a Viral AI Assistant | Censys](https://censys.com/blog/openclaw-in-the-wild-mapping-the-public-exposure-of-a-viral-ai-assistant) 5. [OpenClaw AI Security Risks: Exposed Instances | BitSight](https://www.bitsight.com/blog/openclaw-ai-security-risks-exposed-instances) 6. [Why MoltBot May Signal an AI Crisis | Palo Alto Networks](https://www.paloaltonetworks.com/blog/network-security/why-moltbot-may-signal-ai-crisis/) 最后修改:2026 年 03 月 23 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏