安全与权限
OpenClaw 的安全设计覆盖网络层、访问控制、Secret 管理和运行时沙箱。本文介绍关键的安全配置和最佳实践。
访问控制
三层防线保护你的 Gateway:
1. 网络层
- Gateway 默认只绑定
127.0.0.1(loopback) - 远程访问走 Tailscale 或 SSH 隧道
- 认证默认开启,首次连接需要凭据
2. 渠道层(DM Policy)
pairing:配对码机制,新用户需审批allowlist:白名单,精确控制谁能对话- 群聊默认需要 @mention 触发
3. 工具层
tools.allow/tools.deny:精细控制可用工具elevated:高危操作需人工审批- 沙箱隔离 exec 执行环境
Secret 管理
OpenClaw 使用 SecretRef 机制管理敏感凭据,支持三种来源:
| 来源 | 说明 |
|---|---|
| env | 从环境变量读取 |
| file | 从文件读取(检查权限和所有权) |
| exec | 执行外部程序获取(如 1Password CLI、Vault) |
{
channels: {
telegram: {
botToken: {
source: "exec",
provider: "1password",
id: "op://vault/telegram/token"
}
}
}
}运行时行为:启动时同步解析所有活跃 SecretRef,失败则阻止启动(快速失败)。 热更新时使用原子替换——成功则切换,失败则保持上次有效值。
Secret 运维
# 审计 Secret 配置
openclaw secrets audit --check
# 交互式配置
openclaw secrets configure
# 应用配置计划
openclaw secrets apply --from plan.json
# 重新加载 Secret
openclaw secrets reloadexec 来源的安全约束:只允许绝对路径、不经过 Shell、支持allowSymlinkCommand 和 trustedDirs 限制。
运行时沙箱
OpenClaw 支持 Docker 容器沙箱,为 Agent 的命令执行提供隔离环境:
{
agents: {
defaults: {
sandbox: {
mode: "non-main" // off | non-main | all
}
}
}
}off:不使用沙箱(默认)non-main:非主 Agent 使用沙箱all:所有 Agent 都在沙箱中执行
每个 Agent 可以有独立的沙箱配置。沙箱内的文件系统与宿主隔离。
威胁模型
OpenClaw 维护了基于 MITRE ATLAS 框架的威胁模型文档, 覆盖 AI 系统常见的攻击面(提示注入、数据泄漏、工具滥用等)。
安全漏洞报告和信任策略详见:trust.openclaw.ai
安全审计
# 运行安全审计
openclaw security audit
# 深度审计(检查更多项目)
openclaw security audit --deep
# 自动修复
openclaw security audit --fix安全清单
- 所有渠道设置
dmPolicy: "pairing"或"allowlist" - API Key 存放在
.env文件或 SecretRef 中 - 公开群聊场景启用沙箱并收紧工具策略
- 远程访问通过 Tailscale / SSH 隧道,不暴露端口
- 定期运行
openclaw security audit --deep - 高危操作(删除、发送、写入)启用
elevated审批 - 不同信任等级的用户路由到不同 Agent,各自独立工具策略