Use before installing, trusting, or running any third-party OpenClaw skill, and when the user says "scan this skill", "is this skill safe", "vet/check this skill", "should I install this", "audit my skills", or "clawvet". Also use when reviewing a SKILL.md pulled from ClawHub or an untrusted source.
安全
Skill Vetter
试用OpenClaw 技能自动化审计器 Pro(安全/性能/质量三维度 38 条规则)。基于 spclaudehome v1.0.0 fork 深度升级,新增 JSON 报告、CI 退出码、豁免机制、severity-cap 引擎适配。安装第三方技能前必跑。触发词:vet skill, audit skill, 安全审计, 扫描 skill, skill 检查.
它能做什么
OpenClaw 技能自动化审计器 Pro(安全/性能/质量三维度 38 条规则)。基于 spclaudehome v1.0.0 fork 深度升级,新增 JSON 报告、CI 退出码、豁免机制、severity-cap 引擎适配。安装第三方技能前必跑。触发词:vet skill, audit skill, 安全审计, 扫描 skill, skill 检查.
技能文档
LZ Skill Vetter Pro v2.1.3 🔒🦀
基于 skill-vetter(spclaudehome v1.0.0)的深度升级版。
原作者授权协议下 fork,38 条自动化规则 + 3 层豁免 + CI 集成 + 引擎类技能适配。
自动化 + 人工审计并行的 OpenClaw 技能安全审计器。
When to Use
- 装任何 ClawHub / GitHub / 第三方 skill 之前
- 写完自己的 skill 想发布之前
- 批量体检已装的 100+ skills
- CI 集成(GitHub Actions)
Quick Start
# 1. 文本报告(人类可读)
python3 scripts/audit.py /path/to/skill
# 2. JSON 报告(机器可消费 + CI)
python3 scripts/audit.py /path/to/skill --format json
# 3. 仅看严重问题
python3 scripts/audit.py /path/to/skill --severity high
# 4. CI 退出码模式
python3 scripts/audit.py /path/to/skill --exit-code
# 退出码:0=pass, 1=warning, 2=fail
What's New in v2.0
| 维度 | v1.0.0 | v2.0.0 | v2.0.1 | v2.1.x |
|---|---|---|---|---|
| 安全扫描 | 人工 4 步协议 | ✅ 自动化 24 条 | ✅ +3 误判豁免 | ✅ + safe-pattern 双层校验 |
| 性能审计 | ❌ | ✅ 5 条 | ✅ | ✅ |
| 质量审计 | ❌ | ✅ 9 条 | ✅ | ✅ |
| JSON 报告 | ❌ | ✅ | ✅ | ✅ |
| CI 集成 | ❌ | ✅ --exit-code | ✅ + batch_audit.sh | ✅ |
| 豁免机制 | ❌ | ✅ # safe-pattern: 注释 | ✅ + markdown 表格/标题智能豁免 | ✅ reason 白名单 + 文件级 manifest(v2.1.2) |
| 模式库 | 内置硬编码 | ✅ YAML 可扩展 | ✅ + 3 个误判修复 | ✅ + 1 修复(dot-key 词边界) |
| 人工审计 | ✅ 4 步协议 | ✅ 保留在 references/audit_protocol.md | ✅ | ✅ |
合计 38 条 自动审计规则。
v2.0.1 误判修复(基于主人 102 技能批量试跑)
| 问题 | v2.0.0 | v2.0.1 |
|---|---|---|
1password op:// 引用误判 | critical | ✅ exception_pattern 豁免 |
| Chrome/123.0.0.0 版本号误判为 IP | high | ** 正则加 (?<![\w./])...(?!\w.) 边界 |
| 工具类 updater 用 curl/wget | high | ✅ severity 降为 medium |
4 步审计协议(v1.0 沿用)
完整协议见 references/audit_protocol.md。
- 来源检查 — 作者/Stars/下载量/更新日期
- 代码审查 — v2.0 已自动化 ✅
- 权限范围 — 文件/网络/命令是否最小化
- 风险分级 — v2.0 自动映射 🟢/🟡/🔴/⛔
风险分级(v2.0 自动)
| 命中 | verdict |
|---|---|
| ≥1 critical | ⛔ ❌ DO NOT INSTALL |
| ≥1 high | 🔴 ⚠️ INSTALL WITH CAUTION |
| ≥1 medium | 🟡 ⚠️ REVIEW MEDIUM ISSUES |
| ≥1 low/info | 🟢 ✅ SAFE TO INSTALL (minor notes) |
| 无任何命中 | 🟢 ✅ SAFE TO INSTALL |
Bash 包装(无 Python 时回退)
scripts/scan.sh /path/to/skill
# 自动调 audit.py;若无 PyYAML 则用 grep fallback
豁免机制
1. # safe-pattern: 注释(双层校验 · v2.1.2)
任意一行带 # safe-pattern: (Python/Shell)或 <!-- safe-pattern: -->(Markdown)即意图豁免。v2.1.2 起双层校验:
- 第一层 · reason 白名单:必须为
documentation/rule-description/version-history/doc-example/test-fixture之一。无 reason 或 reason 未知 → 不豁免。 - 第二层 · 文件级 manifest:仅当该文件列于
.safe-pattern-manifest.json的exemptions数组且 reason 匹配 → 才豁免。未提供 manifest 的技能 = 任何 safe-pattern 都不豁免(默认严格,防御「按内容豁免」攻击面)。
# 这是文档示例,展示 setuid 用法(实际未启用) # safe-pattern: doc-example
os.setuid(0)
2. exception_pattern(模式定义层)
模式库的 exception_pattern 字段提供正则豁免,例:
- id: SEC-CRED-001
regex: '(?i)(api_key|token)\s*[:=]\s*["\'][^"\']{16,}["\']'
exception_pattern: '\$\{?[A-Z_]+\}?' # 跳过环境变量引用
3. 文件路径默认排除
audit.py 自动跳过:
scripts/patterns/(模式定义自身)scripts/audit.py(审计器自身)references/_*.md(下划线前缀的内部文档,包含 scanner 自身的规则说明——防御「规则描述误报」)
4. .safe-pattern-manifest.json(v2.1.2 新增 · 推荐)
需主动豁免的技能应在根目录创建此清单:
{
"version": 1,
"exemptions": [
{
"file": "scripts/run.py",
"reason": "rule-description",
"lines": "10-20",
"note": "scanner 自身的规则定义"
}
]
}
Scanner 仅在 manifest 列出的文件中识别 safe-pattern 注释。未创建 manifest = 默认严格(不豁免任何 safe-pattern)。这是 v2.1.2 防御「safe-pattern 按内容豁免」攻击面的核心。
CI 集成示例
# .github/workflows/skill-audit.yml
name: Skill Audit
on: [push, pull_request]
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with: {python-version: '3.12'}
- run: pip install pyyaml
- name: Audit
run: python3 lz-skill-vetter-plus/scripts/audit.py . --exit-code
References(按需加载)
references/audit_protocol.md— 4 步人工审计协议references/patterns.md— 38 条模式库索引references/output_format.md— JSON Schema + CI 集成
记住
- 没有任何 skill 值得牺牲安全
- 有疑虑就别装
- 高风险决策请主人拍板
- v2.0 自动化 ≠ 取代人工审计
- v2.0.1 误判豁免 ≠ 放松警惕
License
MIT License — Copyright (c) 2026 左运来
Changelog
v2.1.3 (2026-08-20)
- severity-cap 攻击面闭环(ClawHub scanner 新 advisory 命中):verdict 双路径计算(capped vs uncapped)+ 主 verdict 取严重者 + text 报告加 🚨 警告横幅
- 攻击回归:恶意 skill 设
severity-cap: low→ 原 verdict = SAFE → 现 verdict = ❌ DO NOT INSTALL + 警告横幅显示 capped/uncapped 双值 - 自家 SKILL.md 不使用 severity-cap,无回归风险
v2.1.2 (2026-08-20)
- ClawHub scanner 91% Prompt-Injection finding 闭环(教训 #110):
- A 移位:scanner 自家规则说明
references/_rules_documentation.md从扫描范围排除(路径references/_*.md默认跳过) - B 收紧豁免:
safe-pattern必须reason字段,reason 必须在白名单(5 类) - C 文件级签名:
.safe-pattern-manifest.json机制,未提供 = 默认严格(不豁免任何 safe-pattern),攻击面消除
- A 移位:scanner 自家规则说明
- 自家 manifest 含 5 处合法豁免(scan.sh / SKILL.md 示例 / 协议示例等)
- 攻击回归测试 3 次均 0 bypass
v2.1.1 (2026-08-19)
- 关联 GitHub 源码仓库(zuoyunlai/lz-skill-vetter),ClawHub source-repo 打通
- 修正 skill-card.md GitHub 链接(去掉日期后缀)
v2.1.0 (2026-08-19)
- 修 original_severity bug(severity-cap 降级后正确记录原始严重度)
- 修 SEC-CRED-005 敏感路径正则词边界(消除 keyboard/keys 误判)
- 实现 QUAL-STRUCT-002(scripts 可执行权限检测),38 条名副其实
- 清理版本漂移(5 处 2.0.0 残留)+ 命名漂移(6 处 skill-vetter 残留)
- 清理 dead code(SEVERITY_CAP_KEYS 未用常量 / 列表项空分支 / 未用变量)
v2.0.1 (2026-08-19)
- 修复 3 个误判(基于主人 102 技能批量试跑)
- SEC-CRED-002 异常:增加
op://vault://secret://keychain:// - SEC-NET-003 正则:增加边界
(?<![\w./])...(?!\w.),豁免 Chrome/版本号 - SEC-NET-001 严重度:high → medium(updater 工具类合规设计)
- batch_audit.sh 修复:stderr 分离,不再混入 JSON 管道
- 批量试跑:3 FAIL → 2 FAIL,22 CAUTION → 18 CAUTION
v2.0.0 (2026-08-19)
- 初版:scripts/audit.py + 38 条规则 + 3 维扫描 + JSON 报告 + CI 退出码
v1.0.0 (2026-08-03)
- 初版:4 步人工审计协议 + 15 红线
Paranoia is a feature. 🔒🦀
相关技能
对已存在 Skill 做 8 维度全面体检(结构/安全/触发/有效性/竞争/平台/文档/代码质量)。说 技能审计/审计技能/技能体检 时触发。支持成熟度分级+4确认点+整改+回归审计。绝不自动发布。Do NOT use for creating skills or publishing to platforms.
Skill Security — 安全审计扫描器,帮助你快速发现 Skill 中的安全风险。轻量 SAST 污点追踪(Python AST + JS 词法近似,source→sink 证据链降误报)、规则引擎(YAML 规则包热插拔扩展)、社区规则(schema 校验 + 来源记录 + 签名验证)、提示注入 ML 语义检测(ONNX + 正则降级)、系统级行为捕获(eBPF Linux / ETW Windows)、动态沙箱执行扫描、供应链风险分析、CVE 离线缓存、恶意 Skill 指纹库、健康度与合规检查(质量+结构+权限合并)、全局排除配置、CI/CD 集成、JSON/HTML/SARIF 报告生成。
Automated security audit for AI agent skills. Use BEFORE installing any skill from ClawHub, GitHub, or other sources. Scans SKILL.md + all files for 30+ red...
Use before installing, enabling, or running any third-party OpenClaw skill, and when the user says "install this skill", "is this skill safe", "scan/vet/check this skill", or "should I trust this". Also use when a skill is pulled from ClawHub or any untrusted source.
Security-first skill vetting for AI agents. Use before installing any skill from ClawHub, GitHub, or other sources. Checks for red flags, permission scope, and suspicious patterns.