Agent Skillsprompt-security/clawsec › clawsec-clawhub-checker

clawsec-clawhub-checker

GitHub

ClawSec信誉检查器,在安装技能前对ClawHub元数据进行安全评估。通过VirusTotal、作者历史等启发式规则计算信誉分,低分需手动确认,保障技能安装安全。

skills/clawsec-clawhub-checker/SKILL.md prompt-security/clawsec

触发场景

安装或更新OpenClaw技能前 需要验证第三方技能来源可信度时

安装

npx skills add prompt-security/clawsec --skill clawsec-clawhub-checker -g -y
更多选项

不安装直接使用

npx skills use prompt-security/clawsec@clawsec-clawhub-checker

指定 Agent (Claude Code)

npx skills add prompt-security/clawsec --skill clawsec-clawhub-checker -a claude-code -g -y

安装 repo 全部 skill

npx skills add prompt-security/clawsec --all -g -y

预览 repo 内 skill

npx skills add prompt-security/clawsec --list

SKILL.md

Frontmatter
{
    "name": "clawsec-clawhub-checker",
    "clawdis": {
        "emoji": "🛡️",
        "requires": {
            "bins": [
                "node",
                "clawhub",
                "openclaw"
            ]
        },
        "depends_on": [
            "clawsec-suite"
        ]
    },
    "version": "0.0.8",
    "homepage": "https:\/\/clawsec.prompt.security",
    "description": "ClawHub reputation checker for clawsec-suite. Adds a standalone reputation gate before guarded skill installation."
}

ClawSec ClawHub Checker

Adds a reputation gate on top of the clawsec-suite guarded installer.

Vercel Skills Installation

Install with the Vercel Skills CLI for this harness:

npx skills add prompt-security/clawsec --skill clawsec-clawhub-checker -a openclaw -y

Operational Notes

  • Required runtime: node, clawhub, openclaw
  • Depends on: installed clawsec-suite
  • Side effects: none on other skills; this package does not rewrite installed suite files
  • Advisory-hook wiring is optional and manual in this release
  • Network behavior: reputation checks call ClawHub inspect/search endpoints
  • Trust model: scores are heuristic and confirmation-gated

What It Does

  1. Reads skill metadata from ClawHub (inspect --json)
  2. Evaluates scanner status (including VirusTotal summary when present)
  3. Applies additional reputation heuristics (age, updates, author history, downloads)
  4. Requires explicit --confirm-reputation when score is below threshold

Installation

Install after clawsec-suite:

npx clawhub@latest install clawsec-suite
npx clawhub@latest install clawsec-clawhub-checker

Optional preflight check (validates local paths and prints recommended command):

node ~/.openclaw/skills/clawsec-clawhub-checker/scripts/setup_reputation_hook.mjs

Release Artifact Verification

For standalone installs, verify the signed release manifest before trusting SKILL.md, skill.json, or the archive. The skill.json file is the package metadata/SBOM source, and the release pipeline signs checksums.json with the ClawSec release key.

set -euo pipefail

SKILL_NAME="clawsec-clawhub-checker"
VERSION="0.0.8"
REPO="prompt-security/clawsec"
TAG="${SKILL_NAME}-v${VERSION}"
BASE="https://github.com/${REPO}/releases/download/${TAG}"
ZIP_NAME="${SKILL_NAME}-v${VERSION}.zip"
TMP_DIR="$(mktemp -d)"
trap 'rm -rf "$TMP_DIR"' EXIT

RELEASE_PUBKEY_SHA256="711424e4535f84093fefb024cd1ca4ec87439e53907b305b79a631d5befba9c8"

curl -fsSL "$BASE/checksums.json" -o "$TMP_DIR/checksums.json"
curl -fsSL "$BASE/checksums.sig" -o "$TMP_DIR/checksums.sig"
curl -fsSL "$BASE/signing-public.pem" -o "$TMP_DIR/signing-public.pem"
curl -fsSL "$BASE/$ZIP_NAME" -o "$TMP_DIR/$ZIP_NAME"
curl -fsSL "$BASE/SKILL.md" -o "$TMP_DIR/SKILL.md"
curl -fsSL "$BASE/skill.json" -o "$TMP_DIR/skill.json"

ACTUAL_PUBKEY_SHA256="$(openssl pkey -pubin -in "$TMP_DIR/signing-public.pem" -outform DER | shasum -a 256 | awk '{print $1}')"
if [ "$ACTUAL_PUBKEY_SHA256" != "$RELEASE_PUBKEY_SHA256" ]; then
  echo "ERROR: signing-public.pem fingerprint mismatch" >&2
  exit 1
fi

