核心用法
security-audit 是一款面向 OpenClaw/ClawHub 技能及代码库的对抗性安全审计工具,其设计哲学为"失效即关闭"(fail-closed)——任何环节异常均触发整体失败,而非静默通过。
运行方式简单,输出结构化 JSON 结果:
./scripts/run_audit_json.sh <路径> > /tmp/audit.json jq '.ok, .tools' /tmp/audit.json
支持三级可调严格度(standard/strict/paranoid),并通过 OPENCLAW_AUDIT_LEVEL 环境变量控制。同时要求 openclaw-skill.json 机器可读清单文件,实现零信任安装流程。
显著优点
1. 多层纵深防御:整合 trufflehog(密钥泄漏)、semgrep(静态分析)、自定义 hostile_audit.py(提示注入、持久化机制、依赖污染)三大引擎
2. 对抗性思维:主动假设"代码会背叛系统",而非验证功能正确性
3. 失效安全架构:任何检测层失败即整体失败,避免假阴性
4. 结构化输出:JSON 格式便于 CI/CD 集成与自动化决策
5. 渐进式严格度:从 pragmatic 到 paranoid 三级可调,适应不同场景
潜在缺点与局限性
- 静态分析局限:Docker 执行沙箱为可选,动态行为捕获依赖外部流程
- 规则覆盖边界:semgrep 自动规则与自定义启发式可能产生漏报或误报
- 依赖外部工具:需预装 jq、trufflehog、semgrep、Python3,跨平台配置复杂
- 性能开销:多层扫描对大仓库可能显著耗时
- 清单强制要求:零信任模式下无
openclaw-skill.json即失败,增加合规成本
适合人群
- 安全团队/DevSecOps 工程师
- 企业级 OpenClaw/ClawHub 平台运营方
- 需前置安全门禁的 CI/CD 流水线
- 对第三方技能/代码库持零信任态度的组织
常规风险
- 配置错误导致可用性下降:paranoid 级别可能过度拦截合法代码
- 工具链单点故障:任一依赖工具缺失或版本不兼容导致审计中断
- 扫描盲区:自定义持久化机制或新颖攻击向量可能逃逸检测
- 误报管理成本:strict/paranoid 级别需投入人力进行例外审批