clawhub sync 前自动执行三项检查,全部通过才放行。
text
clawhub_gate.sh
├── 1. 本地静态分析 (即时)
│ ├── shellcheck → .sh 文件
│ └── bandit → .py 文件
│
└── 2. clawhub sync + ClawScan 轮询 (异步,约 30-90s)
└── 轮询 clawhub API 直到 scan status != "pending"
├── VT=clean + Static=clean + LLM=clean → 通过
├── VT=clean + Static=clean + LLM=suspicious → 警告通过(owner 接受 LLM 情境判断)
└── VT 或 Static 失败 → 阻断
## 使用方式
在 skill 目录下运行 gate 脚本:
```bash
# 完整 gate:静态分析 + 发布 + ClawScan 轮询
SKILL_DIR=~/.hermes/skills/pg-game-monitor bash clawhub_gate.sh
# 仅本地静态分析(快速检查,不需要网络)
SKILL_DIR=~/.hermes/skills/pg-game-monitor bash clawhub_gate.sh --local-only
前置条件:已安装 shellcheck、 bandit、 jq、Python 3、 clawhub CLI(已登录)。
脚本行为:
~/.config/clawhub/config.json 获取 token(用于轮询 ClawScan API)clawhub sync 发布 skill(会创建/更新 ClawHub 版本)--local-only 确认静态分析通过,再手动 clawhub sync码含义0全部通过1静态分析失败或 ClawScan flagged2ClawScan 超时(pending > 120s)3未找到 skill 目录或权限错误
工具扫描范围严重级别shellcheck*.shwarning + errorbandit*.pymedium + high + hidden
WARN_LIMIT)SC2154(未使用变量,常见于条件分支)、 SC2086(引号去除,常见于 grep -v)轮询间隔:15s
最大等待:120s(8 次)
状态判断:
clean → 通过suspicious → 失败,输出警告malicious → 失败,阻断pending → 继续轮询error → 失败bash
pip install --break-system-packages bandit
apt install -y shellcheck
clawhub skill → references/clawscan-remediation.md