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

作者:吴佳浩

撰稿时间:2026-3-9

测试版本:OpenClaw 2026.3.2 — 2026.3.8


目录

  1. 问题根因分析
  2. macOS 恢复步骤
  3. Windows 恢复步骤
  4. 完整配置参考
  5. 验证是否恢复成功
  6. 2026.3.8 新增安全问题
  7. 常见问题 FAQ

一、问题根因分析

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

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

配置项旧版默认值2026.3.2 新默认值实际影响
tools.profilecoding / systemmessaging编码与系统工具默认关闭
acp.dispatch.enabledfalsetrueACP 路由在未显式配置时自动启用

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

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

1.2 权限变更逻辑总览

flowchart TD
    A[用户升级至 2026.3.2] --> B{是否为新安装<br/>或重置了配置?}
    B -- 是 --> C[tools.profile 默认为 messaging]
    B -- 否 --> D[保留旧有配置<br/>工具权限基本不变]
    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 上的配置文件默认路径为:

    ~/.openclaw/openclaw.json

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

    ~/.openclaw/

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

ls ~/.openclaw/

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


第二步:备份原始配置

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

cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak

第三步:用终端编辑配置

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

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

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

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

第四步:修改配置内容

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

{
  "tools": {
    "profile": "coding"
  },
  "acp": {
    "dispatch": {
      "enabled": false
    }
  }
}

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

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

    openclaw gateway restart

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

    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 在更新后无法自动重启,请手动执行:

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

# 然后正常重启
openclaw gateway restart

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


三、Windows 恢复步骤

第一步:找到配置文件

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

    %USERPROFILE%.openclawopenclaw.json

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

    %USERPROFILE%.openclaw

实际完整路径通常为:

    C:Users<你的用户名>.openclawopenclaw.json

第二步:备份原始配置

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

Copy-Item "$env:USERPROFILE.openclawopenclaw.json" `
          "$env:USERPROFILE.openclawopenclaw.json.bak"

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

方式一:资源管理器右键

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

方式二:PowerShell 命令打开

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

# 用记事本打开
notepad "$env:USERPROFILE.openclawopenclaw.json"

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

第四步:修改配置内容

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

{
  "tools": {
    "profile": "coding"
  },
  "acp": {
    "dispatch": {
      "enabled": false
    }
  }
}

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

在 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 中的相关配置项:

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

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


五、验证是否恢复成功

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

# 验证配置文件并输出 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 安装,建议在配置中显式声明:

{
  "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 路径固定<br/>防止下载写出边界]
    S --> B[system.run 脚本快照<br/>防止 TOCTOU 攻击]
    S --> C[Browser SSRF 加固<br/>私有网络重定向拦截]
    S --> D[MS Teams allowlist<br/>路由匹配不绕过群组权限]

    A --> A1[风险等级: 中<br/>影响: Skills 安装流程]
    B --> B1[风险等级: 高<br/>影响: 多用户共享工作区]
    C --> C1[风险等级: 高<br/>影响: 使用 strict 模式的浏览器集成]
    D --> D1[风险等级: 中<br/>影响: 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),可以据此确认构建版本。


本站提供的所有下载资源均来自互联网,仅提供学习交流使用,版权归原作者所有。如需商业使用,请联系原作者获得授权。 如您发现有涉嫌侵权的内容,请联系我们 邮箱:alixiixcom@163.com