乐于分享
好东西不私藏

OpenClaw中的protected paths

OpenClaw中的protected paths

在 OpenClaw 中,protected paths(受保护路径) 是一个非常关键的安全机制,本质上是为了防止 AI 或自动化工具“误操作”或“越权访问”敏感文件。


一、什么是 protected paths?

简单说:

protected paths = AI 被明确禁止读 / 写 / 修改的目录或文件路径

它的作用类似于“沙箱中的黑名单”。


二、为什么需要它?

在 OpenClaw 这种具备文件操作能力的 AI Agent中,如果不加限制,会出现严重风险,比如:

  • ❌ 删除系统关键文件(如 /etcC:\Windows

  • ❌ 读取隐私数据(如 SSH key、数据库凭证)

  • ❌ 覆盖项目核心代码

  • ❌ 修改依赖或执行恶意脚本

所以需要:

👉 人为设定一组“绝对不能碰”的路径


三、典型 protected paths 示例

不同系统会有不同配置,一般包括:

1️⃣ 系统级目录

  • Linux:

    • /etc

    • /bin

    • /usr

  • Windows:

    • C:\Windows

    • C:\Program Files

2️⃣ 用户敏感目录

  • ~/.ssh

  • ~/.gnupg

  • ~/.aws

  • .env 文件(环境变量)

3️⃣ OpenClaw 自身目录

  • .openclaw/

  • agent 配置文件

  • 插件运行目录


四、在 OpenClaw 中的作用机制

OpenClaw 在执行工具(如 CLI / 文件操作)时,会:

1️⃣ 拦截路径访问

如果 AI 尝试访问:

/etc/passwd

👉 系统会直接拒绝


2️⃣ 权限检查逻辑(简化)

if path in protected_paths:
    deny()

3️⃣ 与 workspace 的关系

OpenClaw 通常只允许操作:

✅ 当前工作目录(workspace)

而 protected paths 是:

❌ workspace 外 + 敏感路径 = 禁止


五、和 sandbox(沙箱)的区别

很多人会混淆:

概念
作用
sandbox
限制运行环境
protected paths
限制文件访问

👉 可以理解为:

sandbox 是“空间限制”,protected paths 是“禁区标记”


六、实际开发中的配置方式

通常你会在配置文件中看到类似:

protected_paths:
  - /etc
  - /usr
  - ~/.ssh
  - .env

或者在 CLI / agent config 中定义。


七、一个关键理解(很重要)

你可以把它抽象成:

protected paths = AI 的“不可触碰边界条件”

在你做 AI Agent 系统(比如你未来做医疗 AI 自动化)时,这个概念非常重要:

  • 医疗数据目录 👉 必须保护

  • 模型权重 👉 只读

  • 日志 👉 可写但不可删


八、进阶:设计思想(你可能会感兴趣)

从系统设计角度,它对应:

  • ✅ 最小权限原则(Principle of Least Privilege)

  • ✅ 安全隔离(Isolation)

  • ✅ 可控执行(Controllable Execution)


如果你想更深入

我可以帮你进一步拆解:

  • OpenClaw 的 workspace / tools / CLI 权限模型

  • protected paths + allowlist(白名单)组合机制

  • 或者:如何设计一个“安全的医疗AI Agent系统”

直接说你想往哪一层深挖。