Appearance
openclaw security
安全工具(审计 + 可选修复)。
相关文档:
- 安全指南:Security
审计
bash
openclaw security audit
openclaw security audit --deep
openclaw security audit --deep --password <password>
openclaw security audit --deep --token <token>
openclaw security audit --fix
openclaw security audit --json当多个 DM 发送者共享主 Session 时,审计会发出警告,并推荐开启安全 DM 模式:对共享收件箱设置 session.dmScope="per-channel-peer"(多账号频道设置 per-account-channel-peer)。这适用于协作/共享收件箱的安全加固。单个 Gateway 被互不信任/对抗性的运营者共享并不是推荐的做法;应该用独立 Gateway(或独立 OS 用户/主机)来分隔信任边界。
当配置显示可能存在多用户入口(例如开放的 DM/群组策略、已配置的群组目标或通配符发送者规则)时,审计还会触发 security.trust_model.multi_user_heuristic 警告,提醒 OpenClaw 默认采用个人助手信任模型。对于有意为之的多用户场景,审计建议对所有 Session 启用沙箱、将文件系统访问限定在工作区范围,并避免在该运行时保存个人或私人身份与凭证。
当小型模型(<=300B)在未启用沙箱的情况下启用了网页/浏览器工具时,审计也会发出警告。
对于 Webhook 入口,以下情况会触发警告:hooks.token 复用了 Gateway 令牌、hooks.defaultSessionKey 未设置、hooks.allowedAgentIds 不受限制、请求 sessionKey 覆盖已启用、以及覆盖已启用但 hooks.allowedSessionKeyPrefixes 未配置。
以下情况同样会触发警告:沙箱 Docker 设置已配置但沙箱模式处于关闭状态;gateway.nodes.denyCommands 使用了无效的模式类/未知条目(仅支持精确节点命令名匹配,不做 Shell 文本过滤);gateway.nodes.allowCommands 显式启用了危险节点命令;全局 tools.profile="minimal" 被 Agent 工具配置覆盖;开放群组在没有沙箱/工作区保护的情况下暴露了运行时/文件系统工具;已安装的扩展插件工具在宽松工具策略下可能可达。
还会标记:gateway.allowRealIpFallback=true(代理配置错误时存在请求头欺骗风险);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、Microsoft Teams、Mattermost、IRC 等范围),审计会发出警告。
当 gateway.auth.mode="none" 导致 Gateway HTTP API 在没有共享密钥的情况下可达(/tools/invoke 加上任何已启用的 /v1/* 端点)时,审计会发出警告。
以 dangerous/dangerously 为前缀的设置是显式的运维中断玻璃覆盖;启用某个设置本身不构成安全漏洞报告。完整的危险参数清单,参见 Security 中的"不安全或危险标志摘要"部分。
SecretRef 行为:
security audit在只读模式下为其目标路径解析支持的 SecretRef。- 如果 SecretRef 在当前命令路径中不可用,审计会继续并报告
secretDiagnostics(而不是崩溃)。 --token和--password仅覆盖该命令调用的深度探测认证;它们不会重写配置或 SecretRef 映射。
JSON 输出
使用 --json 进行 CI/策略检查:
bash
openclaw security audit --json | jq '.summary'
openclaw security audit --deep --json | jq '.findings[] | select(.severity=="critical") | .checkId'如果同时使用 --fix 和 --json,输出会同时包含修复操作和最终报告:
bash
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 不会:
- 轮换令牌/密码/API 密钥
- 禁用工具(
gateway、cron、exec等) - 更改 Gateway 绑定/认证/网络暴露选项
- 删除或重写插件/Skills
Tips:定期跑
openclaw security audit --check检查你的小龙虾有没有露出破绽,比亡羊补牢强多了。