乐于分享
好东西不私藏

OpenClaw 安全防护指南:3 个 Skill + 4 个底层原则

OpenClaw 安全防护指南:3 个 Skill + 4 个底层原则

OpenClaw的安全性问题一直很严重。

一旦安装了带有高权限的 skill,或者被 prompt 注入操控,有可能本地文件、API Key、账号信息在你完全无感的情况下被读取甚至外传。当前 OpenClaw 的 skill 生态是开放的,缺乏强审核机制,也已经出现过恶意 skill 混入、伪装工具链的情况。大多数人是在“高权限 + 不可信插件”的环境下使用。我来为大家介绍 3 个有价值的安全类 skill,帮你在不增加太多复杂度的前提下,把 OpenClaw 的风险降到一个可控范围。

  • • skill-vetter
  • • skillvet
  • • hex-vetter

skill-vetter(用于基础审查)

功能:

skill-vetter 解决的是“你安装的 skill 本身是否存在风险”。它主要用于检测恶意代码、异常网络请求、越权访问以及 exec / eval 等高风险行为。本质上属于供应链防御的第一道防线,其核心作用是帮助用户在安装 skill 之前做一次基础安全筛查。

安装方法

clawhub install skill-vetter

使用方法

在安装某个 skill 前,通过自然语言触发:

请用 skill-vetter 审查这个 skill 是否安全

执行流程包括:检查来源、扫描代码、分析权限、输出风险等级。它不执行代码,仅做分析,并输出结构化结果。

skillvet(强化版扫描)

功能:

skillvet 解决的是 skill-vetter 检测深度不够的问题,属于“安全工程级扫描器”。它扩展了检测能力,包括 prompt injection、代码混淆(obfuscation)、homograph 攻击以及已知攻击特征库匹配。相比 skill-vetter,它更激进、更严格,并支持自动拒绝高风险 skill。

使用方法

安全安装(推荐):

bash skills/skillvet/scripts/safe-install.sh <skill>

审计单个 skill:

批量扫描:

为什么 skillvet 像脚本而不是典型 skill

skillvet 并不是一个纯对话型 skill,而是一个“工具型 skill”。它本质是脚本 + CLI,而不是依赖 LLM 的自然语言分析。设计原因:

  1. 1. 避免被 prompt injection 污染
  2. 2. 保证扫描结果是确定性的,而不是概率性的
  3. 3. 支持 CI / 自动化批量扫描

如果让 OpenClaw 调用 skillvet 进行审计,会带来两个问题:

  • • 扫描过程可能被 LLM 污染
  • • 结果变成不稳定的概率判断因此它刻意“绕开 AI”,直接用 bash 执行。

hex-vetter(深度检测)

功能:

hex-vetter 解决的是“隐藏攻击”问题,即那些通过编码或混淆手段规避检测的恶意代码。例如 base64 payload、hex 编码 shell、字符串拼接等。它属于对抗层检测,用于补充 skill-vetter 的盲区。

安装方法

使用方法:作为二次扫描工具,在安装后使用:

请用 hex-vetter 深度扫描这个 skill

适用于不完全信任来源的 skill,重点检测 encoded payload、binary 片段和混淆命令链。

三个 Skill 的关系与对比

分工总结

  • • skill-vetter:语义层扫描(看起来是否可疑)
  • • skillvet:规则级扫描(确定性安全工程)
  • • hex-vetter:编码层扫描(检测隐藏攻击)

典型差异示例

差异:

  • • skill-vetter:可能识别为 eval 行为,标记为中等风险
  • • hex-vetter:能解码出 “rm -rf /”,直接标记为高危

这个例子体现了两者的本质区别:

  • • skill-vetter:判断“像不像恶意代码”
  • • hex-vetter:判断“是否隐藏了真实攻击”

但我依然想要强调,这些Skills可以降低风险,但不能保证安全。

真正的安全边界应该是:

  1. 1. 最小权限原则(不要给 agent 全盘权限)
  2. 2. 不信任任何第三方 skill
  3. 3. 敏感目录隔离(API Key、SSH)
  4. 4. 使用容器或沙箱运行 agent