OpenClaw 安全设置指南

OpenClaw 安全设置指南

OpenClaw Security

本文档翻译自 OpenClaw 官方文档

安全模型概述

OpenClaw 安全指导基于个人助手部署模型:一个可信操作员边界,可能有多个智能体。

重要警告:OpenClaw 不是为多个不信任或对抗性用户共享一个智能体/网关的多租户安全边界而设计的。

信任模型

核心原则

  • 每个网关一个信任边界(每个操作系统用户/主机/VPS 一个边界)
  • 不支持的边界:一个共享网关/智能体被相互不信任或对抗性用户使用
  • 如果需要对抗性用户隔离,请按信任边界分割(独立网关 + 凭据,最好是独立的操作系统用户/主机)

部署和主机信任

OpenClaw 假定主机和配置边界是可信的:

  • 如果有人可以修改网关主机状态/配置(~/.openclaw,包括 openclaw.json),则应将其视为可信操作员
  • 为多个相互不信任/对抗性操作员运行一个网关是不推荐的设置

快速安全检查

运行安全审计

openclaw security audit
openclaw security audit --deep
openclaw security audit --fix
openclaw security audit --json

审计检查内容

  • 入站访问:陌生人是否可以触发机器人?
  • 工具爆炸半径:提示注入是否可以转化为 shell/文件/网络操作?
  • Exec 批准漂移:主机 exec 防护栏是否仍在按预期工作?
  • 网络暴露:网关绑定/认证、Tailscale Serve/Funnel、弱/短认证令牌
  • 浏览器控制暴露:远程节点、继电器端口、远程 CDP 端点
  • 本地磁盘权限:权限、符号链接、配置包含、”同步文件夹”路径
  • 插件/扩展:扩展是否存在但没有显式白名单?

强化基线配置

60秒内完成强化基线:

{
  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 } } },
  },
}

DM 访问模型

四种 DM 策略

  • pairing(默认):未知发送者收到配对码,机器人在批准前忽略其消息
  • allowlist:未知发送者被阻止(无配对握手)
  • open:允许任何人 DM(公开)
  • disabled:完全忽略入站 DM

批准配对请求

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

文件权限

保持配置和状态私有:

  • ~/.openclaw/openclaw.json600(仅用户读写)
  • ~/.openclaw700(仅用户)

提示注入防护

什么是提示注入?

提示注入是攻击者制作消息以操纵模型执行不安全操作的过程。

即使有强大的系统提示,提示注入也没有完全解决。系统提示防护栏只是软指导。

防护措施

  • 保持入站 DM 锁定(配对/白名单)
  • 在群组中优先使用提及限制
  • 默认将链接、附件和粘贴说明视为敌对的
  • 在沙箱中运行敏感工具执行
  • 将密钥排除在代理可访问的文件系统之外

凭据存储

  • WhatsApp~/.openclaw/credentials/whatsapp/<accountId>/creds.json
  • Telegram bot token:config/env 或 channels.telegram.tokenFile
  • Discord bot token:config/env 或 SecretRef
  • Slack tokens:config/env(channels.slack.*
  • 模型 auth profiles~/.openclaw/agents/<agentId>/agent/auth-profiles.json

相关文档

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容