🦞OpenClaw ClawBook

安全与权限

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 reload

exec 来源的安全约束:只允许绝对路径、不经过 Shell、支持allowSymlinkCommandtrustedDirs 限制。

运行时沙箱

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,各自独立工具策略