OpenClaw 2026.3.2 — 2026.3.8 权限变更与安全加固

OpenClaw 2026.3.2 --- 2026.3.8 权限变更与安全加固

作者:吴佳浩

撰稿时间:2026-3-9

测试版本:OpenClaw 2026.3.2 --- 2026.3.8

适用版本: OpenClaw 2026.3.2 --- 2026.3.8 问题现象: 升级后大量默认操作权限消失,编码 / 系统工具不可用 影响范围: 新安装用户、重置过配置的用户,以及依赖 Skills 下载功能的部署


目录

  1. 问题根因分析
  2. [macOS 恢复步骤](#macOS 恢复步骤 "#%E4%BA%8Cmacos-%E6%81%A2%E5%A4%8D%E6%AD%A5%E9%AA%A4")
  3. [Windows 恢复步骤](#Windows 恢复步骤 "#%E4%B8%89windows-%E6%81%A2%E5%A4%8D%E6%AD%A5%E9%AA%A4")
  4. 完整配置参考
  5. 验证是否恢复成功
  6. [2026.3.8 新增安全问题](#2026.3.8 新增安全问题 "#%E5%85%AD20263-8-%E6%96%B0%E5%A2%9E%E5%AE%89%E5%85%A8%E9%97%AE%E9%A2%98%E4%B8%8E%E5%A4%84%E7%BD%AE")
  7. [常见问题 FAQ](#常见问题 FAQ "#%E4%B8%83%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98-faq")

一、问题根因分析

1.1 版本 2026.3.2 的两项破坏性变更

2026.3.2 引入了两项 Breaking Changes,直接导致默认权限收窄。老用户如果配置完整则影响有限,但新安装或配置重置的用户会立即感受到权限缺失。

配置项 旧版默认值 2026.3.2 新默认值 实际影响
tools.profile coding / system messaging 编码与系统工具默认关闭
acp.dispatch.enabled false true ACP 路由在未显式配置时自动启用

tools.profile 的变更是大多数用户权限消失的直接原因。旧版新安装会默认附带编码和系统操作工具;2026.3.2 起改为仅开放消息收发类工具,若需要恢复编码能力,必须手动在配置文件中声明。

acp.dispatch.enabled 改为默认 true 的影响相对间接:若你依赖"ACP 关闭"状态来隔离某些 agent 路由逻辑,升级后这些路由会被自动激活,可能产生意外的权限扩散。

1.2 权限变更逻辑总览

flowchart TD A[用户升级至 2026.3.2] --> B{是否为新安装
或重置了配置?} B -- 是 --> C[tools.profile 默认为 messaging] B -- 否 --> D[保留旧有配置
工具权限基本不变] C --> E[编码与系统工具不可用] C --> F[acp.dispatch 默认启用] D --> H[检查 acp.dispatch 是否影响业务] E --> G[需手动修改配置文件恢复权限] G --> I[选择对应平台的恢复方案] I --> J[macOS 方案] I --> K[Windows 方案] H --> L[按需调整 acp.dispatch.enabled]

1.3 tools.profile 各值的工具覆盖范围

profile 值 消息工具 编码工具 系统工具 适用场景
messaging 纯聊天机器人,最小权限
coding 开发辅助,推荐大多数用户使用
system 服务器管理、系统运维
coding+system 完整还原 2026.3.1 及更早的默认行为

二、macOS 恢复步骤

第一步:找到配置文件

OpenClaw 在 macOS 上的配置文件默认路径为:

bash 复制代码
    ~/.openclaw/openclaw.json

打开 Finder,按下 Command + Shift + G,在弹出的路径栏中粘贴以下路径并回车:

bash 复制代码
    ~/.openclaw/

如果找不到该目录,可以通过终端确认其是否存在:

bash 复制代码
ls ~/.openclaw/

如果目录不存在,说明 OpenClaw 尚未在该用户下完成初始化,需先运行一次 openclaw gateway start 生成默认配置。

注意:~/.openclaw 是以点开头的隐藏目录,Finder 默认不显示。通过 Command + Shift + G 直接输入路径是最可靠的访问方式,或在终端中操作。


第二步:备份原始配置

在修改前务必备份,避免操作失误导致配置损坏:

bash 复制代码
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak

第三步:用终端编辑配置

打开 Terminal(应用程序 → 实用工具 → 终端),选择适合自己的编辑方式:

bash 复制代码
# 方式一:nano(推荐新手,内置于 macOS)
nano ~/.openclaw/openclaw.json

# 方式二:VS Code(需已安装并配置 code 命令)
code ~/.openclaw/openclaw.json

# 方式三:vim(适合熟悉命令行的用户)
vim ~/.openclaw/openclaw.json

第四步:修改配置内容

在打开的配置文件中,找到 tools 段落(如果不存在则在 JSON 根对象中新增对应键值),修改如下:

json 复制代码
{
  "tools": {
    "profile": "coding"
  },
  "acp": {
    "dispatch": {
      "enabled": false
    }
  }
}

使用 nano 时,编辑完成后按 Ctrl + O 写入,Ctrl + X 退出。

JSON 格式要求严格,修改后建议用 openclaw config validate 验证,或在保存前用 JSONLint 检查格式。

验证通过后,重启 Gateway 使配置生效

bash 复制代码
    openclaw gateway restart

如需查看详细的验证报告(JSON 格式)

bash 复制代码
    openclaw config validate --json

macOS 操作时序图

sequenceDiagram participant U as 用户 participant F as Finder participant T as Terminal participant G as Gateway U->>F: Command+Shift+G 打开路径 F-->>U: 定位到 OpenClaw 目录 U->>T: cp config.yaml config.yaml.bak T-->>U: 备份完成 U->>T: nano ~/.openclaw/openclaw.json T-->>U: 编辑器打开配置文件 U->>T: 修改 tools.profile 为 coding U->>T: Ctrl+O 保存,Ctrl+X 退出 U->>G: openclaw config validate G-->>U: 配置验证通过 U->>G: openclaw gateway restart G-->>U: Gateway 重启,权限恢复

macOS 特有注意事项

从 2026.3.8 起,macOS 版本修复了一个重要问题:openclaw update 在 LaunchAgent 服务被禁用的状态下会卡住重启步骤。如果你的 Gateway 在更新后无法自动重启,请手动执行:

bash 复制代码
# 重新启用被禁用的 LaunchAgent 服务
launchctl enable gui/$(id -u)/ai.openclaw.gateway

# 然后正常重启
openclaw gateway restart

此外,2026.3.8 还修复了 macOS 从 System Settings 返回后权限状态不刷新的问题,升级后无需额外操作。


三、Windows 恢复步骤

第一步:找到配置文件

OpenClaw 在 Windows 上的配置文件路径与 macOS/Linux 一致,同样使用用户主目录下的隐藏目录:

bash 复制代码
    %USERPROFILE%\.openclaw\openclaw.json

按下 Win + R,在运行框中输入以下路径并回车,即可直接跳转:

bash 复制代码
    %USERPROFILE%\.openclaw\

实际完整路径通常为:

bash 复制代码
    C:\Users\<你的用户名>\.openclaw\openclaw.json

第二步:备份原始配置

在命令提示符或 PowerShell 中执行备份:

powershell 复制代码
Copy-Item "$env:USERPROFILE\.openclaw\openclaw.json" `
          "$env:USERPROFILE\.openclaw\openclaw.json.bak"

第三步:打开配置文件进行编辑

方式一:资源管理器右键

openclaw.json 文件上右键,选择"用记事本打开"或"用 VS Code 打开"。

方式二:PowerShell 命令打开

Win + X,选择"Windows PowerShell(管理员)",执行:

powershell 复制代码
# 用记事本打开
notepad "$env:USERPROFILE\.openclaw\openclaw.json"

# 或用 VS Code(需已安装)
code "$env:USERPROFILE\.openclaw\openclaw.json"

注意事项:

  • 保存时确认编码为 UTF-8,不要选择"UTF-8 with BOM",否则 Gateway 解析时可能报错
  • 不要使用 Word 或 WPS 打开 .json 文件,这类软件会插入不可见的格式字符,破坏 JSON 结构
  • JSON 格式严格,修改后可用 JSONLint 验证格式是否合法

第四步:修改配置内容

与 macOS 相同,找到 tools 部分并修改:

json 复制代码
{
  "tools": {
    "profile": "coding"
  },
  "acp": {
    "dispatch": {
      "enabled": false
    }
  }
}

第五步:验证配置并重启 Gateway

在 PowerShell 中执行:

powershell 复制代码
# 验证配置
openclaw config validate

# 重启 Gateway
openclaw gateway restart

也可以在系统托盘找到 OpenClaw 图标,右键选择 "Restart Gateway"。

Windows 操作时序图

sequenceDiagram participant U as 用户 participant E as 资源管理器 participant N as 记事本 / VS Code participant P as PowerShell participant G as Gateway U->>E: Win+R 输入 %USERPROFILE%\.openclaw E-->>U: 定位到 .openclaw 目录 U->>P: Copy-Item openclaw.json openclaw.json.bak P-->>U: 备份完成 U->>N: 右键打开 openclaw.json N-->>U: 编辑器打开配置文件 U->>N: Ctrl+S 保存(确认 UTF-8 编码) U->>P: openclaw config validate P-->>U: 配置验证通过 U->>G: openclaw gateway restart G-->>U: Gateway 重启,权限恢复

四、完整配置参考

以下是一份完整的、还原旧版权限行为的最小配置示例,涵盖 2026.3.2 和 2026.3.8 中的相关配置项:

json 复制代码
{
  "tools": {
    "profile": "coding+system"
  },
  "acp": {
    "dispatch": {
      "enabled": false
    },
    "provenance": "off"
  },
  "skills": {
    "download": {
      "pinnedToolsRoot": true
    }
  }
}

如果只需恢复编码工具,coding 已经足够,不必使用 coding+systemcoding+system 适合需要完整还原 2026.3.1 之前默认行为的场景。


五、验证是否恢复成功

重启 Gateway 后,通过以下命令确认工具权限已经恢复:

bash 复制代码
# 验证配置文件并输出 JSON 格式详情
openclaw config validate --json

# 列出当前可用工具(应包含编码类工具)
openclaw tools list

# 查看版本及 commit 信息(2026.3.8 新增 commit hash 输出)
openclaw --version

修复前后状态对比

flowchart LR subgraph 修复前 A1[tools.profile = messaging] A2[编码工具不可用] A3[系统工具不可用] end subgraph 修复后 B1[tools.profile = coding] B2[编码工具可用] B3[消息工具可用] end A1 -->|修改配置并重启| B1

六、2026.3.8 新增安全问题与处置

2026.3.8 在安全方面有多项重要修复,部分问题若不处理可能导致权限绕过或路径注入。以下为需要关注的安全问题及对应的处置方法。

6.1 Skills 下载路径固定(重要)

问题描述: Skills 的下载安装流程在验证 per-skill 工具根目录(tools root)之前,未能在写入操作前固定路径绑定。攻击者若能在下载过程中重绑定 tools 的词法路径,可将下载内容写入预期目录之外的位置。

修复版本: 2026.3.8 修复内容: 下载归档写入前,现在会先固定已验证的 per-skill tools root,路径重绑定操作将被拦截并拒绝。

建议操作: 升级至 2026.3.8 即自动获得修复,无需额外配置。如果你在受限环境中管理 Skills 安装,建议在配置中显式声明:

json 复制代码
{
  "skills": {
    "download": {
      "pinnedToolsRoot": true
    }
  }
}

6.2 system.run 脚本重写攻击防护

问题描述: system.run 工具在用户批准某个脚本后,未将脚本内容锁定到磁盘快照。若脚本文件在批准之后、执行之前被修改(TOCTOU 攻击),修改后的内容仍会被执行。

修复版本: 2026.3.8 修复内容: 批准的 bundeno run 脚本的操作数现在会被绑定到磁盘快照,批准后对脚本文件的任何修改都将被拒绝执行。

影响场景: 在多用户环境或共享工作区中,若脚本文件可被其他用户写入,此漏洞的风险较高。

建议操作: 升级至 2026.3.8,同时检查 system.run 相关脚本的文件权限,确保脚本文件仅由可信用户持有写入权限。


6.3 Browser / SSRF 防护增强

问题描述: 在 strict 浏览器导航模式下,私有网络中间重定向跳转未被拦截。攻击者可构造一个外部 URL 经由中间跳转进入私有网络地址,绕过 SSRF 防护。当远程 tab-open 路径无法检查重定向链时,旧版本采用"开放失败"(fail open)策略。

修复版本: 2026.3.8 修复内容: 严格导航流程现在会拦截私有网络的中间重定向跳转,并在无法检查重定向链时采用"关闭失败"(fail closed)策略。

建议操作: 若你使用 Browser/CDP 工具并启用了 strict 模式,升级至 2026.3.8 后行为会更保守------某些经过中间跳转的 URL 可能被拦截。如遇误拦截,需检查目标 URL 的重定向链是否经过私有网络地址。


6.4 MS Teams 群组权限扩散修复

问题描述: 当同时配置了 groupPolicy: "allowlist" 和 team/channel 路由 allowlist 时,路由匹配成功会绕过群组级别的发送者 allowlist 检查,导致该路由下所有发送者都能获得访问权限。

修复版本: 2026.3.8 修复内容: groupPolicy: "allowlist" 现在在路由匹配后仍强制执行发送者 allowlist 校验,路由匹配不再隐式放宽群组访问控制。

影响范围: 使用 MS Teams 集成并同时配置了 groupPolicy 和路由 allowlist 的部署。

建议操作: 升级后检查 MS Teams 的 allowlist 配置是否仍符合预期,确认没有因旧版行为依赖而产生的访问控制缺口。


6.5 安全问题汇总与风险等级

flowchart TD S[2026.3.8 安全修复] S --> A[Skills 路径固定
防止下载写出边界] S --> B[system.run 脚本快照
防止 TOCTOU 攻击] S --> C[Browser SSRF 加固
私有网络重定向拦截] S --> D[MS Teams allowlist
路由匹配不绕过群组权限] A --> A1[风险等级: 中
影响: Skills 安装流程] B --> B1[风险等级: 高
影响: 多用户共享工作区] C --> C1[风险等级: 高
影响: 使用 strict 模式的浏览器集成] D --> D1[风险等级: 中
影响: MS Teams 群组访问控制]
安全修复项 风险等级 是否需要额外配置 主要影响场景
Skills 路径固定 否(升级自动修复) 使用 Skills 下载功能的部署
system.run 脚本快照 否(升级自动修复) 多用户环境、共享工作区
Browser SSRF 加固 否(行为变更需验证) strict 模式浏览器导航
MS Teams allowlist 建议重新审查配置 MS Teams 群组集成

七、常见问题 FAQ

Q:我是老用户升级,也受影响吗? A:如果你没有重置配置,旧配置会保留,tools.profile 维持原值,工具权限基本不变。但建议检查 acp.dispatch.enabled 是否因默认值改变而影响了你的 ACP 业务流程。

Q:openclaw config validate 报错怎么办? A:检查 JSON 格式是否正确,常见错误是末尾多了逗号(trailing comma)或引号不匹配。可以将配置内容粘贴到 JSONLint 进行在线格式验证,根据错误提示修正对应行。

Q:修改后 Gateway 无法启动怎么办? A:运行 openclaw config validate --json 查看详细错误路径。若错误提示为 invalid-config,根据 JSON 中的 path 字段定位到具体配置项进行修正。2026.3.8 还修复了无效配置导致 Gateway 进程崩溃的问题,升级后此类情况会转为错误提示而非崩溃。

Q:coding+system 和旧版默认完全一样吗? A:是的,coding+system 包含旧版默认开放的全部工具集,等效于 2026.3.1 及更早版本的宽权限状态。

Q:2026.3.8 的安全修复是否会破坏现有的 Skills 使用? A:对正常使用不影响。Skills 路径固定修复仅拦截在下载过程中发生的异常路径重绑定行为,正常的 Skills 安装流程不受影响。

Q:升级至 2026.3.8 后 Browser strict 模式下有些 URL 无法访问,怎么处理? A:这是 SSRF 加固的预期行为变更。检查该 URL 的重定向链,如果中间经过了私有网络地址(如 192.168.x.x10.x.x.x127.x.x.x),这条访问路径会被拦截。需要调整目标服务的重定向配置,避免经过私有网络跳转。

Q:如何确认当前运行的版本是否包含 2026.3.8 的安全修复? A:运行 openclaw --version,2026.3.8 起会在版本号后附加短 commit hash(例如 2026.3.8+3caab92),可以据此确认构建版本。


参考来源:OpenClaw 2026.3.2 Release Notes、OpenClaw 2026.3.8 Release Notes 官方文档:docs.openclaw.ai Releases v2026.3.6文档:github.com/openclaw/op... Releases v2026.3.8文档:github.com/openclaw/op...

相关推荐
左右用AI2 小时前
将openclaw接入飞书:10分钟,让你的AI员工直接操作你的文档和表格!
人工智能
新智元2 小时前
OpenClaw 燃爆魔都!千亿赛道遇上龙虾局,来现场剥虾写代码
openai
量子位2 小时前
卡帕西开源Agent自进化训练框架,5分钟一轮实验,48h内揽星9.5k
aigc·agent
Flittly3 小时前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(5)Skills (技能加载)
python·agent
shuaicoding3 小时前
OpenClaw 完全指南:让你的 AI 助手真正『长』在浏览器里
人工智能
刀法如飞3 小时前
AI时代,程序员都应该是算法思想工程师
人工智能·设计模式·程序员
理想小青年3 小时前
OpenClaw网络搜索Tavily Search Skill 安装教程
人工智能
架构技术专栏3 小时前
OpenClaw 个人 AI 助手本地部署与配置权威指南
aigc·openai·ai编程
yangpow24 小时前
深度解析 OpenClaw:一个自托管 AI Agent 网关的架构设计与安全机制
人工智能