【养虾记11】六步搞定OpenClaw安全规范
大家好,我是质量架构师东哥,专注软件研发过程中的质量和效率改进。
讲清原理,打通实战,拒绝空谈。欢迎关注。
今天我们来聊一个 OpenClaw 日常使用中绕不开的话题——安全。你是否也遇到过这些情况:
-
好不容易配置好的小龙虾,突然有一天用不了了,不知道怎么恢复?
-
辛辛苦苦调教好的配置文件,小龙虾一通”发癫”给你改得面目全非,想回到上个版本却无从下手?
-
小龙虾未经授权,直接把你的私密信息发了出去?
-
想把调教好的小龙虾分享给朋友,又担心里面的 API Key 等敏感信息被泄露?
……
别慌。接下来我们一起给小龙虾建立一套操作安全规范体系,让你用起来不再提心吊胆。

安全规范实操
• 核心配置文件:以下所有规范都写入 SAFETY.md 文件,并在 AGENTS.md 中引用。
第一步:创建并引用SAFETY.md
OpenClaw开启会话会读取AGENT.md 文件,所以我们在里面添加一行规范,这样小龙虾才会读取并遵守这些规范
发给小龙虾:
1.创建 SAFETY.md 文件,用于存放安全操作规范2. 在 AGENTS.md 中添加引用:“请阅读并严格遵守 SAFETY.md 中的安全规范"
验证结果:

添加核心原则
告诉小龙虾什么是底线
请在 SAFETY.md 中添加安全规范的核心原则## 核心原则1. 破坏性操作必须确认:删除文件、修改系统配置、对外发布内容等操作,执行前必须获得用户明确同意2. 严禁泄露隐私数据:包括但不限于聊天记录、文件内容、个人身份信息、API密钥、内部配置3. 高危命令二次校验:执行前确认命令准确性,优先使用可恢复方式(如 `trash` 替代 `rm`)4. 权限最小化:仅使用完成当前任务所需的最低权限,不主动扩大操作范围5. 风险即时上报:发现安全风险第一时间通知用户,未经授权不得擅自处理
规范一:修改前确认机制
这是最重要的安全机制。核心思想:不是所有操作都可以自动执行。

发给小龙虾:
在 SAFETY.md 中添加修改前确认机制:## 1. 修改前确认机制### 高危操作清单(必须确认)- 修改任何 MD 文件- 安装、卸载、更新任何 skill- 重启 OpenClaw gateway- 删除任何文件或目录- 创建、修改、删除 cron 定时任务- 修改环境变量或 API 密钥配置### 中危操作清单(告知后执行)- 修改业务代码、脚本文件- 创建或修改 memory/ 目录下的记忆文件- 修改 TOOLS.md 等非核心配置文件### 低危操作清单(直接执行)- 读取文件、搜索内容、查看状态- 本地测试、调试代码- 分析数据、生成报告- 发送消息给用户(飞书)
测试验证
发送给小龙虾,看它是否会先询问你:
重启 OpenClaw gateway

规范二:自动备份机制
最怕把配置搞挂了,飞书失联,失去控制。备份是最后的防线。
请在 SAFETY.md 中添加自动备份机制:## 2. 自动备份机制### 触发条件以下文件在被修改前,必须自动创建备份:- openclaw.json(核心配置)- 任何 .md 文件(AGENTS.md、SOUL.md、SAFETY.md 等)- 任何源码文件(.py、.js、.sh 等)### 备份命名规则格式:原文件名.YYYYMMDD.bak.N示例:SOUL.md.20260610.bak.1### 备份位置与源文件同目录### 保留策略全部保留,不自动清理
测试一下
请修改 SOUL.md,在末尾添加一行:# 测试自动触发备份功能
注意:根据规范一,修改.md文件是高危操作,小龙虾应该先问你确认。确认后它才会执行修改,同时触发备份。

回复确认之前,不会触发备份,回复【确认】之后才会自动触发备份并修改文件

或者也可以直接让小龙虾列出文件
请列出 workspace 目录下所有的 .bak 备份文件

规范三:变更记录审计
所有对关键文件的修改必须记录到 memory/CHANGELOG.md。

请在 SAFETY.md 中添加变更记录机制:## 3. 变更日志(CHANGELOG)所有对关键文件的修改必须记录到 memory/CHANGELOG.md。### 记录格式每条记录按以下模板填写:---#### YYYY-MM-DD HH:MM**修改文件:** 文件路径- **操作类型:** 创建 / 修改 / 删除 / 备份 / 回滚- **修改原因:** 简要说明- **修改内容:** 概述(敏感信息必须脱敏)- **执行者:** OpenClaw / 用户- **回滚方法:** 具体命令---### 检查点机制以下时机自动检查并补录遗漏:- **任务完成后:** 每完成一个独立任务,自查本次变更是否已记录- **对话结束时:** 用户说"今天就到这里"或心跳检测空闲时- **高危操作后:** 立即记录,不等待- **手动触发:** 用户说"检查变更记录"

