claw-release
Release automation for Claw skills and website. Guides through version bumping, tagging, and release verification.
ClawHub reputation checker for clawsec-suite. Adds a standalone reputation gate before guarded skill installation.
Claude Code
$ npx -y skills add prompt-security/clawsec --skill clawsec-clawhub-checker --agent claude-code
Codex
$ npx skills add prompt-security/clawsec --skill clawsec-clawhub-checker -a codex -y
Cursor
$ npx skills add prompt-security/clawsec --skill clawsec-clawhub-checker -a cursor -y
Gemini CLI
$ npx skills add prompt-security/clawsec --skill clawsec-clawhub-checker -a gemini-cli -y
GitHub Copilot
$ npx skills add prompt-security/clawsec --skill clawsec-clawhub-checker -a github-copilot -y
OpenCode
$ npx skills add prompt-security/clawsec --skill clawsec-clawhub-checker -a opencode -y
Windsurf
$ npx skills add prompt-security/clawsec --skill clawsec-clawhub-checker -a windsurf -y
name: clawsec-clawhub-checker
version: 0.0.8
description: ClawHub reputation checker for clawsec-suite. Adds a standalone reputation gate before guarded skill installation.
homepage: https://clawsec.prompt.security
clawdis:
emoji: "๐ก๏ธ"
requires:
bins: [node, clawhub, openclaw]
depends_on: [clawsec-suite]Adds a reputation gate on top of the `clawsec-suite` guarded installer.
Install with the Vercel Skills CLI for this harness:
npx skills add prompt-security/clawsec --skill clawsec-clawhub-checker -a openclaw -y
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
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
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.
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
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:
Treat that wiring as a deliberate local customization and review it before enabling.
Environment variables:
Key files:
A complete security skill suite for OpenClaw, Hermes, PicoClaw and NanoClaw agents (and variants). Protect your SOUL.md (etc') with drift detection, live security recommendations, automated audits, and skill integrity verification. All from one installable suite.
Release automation for Claw skills and website. Guides through version bumping, tagging, and release verification.
Security advisory feed package for OpenClaw-related threats and vulnerabilities. The upstream feed is updated daily; localโฆ
Use when checking for security vulnerabilities in NanoClaw skills, before installing new skills, or when asked about securityโฆ
Automated vulnerability scanner for agent platforms. Performs dependency scanning (npm audit, pip-audit), multi-database CVEโฆ
ClawSec suite manager with embedded advisory-feed monitoring, cryptographic signature verification, approval-gatedโฆ
Harness-neutral community incident reporting for AI agents. Contribute to collective security by reporting threats.
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,โฆ
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)โฆ
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewritingโฆ