Safety

安全与信任

13分钟

理解 OpenClaw 的 Gateway 信任模型、DM pairing、共享 Agent 风险、工具策略、沙盒、提权、secrets 和用量控制。

OpenClaw 把真实聊天界面连接到文件、浏览器、设备和外部服务。安全首先是信任模型问题。

核心信任模型

OpenClaw 更适合被看作可信操作者 Gateway,而不是 hostile multi-tenant 平台。

  • Gateway 是控制平面
  • 已认证 operator 访问权限很强
  • 被允许的聊天发送者可以 steer Agent
  • session key 是路由上下文,不是授权 token
  • node 配对后就是远程执行或设备界面
  • tool approval 是操作者意图 guardrail,不是完整租户隔离

如果需要隔离互不信任用户,请按 OS user、host 或 Gateway 分开。

DM Pairing

公共渠道应保留 DM pairing:

bash
openclaw pairing list
openclaw pairing approve <channel> <code>
openclaw doctor

团队渠道使用明确 allowlist 和 access groups。不要让有强工具权限的 Agent 接受任意发送者。

共享渠道风险

最危险的模式是:一个强权限 Agent 放在共享聊天室。

风险包括:

  • 任意允许发送者的 prompt injection
  • 工具导致的数据外泄
  • 一个发送者 steer 影响共享状态
  • 群聊上下文触发私人浏览器或凭证

公司共享 Agent 应使用独立 Gateway 或 OS user、专用服务账号、窄工具权限,并要求副作用确认。

Gateway 加固

  • 本地场景保持 loopback
  • 远程访问用 Tailscale 或 SSH tunnel
  • 使用 token、password、trusted proxy 或 device auth
  • 新浏览器/设备显式 pairing
  • 避免公开未认证 Gateway 端口
bash
openclaw security audit
openclaw security audit --fix
openclaw doctor

工具策略

json
{
  "tools": {
    "profile": "messaging",
    "exec": { "security": "ask" },
    "fs": { "workspaceOnly": true },
    "deny": ["browser"],
    "allow": []
  }
}

群聊和外部输入 Agent 用小 profile。只有确实需要时才开放 browser、exec、node、cron 或 message-sending 工具。

沙盒

沙盒降低工具执行的 blast radius。它可以应用于所有 session 或 non-main session。

json
{
  "agents": {
    "defaults": {
      "sandbox": {
        "mode": "non-main",
        "backend": "docker",
        "scope": "session",
        "workspaceAccess": "rw"
      }
    }
  }
}

沙盒不会 sandbox Gateway 本身。

Elevated Access

Elevated execution 会按设计绕过普通沙盒边界。把它当作受控逃逸路径,而不是便利开关。

Secrets

不要把真实 API key 写进 AGENTS.mdSOUL.mdTOOLS.md、skills 或聊天 prompt。

bash
openclaw secrets audit
openclaw secrets reload

成本与用量

text
/usage tokens
/usage full
/usage off
bash
openclaw status --usage
openclaw sessions list --usage

Provider dashboard 仍是计费事实来源。

Hardened Baseline

  1. 从一个可信 operator 开始。
  2. Gateway 保持本地或通过 tunnel 暴露。
  3. 启用 DM pairing。
  4. 使用窄工具 profiles。
  5. 对非 main 或群聊 session 使用沙盒。
  6. Secrets 放在 prompt 文件之外。
  7. 启用 plugins 前先审查。
  8. 自动化变更后检查用量和日志。

安全是边界设计

最安全的 OpenClaw 设置不是开最多开关,而是每个 sender、agent、tool、node、credential 和 session 都有清晰信任边界。

继续实践

安全与信任 的核心概念已经读完

如果你想把理解变成可复用的能力,可以到 AgentWay 继续练习