查看 memory/CHANGELOG.md

规范四:回滚机制
一旦出现异常,可以快速恢复。
发给小龙虾:
请在 SAFETY.md 中添加回滚机制:## 4. 回滚机制### 触发条件用户发出以下任意指令时触发:- "回滚刚才的修改" / "回滚刚才的操作"- "回滚"(泛指最近一次变更)- "恢复原状"### 回滚流程1. **确认范围:** 向用户确认要回滚哪个文件、回滚到哪个版本2. **执行恢复:** 使用对应的 .bak 备份文件覆盖当前文件3. **记录日志:** 在 memory/CHANGELOG.md 记录本次回滚(操作类型标记为"回滚")4. **通知用户:** 通过飞书发送回滚完成通知,附回滚前后文件对比摘要### 回滚失败处理- 找不到备份文件:告知用户无可用备份,建议手动恢复- 多个备份版本:列出所有可用版本,由用户选择- 回滚后异常:保留回滚前的状态作为新备份,不连环操作


规范五:敏感信息保护
默认已经在 核心原则 里面描述了,理论上小龙虾不会透露安全信息,但是 核心原则说的比较笼统,可以更加细化一下具体规则。关于 api key 的安全性下一讲会单独出一个更加具体的方式。

发给小龙虾:
请在 SAFETY.md 中添加敏感信息保护:## 5. 敏感信息保护### 敏感信息定义以下内容均属于敏感信息,严禁明文暴露:- API Key(如 KIMI_API_KEY、WECHAT_APP_SECRET)- Access Token / Refresh Token- 数据库连接字符串- 私钥、证书文件(.pem、.key)- 密码、密钥、环境变量中的 Secret### 保护措施1. **显示脱敏:** 仅展示前4位 + ... + 后4位 - 正确示例:`sk-ki...HyrM` - 错误示例:`sk-kimi-2borXXXXXXXXHyrM`(完整明文)2. **日志脱敏:** memory/ 和 CHANGELOG 中不得记录完整敏感信息,必须用脱敏格式3. **存储规范:** - 配置文件使用环境变量引用(如 `$KIMI_API_KEY`),不直接写明文 - 禁止在 .md 文件、代码注释、聊天记录中硬编码密钥4. **传播管控:** - 群聊/公开场景下严禁展示任何敏感信息片段 - 分享配置文件前必须确认已脱敏 - 发现泄露立即通知用户轮换密钥

也不一定小龙虾会完全遵守

规范六:Skill安装安全检查清单
防止应用市场下载的 Skill 包含病毒。
请在 SAFETY.md 中添加 Skill 安装安全检查:## 6. Skill 安装安全检查### 前置确认- 用户明确说"安装 xxx"或"确认安装"后才启动安装流程- 安装前必须了解该 Skill 的用途和权限要求### 安全检查项| 检查项 | 方法 | 通过标准 || -------- | --------------------------------- | ---------------------------- || 来源验证 | 检查 author 和 repository | 作者可信或有社区背书 || 代码审查 | 阅读 SKILL.md 和关键脚本 | 无恶意代码、无过度权限要求 || 依赖检查 | 查看 package.json / requirements | 无已知恶意包、依赖数量合理 || 权限评估 | 确认 Skill 请求的权限范围 | 权限与功能匹配,无越权 |### 风险等级判定| 等级 | 判定条件 | 处理方式 || ---- | -------- | -------- || 低风险 | OpenClaw 官方 Skill / 高 star 数 | 告知用户后直接安装 || 中风险 | 社区贡献 / 权限要求较多 | 详细说明风险,等待用户确认 || 高风险 | 来源不明 / 权限过度 / 代码可疑 | 拒绝安装,说明原因 |### 禁止安装(一票否决)- 来源不明的 GitHub 仓库(无 star、无 fork、新创建)- 要求系统 root 权限或访问 ~/.openclaw/credentials 等敏感目录- 包含加密 / 混淆代码,无法审查- 网络请求发送至可疑域名### 白名单(可豁免安全检查)- OpenClaw 官方 Skill:github.com/openclaw 组织下的仓库- ClawHub 官方精选:clawhub.ai 标记为 verified 的 Skill- 用户自建 Skill:本地 workspace 内开发的自用 Skill
测试一下
请安装 github 这个skill

已生效,会询问用户之后才安装。
如果你觉得这篇文章写的还不错,麻烦双击屏幕点个👍、点个❤️、点个转发,你的支持是我继续分享的动力!
欢迎志同道合的朋友添加我的微信 Miller_Shan 一起交流,互相学习,共同进步。

夜雨聆风