小龙虾养成日记:“虾”路相逢之Openclaw九大安全防护策略

0 阅读14分钟

脱缰的小龙虾危害有多大你知道么?OpenClaw 全能自动、越用越聪明,能自主读写文件、帮你高效完成任务。可没人告诉你,无防护运行的它,分分钟误删你电脑全部文件!踩过坑才明白,不做任何权限限制的本地 AI,隐患远比你想象的恐怖

大家好,我是寒山。

不管你是刚装好 OpenClaw 的新手,还是已经深度使用的老玩家,今天这条视频,直接给你全套保姆级安全防护方案九大安全策略一次性全部讲透

🚨 安全预警

想象一下这个场景:

  • 你让OpenClaw帮你整理文件,它却把整个文档目录清空了
  • 你让它测试代码,它却修改了系统配置文件
  • 你让它批量处理数据,它却误删了重要项目文件

这些不是危言耸听,而是真实可能发生的风险。AI的指令理解一旦出现偏差,后果不堪设想

📁 策略1:工作区安全配置——从源头划定安全边界

📚 原理介绍

OpenClaw运行时会涉及文件读取、写入、修改等操作,若直接在系统目录重要目录运行,一旦AI指令出现歧义,极易误删系统文件、个人文档等核心数据

工作区安全配置是最基础的防护措施:

  1. 创建专用工作目录,为OpenClaw划定专属“活动虾池”
  2. 锁定默认工作区,强制AI始终在安全范围内活动

这相当于给小龙虾搭建一个有固定围栏的虾池,既划定了活动范围,又防止它跳出池外。

🔧 完整操作流程

步骤1:创建专用工作目录

  1. 创建目录:打开终端,输入命令创建独立的工作目录(确保不与系统核心目录重叠):

    mkdir -p ~/OpenClaw_Safe_Workspace  # 创建专属安全工作目录
    
  2. 加固权限:设置为仅当前用户可访问、读写、执行,防止其他程序或用户误操作:

    chmod 700 ~/OpenClaw_Safe_Workspace  # 仅当前用户拥有该目录的全部权限
    

步骤2:锁定默认工作区

  1. 找到配置文件:OpenClaw的核心配置文件路径为:~/.openclaw/openclaw.json(若没有该文件,启动一次OpenClaw即可自动生成)。

  2. 编辑配置文件:用文本编辑器(如TextEdit、VSCode)打开该文件,添加默认工作区配置:

    {
      "agents": {
        "defaults": {
          "workspace": "~/OpenClaw_Safe_Workspace"  // 强制指定默认工作区
        }
      }
    }
    
  3. 生效配置:保存配置文件后,重启OpenClaw,配置即可生效,后续启动会自动定位到专用工作区。

或者使用CLI命令更方便:

openclaw config set agents.defaults.workspace "~/OpenClaw_Safe_Workspace"

🛡️ 防护范围

  • 物理隔离:限制OpenClaw所有文件操作(读取、写入、删除、修改)仅在~/OpenClaw_Safe_Workspace目录内进行
  • 软件锁定:强制OpenClaw启动后默认进入专用工作区,禁止AI主动切换到其他目录

🏰 策略2:启用沙箱模式——打造真正的安全隔离

📚 原理介绍

沙箱(Sandbox)是OpenClaw最重要的安全特性之一。它将OpenClaw的执行环境与主机系统完全隔离,即使AI出现误操作,也只会影响沙箱内部,不会波及主机。

沙箱模式有三种:

  • off:关闭沙箱(默认,执行在主机上)⚠️不推荐
  • non-main:非主会话启用沙箱
  • all:所有会话都启用沙箱✨最安全

沙箱后端

  • docker:使用Docker容器隔离✨推荐
  • ssh:通过SSH连接到远程环境
  • openshell:使用OpenShell隔离

🔧 完整操作流程

