Skill Safety Loop(Agent 安全闭环 v0.4.0)
把"预防 → 危害认知 → 配置审计 → 取证 → 监控 → 守护"六层防御固化成可复用工作流。默认全程本地、零 token:静态扫描用本地正则 + 信号库完成,不消耗对话额度、不依赖云端引擎、且兼容 WorkBuddy。
> ⚠️ 诚实声明(重要):本工具是本地静态扫描器,能力边界很明确——
> - 零外联是默认行为:常规 scan_skill.py <目录> 模式不联网。唯一例外是 --slug 远程拉取模式(会从 clawhub.ai 下载并自动解包远程代码),该模式必须显式 --confirm 才执行,且不做完整性校验,高安全场景不建议使用。
> - CVE 来自本地同步:cve_db.json 中的漏洞数据由 sync_cve.py 从 OSV.dev / 腾讯 AI-Infra-Guard 同步进本地文件,并非 EdgeOne 云端情报。
> - 对标而非等同 EdgeOne ClawScan:我们借鉴了它的"同类维度"(供应链/CVE、基础体检、24/7 守护),但用本地零 token 实现,检出深度不如其云端 LLM 语义引擎。两者互补,非替代。
何时使用
- 准备安装任何第三方 skill 前
- 怀疑已装 skill 有毒 / Agent 行为异常
- 定期安全自查(建议每月一次)
- 挂守护模式,新装 skill 自动体检
六阶段工作流
阶段 0:危害认知(建立判断基准)
先读 references/risk_taxonomy.md,建立风险谱系基准:凭据窃取、数据收割、持久化后门、链式感染、记忆投毒、第三方账户滥用、成本爆炸、跳板、直接破坏。
阶段 1:装前审查(预防)
执行 references/install_checklist.md 的危险信号速查:链接 404 / 非官方安装命令(npx xxx@latest、curl|bash)/ 索要 root 或主账号全域 key / SKILL.md 含注入或安装时脚本。任一命中 → 放弃。
阶段 1.5:配置审计(环境体检)
扫描器自动检查运行环境(见阶段 2 报告里的 environment_audit):是否以 root/管理员跑 agent、SKILL.md 是否声明绕过安全限制、package.json 安装脚本是否含危险命令。对标 EdgeOne 的"基础体检"维度,本地实现。
阶段 2:装后取证(扫描 + 供应链/CVE)
python3 scripts/scan_skill.py /path/to/skills-dir
python3 scripts/scan_skill.py /path/to/skills-dir --output report.json
python3 scripts/scan_skill.py --slug <slug> --confirm # 仅此模式联网
报告含四块:
- findings:逐行正则匹配的恶意模式(severity + 危害维度映射)
- supply_chain:引用可疑域名 / typosquat 仿冒 / 已知风险组件(来自本地 cve_db.json,由 sync_cve.py 同步)
- environment_audit:配置审计结果
- next_steps:根据风险给止血/加固/监控指引
阶段 3:运行期监控(持续)
读 references/runtime_monitor.md,做 5 维度监控:工具调用行为、网络出站、文件系统、进程、凭据/账单。命中红灯 → 回阶段 2 + 立即止血。
阶段 4:守护模式(自动免疫)
挂后台监控 skills 目录,新文件出现自动扫描:
python3 scripts/watch.py /path/to/skills-dir --alert-threshold HIGH
对标 EdgeOne 的 24/7 自动守护,但本地零 token(纯标准库轮询,跨平台);守护结果落盘到 --log / --alerts。
闭环逻辑
预防挡住大多数 → 取证扫出漏网的(含供应链/CVE)→ 监控抓住执行时现形的 → 守护自动体检新装 skill。没有哪层单独兜底。
与 EdgeOne ClawScan 的关系(互补,非替代)
- EdgeOne 强在:云端 LLM 语义理解、朱雀+科恩威胁情报库、实时 CVE 匹配(需在 OpenClaw 上、消耗 20–40 万 token/次、且不支持 WorkBuddy)。
- 本 skill 强在:本地零 token、WorkBuddy 兼容、代码透明可定制、闭环工作流、CVE 可由
sync_cve.py本地同步补齐。 - 取舍:要最高检出率且在 OpenClaw 上 → 用 EdgeOne;日常零成本 + WorkBuddy → 用本 skill。详见
references/edgeone_compare.md。
已知局限(务必知悉)
- 纯正则有时滞/混淆盲区:加密载荷、条件触发、多阶段注入、LLM 语义级攻击无法靠正则发现,需配合运行期行为监控与人工复核。
- 精度靠样本回归保障:规则随生态演进可能产生新误报/漏报,建议定期跑
scripts/bench/run_bench.py看 precision/recall 基线。 - 中招止损 SOP 见
references/incident_sop.md;记住:扫描只是取证不是止血,key 泄露第一动作永远是轮换。
来源与许可
- 静态扫描器结构参考
tjefferson/skill-security-audit(MIT),v0.4.0 新增供应链/CVE、配置审计、守护模式(对标 EdgeOne ClawScan 的三类维度,本地零 token 实现)。 - CVE 信号库由
scripts/sync_cve.py从 OSV.dev / 腾讯 AI-Infra-Guard(A.I.G)同步进cve_db.json;默认源 OSV,可--source aig接腾讯源。 - 风险谱系 / 装前清单 / 运行期监控 / 止损 SOP 提炼自配套文档(见
references/)。 - 许可:MIT(见
LICENSE)。版本:v0.4.0。