openclaw security
安全工具(审计 + 可选修复)。
相关内容:
- 安全指南:Security
审计
openclaw security audit
openclaw security audit --deep
openclaw security audit --fix
openclaw security audit --json
审计会在多个 DM 发送者共享 main session 时发出警告,并推荐安全 DM 模式:设置 session.dmScope="per-channel-peer"(多账号频道则用 per-account-channel-peer),适用于共享收件箱场景。
这是为了协作 / 共享收件箱的安全加固。把一个 Gateway 共享给互不信任 / 对立的运营者并非推荐做法;对于信任边界分离的场景,应该使用独立的 gateway(或不同的 OS 用户 / 主机)。
审计还会在配置暗示可能存在共享用户入口时输出 security.trust_model.multi_user_heuristic(比如开放的 DM / 群组策略、已配置的群组目标、通配符发送者规则),提醒你 OpenClaw 默认是个人助手信任模型。
对于有意的共享用户场景,审计建议:沙箱化所有 session,将文件系统访问限制在工作空间范围内,不要在该运行时上放置个人 / 私密身份或凭据。
审计还会在小模型(<=300B)未启用沙箱且开启了 web / 浏览器工具时发出警告。
对于 webhook 入口,当 hooks.defaultSessionKey 未设置、请求 sessionKey 覆盖已启用、以及覆盖已启用但没有 hooks.allowedSessionKeyPrefixes 时都会警告。
还会在以下情况发出警告:沙箱模式关闭但配置了沙箱 Docker 设置时;gateway.nodes.denyCommands 使用了无效的模式匹配 / 未知条目时(只支持精确的节点命令名匹配,不支持 shell 文本过滤);gateway.nodes.allowCommands 显式启用了危险的节点命令时;全局 tools.profile="minimal" 被 agent 工具配置覆盖时;开放群组在没有沙箱 / 工作空间保护的情况下暴露了运行时 / 文件系统工具时;已安装的扩展插件工具在宽松的工具策略下可能可达时。
还会标记 gateway.allowRealIpFallback=true(代理配置错误时存在 header 欺骗风险)和 discovery.mdns.mode="full"(通过 mDNS TXT 记录泄露元数据)。
还会在沙箱浏览器使用 Docker bridge 网络但没有 sandbox.browser.cdpSourceRange 时警告。
还会标记危险的沙箱 Docker 网络模式(包括 host 和 container:* 命名空间连接)。
还会在已有的沙箱浏览器 Docker 容器缺失 / 过期哈希标签时警告(比如迁移前缺少 openclaw.browserConfigEpoch 的容器),并推荐执行 openclaw sandbox recreate --browser --all。
还会在基于 npm 的插件 / hook 安装记录未固定版本、缺少完整性元数据或与当前安装的包版本不一致时警告。
当频道允许列表依赖可变的名称 / 邮箱 / 标签而非稳定 ID 时会警告(Discord、Slack、Google Chat、MS Teams、Mattermost、IRC 等适用的范围)。
当 gateway.auth.mode="none" 导致 Gateway HTTP API 在没有共享密钥的情况下可达时会警告(/tools/invoke 加上任何已启用的 /v1/* 端点)。
以 dangerous / dangerously 为前缀的设置是显式的紧急覆盖开关;启用一个本身不构成安全漏洞。
完整的危险参数清单,参见 Security 中的 “Insecure or dangerous flags summary” 部分。
JSON 输出
用 --json 进行 CI / 策略检查:
openclaw security audit --json | jq '.summary'
openclaw security audit --deep --json | jq '.findings[] | select(.severity=="critical") | .checkId'
同时使用 --fix 和 --json 时,输出包含修复动作和最终报告:
openclaw security audit --fix --json | jq '{fix: .fix.ok, summary: .report.summary}'
--fix 做了什么
--fix 应用安全的、确定性的修复措施:
- 把常见的
groupPolicy="open"改为groupPolicy="allowlist"(包括支持频道中的账号变体) - 把
logging.redactSensitive从"off"改为"tools" - 收紧状态 / 配置文件及常见敏感文件的权限(
credentials/*.json、auth-profiles.json、sessions.json、session*.jsonl)
--fix 不会:
- 轮换 token / password / API key
- 禁用工具(
gateway、cron、exec等) - 修改 gateway 的绑定 / 认证 / 网络暴露设置
- 移除或重写插件 / skill