openssl base64 -d -A -in "$TMP_DIR/checksums.sig" -out "$TMP_DIR/checksums.sig.bin"
openssl pkeyutl -verify -rawin -pubin \
  -inkey "$TMP_DIR/signing-public.pem" \
  -sigfile "$TMP_DIR/checksums.sig.bin" \
  -in "$TMP_DIR/checksums.json" >/dev/null

hash_file() {
  if command -v shasum >/dev/null 2>&1; then
    shasum -a 256 "$1" | awk '{print $1}'
  else
    sha256sum "$1" | awk '{print $1}'
  fi
}

verify_manifest_file() {
  asset="$1"
  path="$2"
  expected="$(jq -r --arg asset "$asset" '.files[$asset].sha256 // empty' "$TMP_DIR/checksums.json")"
  if [ -z "$expected" ]; then
    echo "ERROR: checksums.json missing $asset" >&2
    exit 1
  fi
  actual="$(hash_file "$path")"
  if [ "$actual" != "$expected" ]; then
    echo "ERROR: checksum mismatch for $asset" >&2
    exit 1
  fi
}

expected_archive="$(jq -r '.archive.sha256 // empty' "$TMP_DIR/checksums.json")"
if [ -z "$expected_archive" ]; then
  echo "ERROR: checksums.json missing archive.sha256" >&2
  exit 1
fi
actual_archive="$(hash_file "$TMP_DIR/$ZIP_NAME")"
if [ "$actual_archive" != "$expected_archive" ]; then
  echo "ERROR: archive checksum mismatch" >&2
  exit 1
fi

verify_manifest_file "SKILL.md" "$TMP_DIR/SKILL.md"
verify_manifest_file "skill.json" "$TMP_DIR/skill.json"

echo "Signed release manifest, archive, SKILL.md, and skill.json verified."

Only install or extract the archive after this verification succeeds.

Usage

Run the enhanced installer directly from this skill:

node ~/.openclaw/skills/clawsec-clawhub-checker/scripts/enhanced_guarded_install.mjs \
  --skill some-skill \
  --version 1.0.0

If a skill is below threshold, rerun only with explicit approval:

node ~/.openclaw/skills/clawsec-clawhub-checker/scripts/enhanced_guarded_install.mjs \
  --skill some-skill \
  --version 1.0.0 \
  --confirm-reputation

Optional Advisory-Hook Wiring (Manual)

This release does not auto-patch clawsec-suite hook files.
If you rely on advisory alerts that include reputationWarning / reputationWarnings, wire the checker module manually:

  • Source module: ~/.openclaw/skills/clawsec-clawhub-checker/hooks/clawsec-advisory-guardian/lib/reputation.mjs
  • Target hook file: ~/.openclaw/skills/clawsec-suite/hooks/clawsec-advisory-guardian/handler.ts

Treat that wiring as a deliberate local customization and review it before enabling.

Exit Codes

  • 0 safe to install
  • 42 advisory confirmation required (from clawsec-suite)
  • 43 reputation confirmation required
  • 1 error

Configuration

Environment variables:

  • CLAWHUB_REPUTATION_THRESHOLD - Minimum score (0-100, default: 70)

Safety Notes

  • This is defense-in-depth, not a replacement for advisory matching
  • Scanner outputs can produce false positives and false negatives
  • Always review skill code before overriding warnings

Development

Key files:

  • scripts/enhanced_guarded_install.mjs
  • scripts/check_clawhub_reputation.mjs
  • scripts/setup_reputation_hook.mjs
  • hooks/clawsec-advisory-guardian/lib/reputation.mjs

License

GNU AGPL v3.0 or later - Part of the ClawSec security suite

版本历史

  • dac7e1e 当前 2026-08-20 08:35

依赖关系

  • suggested prompt-security/clawsec

同 Skill 集合

skills/claw-release/SKILL.md
skills/clawsec-feed/SKILL.md
skills/clawsec-nanoclaw/SKILL.md
skills/clawsec-suite/SKILL.md
skills/clawtributor/SKILL.md
skills/hermes-attestation-guardian/SKILL.md
skills/hermes-traffic-guardian/SKILL.md
skills/nanoclaw-traffic-guardian/SKILL.md
skills/openclaw-audit-watchdog/SKILL.md
skills/openclaw-traffic-guardian/SKILL.md
skills/picoclaw-security-guardian/SKILL.md
skills/picoclaw-self-pen-testing/SKILL.md
skills/picoclaw-traffic-guardian/SKILL.md
skills/soul-guardian/SKILL.md

元信息

文件数
0
版本
aa3aed1
Hash
5f141ec4
收录时间
2026-08-20 08:35

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-16 22:01
浙ICP备14020137号-1