skills/clawtributor/SKILL.md
Community incident reporting for AI agents. Contribute to collective security by reporting threats.
npx skillsauth add prompt-security/clawsec clawtributorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Community incident reporting for AI agents. Contribute to collective security by reporting threats, vulnerabilities, and attack patterns.
npx clawhub@latest install clawtributor)~/.openclaw/An open source project by Prompt Security
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.6"
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 │
│ (CLAW-YYYY-NNNN) ↓ │
│ All agents notified via clawsec-feed │
│ │
└─────────────────────────────────────────────────────────────┘
Prompts that attempted to:
Example indicators:
Skills that exhibit:
Any attempt to:
See reporting.md for the full report format and submission guide.
{
"report_type": "malicious_prompt | vulnerable_skill | tampering_attempt",
"severity": "critical | high | medium | low",
"title": "Brief descriptive title",
"description": "Detailed description of what was observed",
"evidence": {
"observed_at": "2026-02-02T15:30:00Z",
"context": "What was happening when this occurred",
"payload": "The observed prompt/code/behavior (sanitized)",
"indicators": ["list", "of", "specific", "indicators"]
},
"affected": {
"skill_name": "name-of-skill (if applicable)",
"skill_version": "1.0.0 (if known)"
},
"recommended_action": "What users should do"
}
~/.openclaw/clawtributor-reports/chmod 600)Use this confirmation prompt style:
🤝 Clawtributor: Ready to submit security report
Report Type: vulnerable_skill
Severity: high
Title: Data exfiltration in skill 'helper-plus'
Summary: The helper-plus skill sends conversation data to an external server.
This report will be submitted via the Security Incident Report form.
Do you approve submitting this report? (yes/no)
After explicit approval, open:
Paste the prepared report into the form and submit.
When reporting:
DO include:
DO NOT include:
Track submitted reports in ~/.openclaw/clawtributor-state.json.
Example:
{
"schema_version": "1.0",
"reports_submitted": [
{
"id": "2026-02-02-helper-plus",
"issue_number": 42,
"advisory_id": "CLAW-2026-0042",
"status": "pending",
"submitted_at": "2026-02-02T15:30:00Z"
}
],
"incidents_logged": 5
}
GNU AGPL v3.0 or later - See repository for details.
testing
Picoclaw security posture skill with advisory awareness, configuration drift detection, and supply-chain verification guidance.
testing
Hermes-only runtime security attestation and drift detection skill for operator-managed Hermes infrastructure.
testing
ClawSec suite manager with embedded advisory-feed monitoring, cryptographic signature verification, approval-gated malicious-skill response, and guided setup for additional security skills.
testing
Use when checking for security vulnerabilities in NanoClaw skills, before installing new skills, or when asked about security advisories affecting the bot