第八章:安全模型、访问控制与沙箱实践
OpenClaw 连接真实消息入口、文件系统、命令执行、浏览器、设备节点和自动化任务,安全必须优先考虑。
8.1 个人助手信任模型
官方安全模型假设一个 Gateway 属于一个可信操作员边界。它不是为多个互相对抗的用户共享同一个强权限 Agent 而设计的多租户隔离系统。如果多人能触发同一工具强大的 Agent,他们共享该 Agent 的委托权限。需要强隔离时,应拆分 Gateway、OS 用户、主机和凭据。
8.2 安全审计
openclaw security audit
openclaw security audit --deep
openclaw security audit --fix
openclaw security audit --json
审计会关注 Gateway auth、DM/群聊策略、开放通道与高风险工具组合、浏览器控制、exec approval、文件权限和网络暴露。
8.3 加固基线
{
gateway: { mode: "local", bind: "loopback", auth: { mode: "token", token: "replace-with-long-random-token" } },
session: { dmScope: "per-channel-peer" },
tools: {
profile: "messaging",
deny: ["group:automation", "group:runtime", "group:fs", "sessions_spawn", "sessions_send"],
fs: { workspaceOnly: true },
exec: { security: "deny", ask: "always" },
elevated: { enabled: false },
},
channels: { whatsapp: { dmPolicy: "pairing", groups: { "*": { requireMention: true } } } },
}
8.4 触发授权与上下文可见性
触发授权决定谁能触发 Agent,例如 dmPolicy、allowlist、group policy、mention。上下文可见性决定模型能看到哪些引用和历史。可用 contextVisibility: "all" | "allowlist" | "allowlist_quote" 控制补充上下文过滤。
8.5 Gateway auth 与远程访问
本机 loopback 最安全。LAN、VPS、公网、反向代理、Tailscale Serve/Funnel 都必须认真配置 auth。不要把 auth.mode: "none" 暴露到不可信网络。远程优先使用 SSH tunnel、Tailscale 或 VPN。
8.6 高风险工具
高风险包括 exec、process、read/write/edit、browser、gateway、nodes、canvas、cron。共享通道从 messaging 或 minimal 开始;公共群聊不应拥有主机 shell、个人浏览器登录态或 Gateway 控制工具。
8.7 沙箱
OpenClaw 可把工具放入 Docker、SSH、OpenShell 等沙箱 backend 执行。沙箱适合非 main、群聊、共享入口或不可信输入。沙箱不是万能边界,仍要配合工具 allow/deny、工作区隔离和凭据隔离。
8.8 Secret 管理
不要把 API Key 写入 prompt 文件、技能说明、公开仓库或日志。优先使用环境变量、SecretRef、文件权限和日志脱敏。第三方技能可能影响 Agent 行为,也应视为不可信。
8.9 小结
OpenClaw 的安全核心是按信任边界分配能力:个人私有入口可更强,团队共享入口必须更弱;本机可简单,远程必须严格;高风险工具必须配合沙箱、approval、allowlist 和审计。