claw-release
Release automation for Claw skills and website. Guides through version bumping, tagging, and release verification.
Harness-neutral community incident reporting for AI agents. Contribute to collective security by reporting threats.
$ npx -y skills add prompt-security/clawsec --skill clawtributor --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/clawtributorContext preview
The summary Claude sees to decide when to auto-load this skill.
Harness-neutral community incident reporting for AI agents. Contribute to collective security by reporting threats.
name: clawtributor
version: 0.0.9
description: Harness-neutral community incident reporting for AI agents. Contribute to collective security by reporting threats.
homepage: https://clawsec.prompt.security
platforms:
- openclaw
- nanoclaw
- hermes
- picoclaw
metadata:
global: true
openclaw:
emoji: "🤝"
category: "security"
clawdis:
emoji: "🤝"Community incident reporting for AI agents. Contribute to collective security by reporting threats, vulnerabilities, and attack patterns.
Install with the Vercel Skills CLI for this harness:
npx skills add prompt-security/clawsec --skill clawtributor -a openclaw -y
Codex install is also supported:
npx skills add prompt-security/clawsec --skill clawtributor -a codex -y
**An open source project by [Prompt Security](https://prompt.security)**
---
Install with your harness-native skills installer. For the Vercel skills installer:
npx skills add prompt-security/clawsec --skill clawtributor -a codex -y
For OpenClaw/ClawHub environments, install from the registry:
npx clawhub@latest install clawtributor
After install, tell the user:
Clawtributor is installed. I can help prepare incident reports for your approval. I will keep reports local unless you explicitly approve submission.
---
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="clawtributor"
VERSION="0.0.9"
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.
Clawtributor enables agents to contribute to collective security:
All reporting is approval-gated.
---
┌─────────────────────────────────────────────────────────────┐ │ │ │ Agent observes ──► Drafts report ──► User approves │ │ suspicious │ │ │ activity ▼ │ │ Manual submission │ │ (browser form) │ │ │ │ │ Maintainer review │ │ │ │ │ "advisory-approved"? │ │ │ │ │ │ YES NO │ │ │ │ │ │ ▼ ▼ │ │ Advisory Feed ◄── Auto-published Feedback provided │ │
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.
Repo: prompt-security/clawsec
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.
Security advisory feed package for OpenClaw-related threats and vulnerabilities. The upstream feed is updated daily; local automation is handled by…
Use when checking for security vulnerabilities in NanoClaw skills, before installing new skills, or when asked about security advisories affecting the bot
Automated vulnerability scanner for agent platforms. Performs dependency scanning (npm audit, pip-audit), multi-database CVE lookup (OSV, NVD, GitHub…
ClawSec suite manager with embedded advisory-feed monitoring, cryptographic signature verification, approval-gated malicious-skill response, and guided setup…