ClawSkills logoClawSkills

Security Audit (Sona)

针对 OpenClaw/ClawHub 技能和代码库的失效安全安全审计:trufflehog 密钥扫描、semgrep SAST、提示注入/持久性信号以及供应链

介绍

# security-audit

一个针对代码库和 OpenClaw/ClawHub 技能的、具有“敌意设计”原则、**“故障阻断”** 的审计工作流。

它**不**试图回答“这个技能是否能工作?”。

它试图回答:**“这个技能是否会背叛系统?”**

## 检查内容(概览)

该技能的脚本结合了多层检查:

- **密钥 / 凭据泄露:** trufflehog - **静态分析:** semgrep(自动规则) - **敌意代码库审计(自定义):** 提示注入信号、持久化机制、可疑产物、依赖项卫生状况

如果任何一层检查失败,整体审计结果即为 **FAIL**。

## 运行审计 (JSON)

在该技能文件夹中执行(使用 `bash`,以便即使因 zip 下载导致可执行位未保留也能正常运行):

```bash bash scripts/run_audit_json.sh <path> ```

示例:

```bash bash scripts/run_audit_json.sh . > /tmp/audit.json jq '.ok, .tools' /tmp/audit.json ```

### 安全级别(用户可配置)

设置严格程度级别(默认:`standard`):

```bash OPENCLAW_AUDIT_LEVEL=standard bash scripts/run_audit_json.sh <path> OPENCLAW_AUDIT_LEVEL=strict bash scripts/run_audit_json.sh <path> OPENCLAW_AUDIT_LEVEL=paranoid bash scripts/run_audit_json.sh <path> ```

- `standard`:务实的严格默认值(要求锁定文件;安装钩子/持久化/提示注入信号将导致失败) - `strict`:更多模式将变为硬性 **FAIL**(例如压缩/混淆产物) - `paranoid`:不存在“尽力而为”的哈希失败;更多“故障阻断”行为

## 清单要求(用于零信任安装工作流)

对于严格/隔离工作流,要求在代码库根目录提供机器可读的意图/权限清单:

- `openclaw-skill.json`

如果代码库/技能未提供此清单,敌意审计应将其视为 **FAIL**。

参见:`docs/OPENCLAW_SKILL_MANIFEST_SCHEMA.md`。

## 可选:执行沙箱 (Docker)

在此 Docker 是**可选**的。该技能可在没有 Docker 的情况下用于静态审计。

如果您想执行任何生成的/不受信任的代码,请在单独的沙箱工作流中运行(推荐)。

## 文件

- `scripts/run_audit_json.sh` — 主要的 JSON 审计运行器 - `scripts/hostile_audit.py` — 提示注入/持久化/依赖项卫生状况扫描器 - `scripts/security_audit.sh` — 便捷封装脚本(始终返回 JSON,从不返回非零值) - `openclaw-skill.json` — 机器可读的意图/权限清单

更多产品