Security Audit (Sona)

🛡️ 对抗性代码审计与威胁检测

以对抗性视角审计代码仓库与技能,检测密钥泄露、注入信号与持久化威胁,默认失败关闭模式保障系统安全。

收藏
8k
安装
2.6k
版本
0.1.1
CLS 安全性认证2026-07-02
点击查看完整报告 >

使用说明

核心用法

security-audit 是一款失败关闭(fail-closed)设计的安全审计技能,核心目标并非验证功能正确性,而是回答关键问题:"此技能/代码能否背叛系统?"

执行方式

# JSON 格式输出(推荐)
bash scripts/run_audit_json.sh <仓库路径>

# 可调严格等级
OPENCLAW_AUDIT_LEVEL=strict bash scripts/run_audit_json.sh ./target-skill

三层检测架构:

  • 密钥泄露扫描:集成 TruffleHog 检测硬编码凭证
  • 静态代码分析:Semgrep 自动规则集扫描漏洞模式
  • 对抗性审计(自定义):检测提示注入信号、持久化机制、可疑混淆产物、依赖项卫生

显著优点

1. 失败关闭哲学:任一检测层失败即整体判定 FAIL,避免"部分通过"的安全幻觉
2. 分级严格度:standard/strict/paranoid 三级可调,适配不同风险场景

3. 零信任工作流:强制要求 openclaw-skill.json 权限清单,无清单即拒绝

4. 静态分析优先:无需 Docker 即可执行,降低使用门槛

潜在局限

  • 依赖外部工具链:需预装 jq、trufflehog、semgrep、Python3,跨平台安装脚本存在碎片化(apt/brew/pipx 多路径)
  • 误报风险:strict/paranoid 模式对混淆代码、minified 产物零容忍,可能误杀合法压缩资源
  • 无动态沙箱:声明 Docker 为可选,但执行未信任代码仍需用户自建隔离环境
  • 规则集黑盒:Semgrep "auto rules" 具体覆盖范围未文档化,审计结果可解释性受限

适合人群

  • 技能平台运营方:ClawHub/OpenClaw 等第三方技能市场的入库审核
  • 企业安全团队:CI/CD 流水线中前置的供应链安全检查
  • 高敏感环境管理员:需在启用任何外部代码前完成对抗性风险评估

常规风险

  • 供应链攻击面:工具链本身(trufflehog/semgrep)若被入侵将级联污染审计结论
  • 配置漂移OPENCLAW_AUDIT_LEVEL 环境变量未显式设置时回退 standard,可能低于预期防护
  • JSON 解析依赖:输出管道依赖 jq,若目标系统缺失将导致下游自动化失效
  • 权限清单绕过openclaw-skill.json 的自声明模式存在被恶意技能伪造的风险

安全解读

核心用法

security-audit 是一个敌对性设计的安全审计 Skill,用于在启用 Skills 前执行严格的代码审查。其核心理念是"fail-closed"——当无法确信安全时选择失败而非冒险继续。

三层检测机制:
1. 密钥泄露扫描:集成 trufflehog 检测硬编码凭证、API 密钥、高熵字符串

2. 静态分析:使用 semgrep 自动规则扫描危险函数调用(eval/exec/system等)

3. 自定义敌对审计:Python 脚本深度检测提示词注入信号(11种模式)、持久化机制(systemd/cron/Actions)、混淆文件(.min.js/.obf.js)、依赖卫生

执行方式:

bash scripts/run_audit_json.sh <路径> > /tmp/audit.json
OPENCLAW_AUDIT_LEVEL=paranoid bash scripts/run_audit_json.sh <路径>  # 最高严格度

支持三级审计强度:standard(实用严格)、strict(更多硬失败)、paranoid(零容忍不确定)。

显著优点

  • 零信任架构:要求 openclaw-skill.json 权限清单,无清单视为失败
  • 分层防御:工具链分离,单层失败即整体失败
  • 可审计设计:代码约524行,3种语言,结构清晰便于人工复核
  • 无外部依赖风险:Skill本身零第三方依赖,仅调用系统已安装工具
  • 实战检测能力:覆盖提示词注入、持久化、混淆等LLM时代特有风险

潜在局限

  • T3来源可信度:本地项目,无GitHub公开历史,社区信任基础较弱
  • 许可证未明:未声明开源协议,法律使用边界模糊
  • 生态覆盖有限:依赖检测偏重npm,Python/Go/Rust/Java支持待扩展
  • 无自动化测试:缺乏单元测试保障检测规则准确性
  • Docker可选:动态执行隔离依赖外部沙箱,非开箱即用

适合人群

  • Skill平台维护者:需批量审计第三方提交的安全性
  • 企业安全团队:建立Skills准入网关,强制执行安全基线
  • 零信任架构实践者:构建"默认不信任,持续验证"的供应链安全
  • 高级用户:手动审查可疑Skills前的深度检测

常规风险

| 风险类型 | 说明 | 缓解状态 |
|---------|------|---------|
| 工具链依赖 | 需预装 jq/trufflehog/semgrep/python3 | 安装脚本覆盖apt/brew多平台 |
| 误报/漏报 | 静态分析固有局限,paranoid模式可能过度阻断 | 三级强度可选,平衡安全与可用性 |
| 社会工程 | T3来源可能被仿冒或篡改 | 建议提升至T2+并结合签名验证 |
| 运行时逃逸 | 静态审计不保证执行安全 | 文档明确建议Docker沙箱隔离动态执行 |

Security Audit (Sona) 内容

docs文件夹
scripts文件夹
手动下载zip · 10.8 kB
OPENCLAW_SKILL_MANIFEST_SCHEMA.mdtext/markdown
请选择文件