核心用法
security-audit 是一个面向 OpenClaw/ClawHub 技能及代码仓库的敌意设计(hostile-by-design)安全审计工作流。它不验证"功能是否正常",而是回答关键问题:"这段代码能否背叛系统?"
执行审计需从技能目录运行:
bash scripts/run_audit_json.sh <目标路径>
支持三级严格度配置(standard/strict/paranoid),通过环境变量 OPENCLAW_AUDIT_LEVEL 切换。
显著优点
- Fail-closed 架构:任一检测层失败即整体 FAIL,杜绝"部分通过"的安全幻觉
- 多维度覆盖:整合 trufflehog(secrets 泄露)、semgrep(静态分析)、自定义脚本(提示注入信号、持久化机制、依赖卫生)
- 零信任兼容:支持
openclaw-skill.json机器可读清单验证,强化供应链安全 - 灵活部署:纯静态审计无需 Docker,可选沙箱执行隔离
潜在缺点与局限性
- 依赖外部工具链:需预装 jq、trufflehog、semgrep、python3,跨平台安装路径复杂(apt/brew/pipx 多源)
- 规则维护成本:semgrep 自动规则可能产生误报,
paranoid模式可能过度阻塞合法代码 - 无动态行为分析:纯静态审计无法捕获运行期攻击面(如复杂混淆载荷)
- 清单强制争议:缺失
openclaw-skill.json即 FAIL 的策略,对 legacy 仓库不友好
适合人群
- OpenClaw/ClawHub 技能仓库维护者及平台运营方
- 需前置安全门禁的 CI/CD 流水线工程师
- 对供应链攻击(prompt injection、持久化后门)高度敏感的 AI 应用架构师
常规风险
- 工具依赖风险:trufflehog/semgrep 的版本差异或规则更新可能导致审计结果漂移
- 误报拒止(False Positive Denial):过度严格的规则可能阻碍正常开发流程
- 绕过可能性:针对性的混淆技术可能逃避静态检测,需配合动态沙箱互补
- 权限扩张:审计脚本本身需文件系统访问权限,成为潜在攻击面