乐于分享
好东西不私藏

OpenClaw 个人和企业权限控制深度解析:从 9 层安检到生产级安全加固

OpenClaw 个人和企业权限控制深度解析:从 9 层安检到生产级安全加固

综合官方文档与社区实践,一文吃透 OpenClaw 工具权限体系——不止于配置模板,更讲清信任模型、审计机制和架构取舍。


为什么权限控制是 OpenClaw 的核心课题

OpenClaw 不是聊天机器人——它是一个拥有文件读写、命令执行、消息发送、浏览器控制等真实系统能力的 AI 助手平台。一次 prompt injection,如果权限没收住,就可能变成一次 rm -rf 或者一封发给老板的离谱邮件。

权限控制的本质问题:如何让 AI 足够强大又不越界?

我是 AI灵感闪现,使用 OpenClaw 小龙虾 让 AI 自主管理工作和生活上的问题;使用 Claude Code + BMAD AI 驱动敏捷开发框架,让 AI 自主开发和交付软件来表达想法和灵感。是 MoneyMind 省钱思维 App 和 HeartPetBond 心宠纽带 App 开发者。正在实践和分享让 AI 自主解决健康、生活、投资和等方面的问题。我尽可能让 AI 自己完成从目标到交付以及演进的闭环,以最少的人为交互与监督,让 AI 自己跑流程。我只给 AI 想法或目标,全程不陪跑,让 AI 自主运行类似 Tesla FSD 自动驾驶。


第一部分:信任模型——一切配置的前提

个人助手模型,不是多租户平台

这是最容易被忽略、也最重要的一点:

OpenClaw 的安全模型是个人助手模式——一个 Gateway 实例 = 一个信任边界。

这意味着:

  • 一个 Gateway 内的所有使用者,共享同一套工具权限。不同 session 之间没有权限隔离,sessionKey 是路由选择器,不是鉴权令牌。
  • 如果多人共用一个 bot(比如 Slack 群里所有人都能 @它),每个人都能触发该 agent 被允许的全部工具调用。
  • 需要真正的用户隔离?拆分 Gateway——不同信任边界用不同的 Gateway 实例,最好跑在不同的 OS 用户甚至不同的主机上。

实际后果

场景
风险
正确做法
公司 Slack 群共用一个 bot
任何人都能通过 prompt 驱动 exec/文件操作
专用机器 + 专用 OS 用户 + 最小权限
个人多渠道(Telegram + WhatsApp)
同一信任域,可接受
确保 DM pairing + 群组 requireMention
多人家庭共享
家人间信任度决定配置
敏感操作拆独立 Gateway

第二部分:9 层权限安检模型

AI 每次调用工具(读文件、执行命令、发消息……),都要依次通过 9 道关卡,任意一关被拦截即终止。层级从粗到细:

┌─────────────────────────────────────────────────┐│ 第 1 层  全局 profile(基础权限套餐)              ││ 第 2 层  按 AI 提供商的基础 profile                ││ 第 3 层  全局 allow / deny(工具级黑白名单)        ││ 第 4 层  按提供商的 allow / deny                   ││ 第 5 层  单个 agent 的权限策略                     ││ 第 6 层  agent + 提供商联合限制                    ││ 第 7 层  沙箱隔离权限                             ││ 第 8 层  子 agent(subagent)专属权限              ││ 第 9 层  聊天群组 / 频道 / 发送者权限              │└─────────────────────────────────────────────────┘         ▼ 每一层只能收紧,不能放宽 ▼

三条铁律

  1. deny 不可逆 — 任意一层 deny 了某工具,后续所有层都无法恢复它
  2. 只能收紧 — 后层只会更严格,不会把前面禁掉的放回来
  3. 精细覆盖粗放 — agent 级配置覆盖全局,sender 级覆盖群组级

⚠️ 常见坑:在第 1 层用 deny: ["exec"] 禁掉了命令执行,然后在第 5 层某个 agent 里 allow: ["exec"]——无效,exec 已经死了。要改只能改第 1 层。


第三部分:四套基础权限套餐

tools.profile 是权限配置的起点,OpenClaw 提供 4 个预设:

minimal — 最小权限

{"tools":{"profile":"minimal"}}
  • ✅ 仅状态查询,无文件 / 命令 / 消息操作
  • 适用:公开服务、演示环境、零信任场景

coding — 开发模式 ⭐ 最常用

{"tools":{"profile":"coding"}}
  • ✅ 文件读写、命令执行、会话管理、内存操作
  • 适用:日常开发、运维、项目管理