步骤1:配置沙箱模式

  1. 启用沙箱:编辑~/.openclaw/openclaw.json,添加沙箱配置:
    {
      "agents": {
        "defaults": {
          "sandbox": {
            "mode": "all",  // 所有会话都启用沙箱
            "backend": "docker",  // 使用Docker作为沙箱后端
            "scope": "agent"  // 按agent隔离沙箱
          }
        }
      }
    }
    

或者使用CLI命令:

openclaw config set agents.defaults.sandbox.mode "all"
openclaw config set agents.defaults.sandbox.backend "docker"

步骤2:管理沙箱

  1. 查看沙箱状态

    openclaw sandbox list
    
  2. 重建沙箱(配置变更后):

    openclaw sandbox recreate --all  # 重建所有沙箱
    openclaw sandbox recreate --agent main  # 仅重建main agent的沙箱
    
  3. 查看沙箱配置

    openclaw sandbox explain  # 查看当前生效的沙箱配置
    

🛡️ 防护范围

  • 完全隔离:OpenClaw执行环境与主机系统完全隔离
  • 限制访问:沙箱内只能访问挂载的目录,无法访问主机其他文件
  • 快速恢复:沙箱损坏时可快速重建,不影响主机

🔐 策略3:配置文件权限加固——防止安全设置被篡改

📚 原理介绍

OpenClaw的配置文件(openclaw.json)是安全策略的核心,若该文件被其他程序、用户误修改或恶意篡改,之前设置的默认工作区、沙箱防护等都会失效,导致安全漏洞

加固配置文件权限相当于给“安全手册”加锁,确保安全策略稳定生效

🔧 完整操作流程

步骤1:手动加固权限

  1. 加固配置目录权限:打开终端,先加固配置文件所在目录的权限,仅当前用户可读写执行:

    chmod 700 ~/.openclaw  # 限制配置目录的访问权限
    
  2. 加固配置文件权限:再单独加固配置文件本身的权限,仅当前用户可读写,禁止修改、删除:

    chmod 600 ~/.openclaw/openclaw.json  # 锁定配置文件,防止被篡改
    
  3. 加固敏感文件

    chmod 600 ~/.openclaw/credentials/*.json  # 加固凭证文件
    chmod 600 ~/.openclaw/agents/*/auth-profiles.json  # 加固认证配置
    chmod 600 ~/.openclaw/sessions/*.jsonl  # 加固会话文件
    

步骤2:使用安全审计自动修复

OpenClaw提供了安全审计工具,可以自动检测和修复权限问题:

openclaw security audit --fix  # 检测并自动修复安全问题

🛡️ 防护范围

禁止任何非当前用户(包括其他程序)修改、删除OpenClaw的配置文件;若需修改配置,需手动提升权限,避免误操作或恶意篡改导致安全策略失效。


🔒 策略4:文件系统工具限制——防止越权文件操作

📚 原理介绍

OpenClaw的文件系统工具(fs_readfs_writeapply_patch等)默认可能有较大权限。通过限制这些工具只能在工作区内操作,可以防止AI访问或修改工作区外的重要文件

🔧 完整操作流程

配置工具限制

  1. 限制文件系统工具:编辑配置文件,添加工具限制:
    {
      "tools": {
        "fs": {
          "workspaceOnly": true  // 仅允许在工作区内操作
        },
        "exec": {
          "applyPatch": {
            "workspaceOnly": true  // apply_patch也限制在工作区
          }
        }
      }
    }
    

或者使用CLI命令:

openclaw config set tools.fs.workspaceOnly true
openclaw config set tools.exec.applyPatch.workspaceOnly true

配置工具Profile(深入理解)

📖 什么是工具Profile

工具Profile是OpenClaw提供的一组预设工具权限集合,类似于安全模板,可以快速限制AI能使用的工具范围,从而控制安全风险。

🛠️ 四种Profile详解
const CORE_TOOL_PROFILES: Record<ToolProfileId, ToolProfilePolicy> = {
  minimal: { /* 最安全 */ },
  coding: { /* 编程场景 */ },
  messaging: { /* 消息场景 */ },
  full: {}, /* 无限制 */ };
