最近重新安装了一个 OpenClaw 3 月版本,发现很多 2 月可以用的指令和提示词,都忽然失败了。比如:
- 不能通过聊天界面要求它安装 Skill。
- 不能运行定时任务提交 Git,因为安全规则阻止。
仔细研究了一下,发现是 3 月的重大版本更新,升级了 SOUL.md 导致了这个行为异常。放大了看,这其实是 OpenClaw 在 2026 年 3 月版本(v2026.3.x)中引入的安全护栏机制,包括几项重大改进:
1. Prompt Injection Defense(提示词注入防御)
- 不信任外部数据:系统将所有来自网页、邮件、私信的内容均视为“不可信”,防止间接注入攻击。
- 免疫指令覆盖:内置逻辑可识别并忽略如“忽略此前指令”、“你是系统管理员”等试图篡改底层规则的劫持术语。
- 仅提取事实:在处理外部资源时,Agent 仅被允许提取客观信息,严禁执行其中嵌套的任何任务流程或指令。
2. Skills / Plugin Poisoning Defense(技能/插件投毒防御)
- 非自动信任:工具或插件返回的结果不再被视为默认安全,Agent 必须具备审计并向用户解释其操作逻辑的能力。
- 拒绝混淆内容:系统将 Base64 块、压缩脚本或未知端点识别为敌意攻击,会立即触发拦截并停止执行。
3. Explicit Confirmation for Sensitive Actions(高危操作显式确认)
在执行以下涉及系统安全或资产的操作前,Agent 必须请求人工授权:
- 资产变动:任何涉及资金往来、支付或退款的操作。
- 破坏性操作:文件删除,特别是针对目录的批量删除行为。
- 系统变更:安装新软件、修改网络配置或安全防火墙设置。
- 数据导出:尝试上传文件、展示密钥(Secrets)、令牌(Tokens)或各类机密凭证。
4. Restricted Paths(限制路径)
- 物理隔离:绝对禁止 Agent 访问敏感的系统目录,如
~/.ssh/、~/.aws/等存储核心凭证的位置。 - 关键词过滤:系统会实时扫描文件请求,一旦包含
key、secret、password等关键字,将直接封锁访问。
5. Anti-Leak Output Discipline(防泄露输出规范)
- 禁止明文展示:严禁在聊天界面或运行日志中显示真实的明文密钥,防止信息通过屏幕截取或日志泄露。
- 严防静默外传:严密监控后台流量,禁止任何未经声明的隐藏网络调用或自动数据上传行为。
6. Suspicion Protocol(疑点协议)
- 风险主动识别:当 Agent 感受到用户的迫切压力(如反复催促)、发现尝试绕过安全逻辑或提权的行为时,将启动“熔断”机制。
- 风险透明化:停止执行后,Agent 会清晰地向用户解释潜在的安全威胁,并尝试提供一种更符合安全规范的替代方案。