messaging — 消息模式

{"tools":{"profile":"messaging"}}
  • ✅ 聊天会话相关操作
  • ❌ 不触碰系统文件和命令
  • 适用:客服、消息推送、纯对话 bot

full — 全开模式

{"tools":{"profile":"full"}}
  • ⚠️ 无任何限制,仅管理员使用
  • 官方推荐:先用 messaging 或 coding,按需放开

第四部分:精细权限配置实战

4.1 全局黑白名单

{"tools":{"allow":["group:fs"],"deny":["write","edit","apply_patch"]}}

允许文件系统组工具,但禁止写入类操作 = 只读文件系统

工具组速查

  • group:fs — 文件系统(read/write/edit/apply_patch)
  • group:runtime — 运行时(exec/process)
  • group:automation — 自动化(cron/gateway/browser)

4.2 按 AI 提供商差异化

{"tools":{"profile":"coding","byProvider":{"google-antigravity":{"profile":"minimal"},"openai/gpt-5.2":{"allow":["group:fs","sessions_list"]}}}}

便宜 / 小参数模型收紧权限——小模型更容易被 prompt injection 操控,这是官方审计 models.small_params 检查的原因。

4.3 多 agent 角色分权

{"agents":{"list":[{"id":"admin","tools":{"profile":"full"}},{"id":"developer","tools":{"profile":"coding"}},{"id":"viewer","tools":{"allow":["read"],"deny":["*"]}}]}}

4.4 沙箱隔离

{"agents":{"list":[{"id":"public-bot","sandbox":{"mode":"all"},"tools":{"profile":"minimal","allow":["read"]}}]}}

⚠️ 关键陷阱:配了 sandbox.docker 但 mode 没设为 "all" = 沙箱没生效。此时 exec host=sandbox 实际跑在 Gateway 主机上!官方审计会检查 sandbox.docker_config_mode_off

4.5 子 agent 权限

{"tools":{"subagents":{"tools":{"allow":["read","write","exec","process"],"deny":["gateway","cron","browser"]}}}}

子 agent 默认已禁用会话操作,这里进一步锁掉控制面和自动化工具。

4.6 群组 / 频道 / 发送者级控制

{"channels":{"telegram":{"groups":{"*":{"tools":{"deny":["exec"]}},"-1001234567890":{"tools":{"deny":["exec","read","write"]},"toolsBySender":{"123456789":{"alsoAllow":["exec"]}}}}}}}

全部群默认禁 exec → 特定群更严格 → 但群里某个特定用户放行 exec。这是第 9 层的完整能力。


第五部分:安全审计——不是可选项

定期跑审计

openclaw security audit          # 基础审计openclaw security audit --deep   # 深度审计(含 Gateway 实时探测)openclaw security audit --fix    # 自动修复可修复项openclaw security audit --json   # JSON 输出,适合自动化

审计重点关注项(按严重程度排序)

严重程度
检查项
说明
🔴 critical
gateway.bind_no_auth
远程绑定无认证
🔴 critical
gateway.tailscale_funnel
公网暴露
🔴 critical
fs.state_dir.perms_world_writable
状态目录全局可写
🔴 critical
sandbox.dangerous_network_mode
Docker 用了 host 网络模式
🔴 critical
security.exposure.open_groups_with_elevated
开放群组 + 提权工具
🟡 warn
tools.exec.security_full_configured
exec 跳过审批
🟡 warn
tools.exec.auto_allow_skills_enabled
Skill 自动信任 exec
🟡 warn
sandbox.docker_config_mode_off
沙箱配了没开
🟡 warn
tools.profile_minimal_overridden
agent 覆盖了全局 minimal

凭据存储位置

审计或备份时需要关注的路径:

~/.openclaw/credentials/whatsapp/<accountId>/creds.json   # WhatsApp~/.openclaw/credentials/<channel>-allowFrom.json           # 配对白名单~/.openclaw/agents/<agentId>/agent/auth-profiles.json      # 模型认证~/.openclaw/secrets.json                                    # 文件级密钥(可选)~/.openclaw/credentials/oauth.json                          # 遗留 OAuth

第六部分:5 套生产级配置模板

模板 1:只读安全 AI

{"tools":{"allow":["read"],"deny":["exec","write","edit","apply_patch","process"]}}

模板 2:安全开发 AI(可查不可改)

{"tools":{"allow":["read","exec","process"],"deny":["write","edit","apply_patch","browser","gateway"]}}

模板 3:纯消息 AI

{"tools":{"profile":"messaging"}}

模板 4:公开服务(沙箱 + 最小权限)

{"agents":{"list":[{"id":"public","sandbox":{"mode":"all"},"tools":{"profile":"minimal","allow":["read"]}}]}}

模板 5:硬化基线(官方推荐起点)

{"gateway":{"mode":"local","bind":"loopback","auth":{"mode":"token","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}}}}}

这是官方文档给出的 60 秒硬化基线——先全锁,再按需放开。


第七部分:同类产品对比

维度
OpenClaw
NanoClaw
Nanobot
IronClaw
PicoClaw
ZeroClaw
定位
全功能个人 AI 助手
轻量嵌入式 agent
最小化 bot 框架
安全加固版
极简单任务 agent
零配置快启
权限层级
9 层精细控制
2-3 层简化
基本 allow/deny
默认全锁+白名单
几乎无权限
预设安全模板
多 agent
✅ 完整角色分权
⚠️ 有限
❌ 单 agent
✅ 支持
⚠️ 基础
沙箱
Docker sandbox
强制沙箱
可选
安全审计
内置 CLI 审计工具
内置 + 强制
基础检查
渠道集成
7+ 平台
1-2 个
API only
同 OpenClaw
CLI only
1-2 个
信任模型
显式个人助手模型
隐式单用户
无明确定义
零信任默认
N/A
单用户
配置复杂度
高(灵活的代价)
极低
中高
极低
极低
适合谁
需要精细控制的 power user
资源受限设备
快速原型
安全优先场景
极简需求
快速体验

选型建议

  • 需要多渠道+多 agent+精细权限 → OpenClaw
  • 安全合规是硬性要求 → IronClaw(默认拒绝一切)
  • 嵌入式 / 资源受限 → NanoClaw / PicoClaw
  • 快速验证想法 → ZeroClaw / Nanobot
  • OpenClaw 太复杂但需要主要功能 → ZeroClaw 入门,按需迁移

第八部分:未来演进方向

近期可预见

  1. 动态运行时审批扩展 — 当前仅 exec 有 ask 模式,未来可能扩展到 browser、gateway、cron 等更多工具的运行时审批确认。

  2. 审计持续化 — 从手动 openclaw security audit 演进为后台持续监控 + 实时告警,配合 webhook 推送。

  3. 权限策略热更新 — 修改权限配置后无需重启 Gateway 即刻生效。

中期趋势

  1. 条件化策略引擎 — 从静态 JSON allow/deny 演进为支持条件表达式的策略语言(时间段、IP 范围、调用频率等)。

  2. per-user 权限边界 — 在不拆分 Gateway 的前提下实现用户级权限隔离,降低多人场景的运维成本。

  3. 跨 Gateway 联邦管理 — 对多实例集群场景,提供统一的权限策略分发和合规审计。

长期展望

  1. RBAC / ABAC 模型 — 从工具级 allow/deny 演进为基于角色 / 属性的访问控制,与企业 IAM 体系对接。

  2. 审计日志合规导出 — 支持 SOC2 / ISO27001 等合规框架要求的审计日志格式。

  3. AI 行为分析 — 基于历史调用模式检测异常工具使用行为(如突然大量 exec 调用)。


总结

OpenClaw 的权限控制体系在同类产品中是最完整的,9 层模型从全局到单个发送者全覆盖。核心认知:

  1. 先理解信任模型 — 个人助手 ≠ 多租户,共享 bot = 共享权限
  2. deny 不可逆是设计选择 — 保证安全链只会收紧
  3. 从硬化基线出发 — 先全锁,按需放开,而不是全开再补限制
  4. 定期审计不是可选项 — openclaw security audit --deep 应该成为运维习惯
  5. 小模型 + 大权限 = 高危组合 — 模型能力越弱越容易被注入,权限要对应收紧

权限配置看似复杂,实际上就是一句话:从外到内、从粗到细、只紧不松


基于 OpenClaw 官方安全文档(docs.openclaw.ai/gateway/security)及社区实践整理。最后更新:2026-03-29

OpenClaw 小龙虾(点击跳转合集)
让 AI 智能体住进微信:openclaw-wechat 企业微信渠道插件实战
一个机器人,多个 Agent:OpenClaw Discord 频道级路由配置
OpenClaw + 飞书 + Scrum:用 AI Agent 团队跑完整个敏捷研发闭环
CTO 视角:OpenClaw 企业级多项目 AI Agent 架构怎么搭
给 OpenClaw 接飞书机器人,三个坑让我查了一小时
QQ 小龙虾🦞:sliverp/qqbot 和 tencent-connect/openclaw-qqbot 到底选哪个
给 QQ 装个小龙虾🦞:官方openclaw-qqbot 实测,2条命令搞定,群聊踩坑记录
OpenClaw v2026.3.11: WebSocket 劫持已修复, Ollama 正式集成, 记忆搜索支持图片和音频
局域网两台电脑跑 OpenClaw,'Allow device to connect?' 弹个没完?四条命令治好它
Windows 11 原生装 OpenClaw:PowerShell 一行搞定 QQ 机器人
macOS 原生装 OpenClaw:一条命令接上 QQ 机器人
用 Docker 装 OpenClaw:一条命令,三个坑,一个能用的 AI 智能体
OpenClaw Telegram Topics: 一个群组运行多条并行任务流
Claude Agent SDK 系列(点击跳转合集)
Claude Agent SDK 构建 AI Agent 实践:如何实现与上传文件的对话
Claude Agent SDK 构建 AI Agent 实践:服务端向 Claude Agent SDK 注入环境变量的实践
Claude Agent SDK + 微信小程序:AI Agent 项目实践复盘 2026-01-21
Claude Agent SDK + 微信小程序为个人打造 AI 分身:vs-ai-agents 项目技术实践复盘
BMAD AI 驱动敏捷开发系列(点击跳转合集
BMAD 6.2.0:推荐使用 bmad-product-brief-preview 基于 Prompt 的多 Agent 编排
如何用 BMAD Quick Dev 在 10 分钟内把客户的一句话需求变成完整的可行性评估
Claude Code + BMAD Quick Dev + YOLO:AI 自主修复缺陷的完整闭环实践
BMad v6.1.0 用统一的Skill技能架构替代了旧的工作流引擎
当 BMAD 开发工作流遇上 PPT 周报生成:BMAD Quick Dev 的边界拓展
Claude Code + BMAD + YOLO 模式:一个 Session 搞定全栈功能开发
BMad v6.0.4 + GDS v0.1.10:边缘用例猎手、多智能体测试和引擎知识库
BMAD v6.0.4:从 Beta 到正式版,两分钟搞定
BMAD v6.0.0-beta-8 安装实战:从零开始搭建你的 AI 开发团队
BMAD + Ralph 执行循环:Claude Code 的统一 AI 开发框架
BMAD 最佳实践:AI 驱动的敏捷开发指南
BMAD 突破性 AI 驱动敏捷开发框架:v6.0.0-alpha.23 升级体验:全新安装之旅
BMAD Method 入门指南:用 Quick Dev 工作流更快、更稳地交付
实战测评:用 Claude Code + BMAD + GLM-4.7 打造 HeartPetBond App (心宠纽带)
BMAD V6 安装配置完全指南:项目目录安装最佳实践
BMAD v6 安装更新:模块化 + AgentVibes “会说话”的开发体验
用 Claude Code + BMAD AI 驱动敏捷,把一个想法变成 省钱思维 (MoneyMind) App
AI 时代的"文档屎山"?BMAD、Spec-Kit、OpenSpec 等面向文档AI编程的利弊
在 Codex 里像 Claude Code 一样用 BMAD:把多角色 AI 团队装进你的仓库
BMAD 突破性 AI 驱动敏捷开发框架:深度解析 26 个代理、68 个工作流和 655 个文件
AI 自主开发 App 成功上架:历时 14 天审核,MoneyMind 省钱思维 App 今天发布了
MoneyMind 省钱思维 App 审核又被拒:粗心提交错误版本的惨痛教训
被苹果审核拒绝不要怕:这次用 Google Antigravity AI 快速修复 App Store 审核问题
Claude Code 自主开发 MoneyMind(省钱思维)iOS 应用送审 App Store
用 Claude Code + BMAD AI 驱动敏捷,把一个想法变成 省钱思维 (MoneyMind) App

全网首发?第一款 GLM 4.7 + Claude Code AI 自主开发的心宠纽带 App 首次通过 App Store 审核并上架发布

智谱 GLM 4.7 模型 AI 自主开发 HeartBetBond 心宠纽带 App,从想法到提交 App Store 仅用 12 天

实战测评:用 Claude Code + BMAD + GLM-4.7 打造 HeartPetBond App (心宠纽带)

加入 AI灵感闪现 微信群

长按下图二维码进入 AI灵感闪现 微信群

长按下图二维码添加微信好友 VibeSparking 加群

关注 AI灵感闪现 微信公众号