1️⃣ minimal(最小模式,最安全

仅允许:

  • session_status(会话状态查询)
2️⃣ messaging(消息模式,推荐日常使用

允许工具:

  • sessions_list(会话列表)
  • sessions_history(会话历史)
  • sessions_send(发送消息)
  • session_status(会话状态)
  • message(发送消息)
3️⃣ coding(编程模式,用于开发场景)

包含所有编程需要的工具:

  • 文件操作read, write, edit, apply_patch
  • 执行工具exec, process, code_execution
  • 网络工具web_search, web_fetch, x_search
  • 记忆工具memory_search, memory_get
  • 会话管理:所有sessions相关工具
  • 自动化cron
  • 媒体工具image, image_generate, music_generate, video_generate
  • 其他update_plan
4️⃣ full(完整模式,最危险

无限制,允许所有工具。

🔧 Profile工作原理

每个工具都标注了它属于哪些Profile:

{
  id: "read",           // 读取文件工具
  label: "read",
  description: "Read file contents",
  sectionId: "fs",
  profiles: ["coding"], // 只属于coding profile
}
📋 如何使用

方法1:通过配置文件~/.openclaw/openclaw.json

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

方法2:通过CLI命令

openclaw config set tools.profile "messaging"
🎯 最佳实践建议
场景推荐Profile理由
日常聊天/消息处理messaging够用且安全
编程开发coding功能全面
仅需查看状态minimal最安全
完全信任/测试环境full无限制

🛡️ 防护范围

  • 工作区隔离:文件工具只能操作工作区内的文件
  • 工具限制:可以限制危险工具的使用范围
  • Profile管理:通过预设Profile快速应用安全设置

🔏 策略5:系统级权限管控——拒绝过度授权

📚 原理介绍

Mac系统的“完全磁盘访问权限”相当于给程序开放了整个主机的文件访问权限,很多用户为了方便,会给运行OpenClaw的终端、VS Code等程序授予该权限,这相当于给小龙虾开放了整个池塘风险极高

遵循“最小授权”原则,限制系统级权限,是提升安全性的关键。

🔧 完整操作流程

步骤1:Mac系统权限管理

  1. 打开系统设置:打开Mac“系统设置”,找到“隐私与安全性”,点击左侧“完全磁盘访问权限”。

  2. 移除过度授权:检查右侧列表,若终端(Terminal)、iTerm、VS Code等运行OpenClaw的程序在列表中,点击程序名称,再点击下方“-”号,移除该程序的完全磁盘访问权限(除非有特殊需求,否则一律移除)。

  3. 临时授权管理:若需临时让OpenClaw访问其他目录(如读取文档中的文件),可临时添加程序到列表,完成操作后立即移除,避免长期授权带来的风险。

步骤2:网络暴露限制

  1. 保持Gateway仅绑定本地

    {
      "gateway": {
        "bind": "loopback"  // 仅绑定本地127.0.0.1和::1
      }
    }
    
    openclaw config set gateway.bind "loopback"
    
  2. 启用网关认证

    {
      "gateway": {
        "auth": {
          "mode": "token"  // 使用token认证
        }
      }
    }
    

🛡️ 防护范围

限制运行OpenClaw的程序无法访问主机全部磁盘,仅能访问当前用户可正常访问的普通目录(配合专用工作区,进一步缩小访问范围),杜绝因过度授权导致的全网盘误删风险。


🛡️ 策略6:使用安全审计工具——定期检查安全状态

📚 原理介绍

OpenClaw内置了强大的安全审计工具,可以自动检测配置中的安全问题,并提供修复建议。定期运行安全审计可以及时发现并修复安全漏洞

🔧 完整操作流程

步骤1:运行安全审计

  1. 基础安全审计

    openclaw security audit
    
  2. 深度安全审计(推荐):

    openclaw security audit --deep
    
  3. 自动修复安全问题

    openclaw security audit --fix  # 自动修复可修复的安全问题
    

步骤2:审计检查的内容

安全审计会检查以下方面:

  • 配置文件权限设置
  • 网关网络暴露配置
  • 沙箱模式配置
  • 工具权限配置
  • 群组策略设置
  • Webhook安全配置
  • 凭证管理
  • Docker安全设置
  • 等等

步骤3:JSON输出(用于自动化)

openclaw security audit --json  # 输出JSON格式的审计结果

🛡️ 防护范围

  • 自动检测:自动发现配置中的安全隐患
  • 自动修复:提供一键修复功能
  • 全面覆盖:检查所有关键安全配置项

📦 策略7:工作区定期备份——做好兜底保障

📚 原理介绍

再好的防护也可能出现意外(如AI突破防护、人工确认失误、硬件故障),定期备份专用工作区,相当于给“虾池”准备了“应急储备池”,即使工作区数据被误删或损坏,也能快速恢复

🔧 完整操作流程

步骤1:创建备份脚本

  1. 创建备份脚本:打开终端,创建自动备份脚本,实现每日自动备份:

    # 创建备份脚本文件
    cat > ~/openclaw_backup.sh << 'EOF'
    #!/bin/bash
    BACKUP_DIR=~/OpenClaw_Backups
    DATE=$(date +%Y%m%d)
    mkdir -p $BACKUP_DIR
    
    # 备份工作区
    rsync -av --delete ~/OpenClaw_Safe_Workspace $BACKUP_DIR/$DATE/
    
    # 备份配置
    rsync -av ~/.openclaw $BACKUP_DIR/$DATE/config/
    
    # 删除30天前的备份
    find $BACKUP_DIR -type d -mtime +30 -exec rm -rf {} +
    EOF
    
    # 给脚本添加执行权限
    chmod +x ~/openclaw_backup.sh
    
  2. 设置定时任务:让脚本每日凌晨2点自动执行(避开使用高峰):

    crontab -e
    
  3. 配置定时任务:在弹出的编辑界面中,输入以下内容,保存并退出(按ESC,输入:wq即可保存):

    0 2 * * * ~/openclaw_backup.sh
    

🛡️ 防护范围

每日自动备份专用工作区的所有内容,备份文件保存在~/OpenClaw_Backups目录,按日期命名(如20251001),可保留多个备份版本;若工作区数据丢失,可通过备份目录快速恢复,避免数据永久丢失。


👥 策略8:群组和消息权限管理——防止越权访问

📚 原理介绍

如果你将OpenClaw用于群聊场景,正确配置群组权限非常重要。默认开放的群组策略可能让未授权用户使用危险工具

🔧 完整操作流程

步骤1:配置群组策略

三种群组策略

  • open:允许任何群组最危险
  • disabled:禁用所有群组
  • allowlist:仅允许白名单群组推荐,默认值
  1. 启用白名单模式
{
  "channels": {
    "feishu": {  // 以飞书为例
      "groupPolicy": "allowlist",  // 仅允许白名单群组
      "groupAllowFrom": ["oc_xxx"],  // 群组ID白名单(格式:oc_xxx)
      "groups": {  // 群组配置
        "oc_xxx": {
          "allowFrom": ["ou_user1", "ou_user2"],  // 可选:限制群组内的发送者
          "requireMention": true  // 需要@机器人才能回应
        }
      }
    }
  }
}
  1. 安全审计会自动修复
openclaw security audit --fix  # 会自动将open的群组策略改为allowlist

步骤2:配置DM范围

四种DM会话隔离模式

  • main:所有DM共享一个主会话(默认,有上下文泄露风险
  • per-peer:每个对话者一个独立会话
  • per-channel-peer:每个渠道的每个对话者一个独立会话推荐
  • per-account-channel-peer:每个账户-渠道-对话者一个独立会话多账户场景推荐
  1. 安全的DM配置
{
  "session": {
    "dmScope": "per-channel-peer"  // 每个channel-peer独立会话
  }
}
  1. 安全审计会检查会话隔离
    • 如果 dmScope="main" 且有多个用户,会发出警告
    • 建议使用 per-channel-peerper-account-channel-peer

🛡️ 防护范围

  • 群组白名单:只允许特定群组使用OpenClaw
  • 会话隔离:不同用户的会话相互隔离,防止上下文泄露
  • 权限控制:控制哪些用户可以使用哪些工具
  • 自动修复:安全审计会自动将 groupPolicy="open" 改为 allowlist

🔑 策略9:权限最小化管控——守住安全底线

📚 原理介绍

权限最小化是所有安全防护的核心原则,即给OpenClaw授予“刚好够用”的权限,不需要的权限一律不授予,不需要访问的目录一律不开放。

🔧 完整操作流程

安全配置检查清单

使用安全审计一键检查所有配置:

openclaw security audit --deep  # 深度审计,检查所有安全配置

关键安全配置

{
  "agents": {
    "defaults": {
      "workspace": "~/OpenClaw_Safe_Workspace",
      "sandbox": {
        "mode": "all",  // 所有会话都启用沙箱
        "backend": "docker",  // 使用Docker作为沙箱后端
        "scope": "agent"  // 按agent隔离沙箱
      }
    }
  },
  "tools": {
    "profile": "messaging",  // 使用安全的工具profile
    "fs": {
      "workspaceOnly": true  // 文件工具仅在工作区
    },
    "exec": {
      "applyPatch": {
        "workspaceOnly": true  // apply_patch也限制在工作区
      }
    }
  },
  "session": {
    "dmScope": "per-channel-peer"  // DM会话隔离:每个渠道的每个对话者一个独立会话
  },
  "channels": {
    "feishu": {  // 飞书配置
      "dmPolicy": "pairing",  // DM策略:配对模式
      "groupPolicy": "allowlist",  // 群组策略:仅允许白名单群组
      "groupAllowFrom": ["oc_xxx"],  // 白名单群组ID(格式:oc_xxx)
      "groups": {
        "oc_xxx": {
          "allowFrom": ["ou_user1", "ou_user2"],  // 限制群组内的发送者
          "requireMention": true  // 需要@机器人才能回应
        }
      },
      "requireMention": true  // 默认需要@机器人
    }
  },
  "gateway": {
    "bind": "loopback",  // 仅绑定本地127.0.0.1和::1
    "auth": {
      "mode": "token"  // 使用token认证
    }
  },
  "logging": {
    "redactSensitive": "tools"  // 敏感信息脱敏
  }
}

对应CLI配置命令

# 1. 配置工作区
openclaw config set agents.defaults.workspace "~/OpenClaw_Safe_Workspace"

# 2. 配置沙箱
openclaw config set agents.defaults.sandbox.mode "all"
openclaw config set agents.defaults.sandbox.backend "docker"
openclaw config set agents.defaults.sandbox.scope "agent"

# 3. 配置工具Profile
openclaw config set tools.profile "messaging"

# 4. 配置文件工具限制
openclaw config set tools.fs.workspaceOnly true
openclaw config set tools.exec.applyPatch.workspaceOnly true

# 5. 配置DM会话隔离
openclaw config set session.dmScope "per-channel-peer"

# 6. 配置飞书群组策略
openclaw config set channels.feishu.groupPolicy "allowlist"
openclaw config set channels.feishu.requireMention true

# 7. 配置网关
openclaw config set gateway.bind "loopback"
openclaw config set gateway.auth.mode "token"

# 8. 配置日志脱敏
openclaw config set logging.redactSensitive "tools"

# 9. 运行安全审计修复
openclaw security audit --deep --fix

🛡️ 防护范围

全面覆盖OpenClaw的目录访问、系统授权、AI操作等所有权限场景,通过“最小授权”减少安全漏洞,避免因权限过高导致的误操作、恶意攻击等风险,守住安全底线


🎯 写在最后

用OpenClaw,安全配置到位才能放心

你在使用OpenClaw时,有没有遇到过文件误操作的情况?评论区说说你的避坑经验吧!