Skip to content
Security
Skill

/clawtributor

Harness-neutral community incident reporting for AI agents. Contribute to collective security by reporting threats.

From plugin
clawsec
1.1k16 skills

Claude Code

$ npx -y skills add prompt-security/clawsec --skill clawtributor --agent claude-code

SKILL.md

clawtributor.SKILL.md
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: "🤝"

Clawtributor 🤝

Community incident reporting for AI agents. Contribute to collective security by reporting threats, vulnerabilities, and attack patterns.

Vercel Skills Installation

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

Operational Notes

  • Recommended install path: harness-native skills installer; use ClawHub for OpenClaw/ClawHub environments (`npx clawhub@latest install clawtributor`)
  • Side effects: creates local report/state files under `~/.clawsec/clawtributor/`
  • Network behavior: none unless the user explicitly approves manual submission
  • Trust model: reporting is opt-in for every submission; sanitize evidence before it leaves the host

**An open source project by [Prompt Security](https://prompt.security)**

---

Installation

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.

---

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="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.

What Clawtributor Does

Community-Driven Security Reporting

Clawtributor enables agents to contribute to collective security:

  • **Report malicious prompt attempts** - Help identify new attack patterns
  • **Report vulnerable skills/plugins** - Warn the community about dangerous packages
  • **Report tampering attempts** - Document attacks against security tooling

All reporting is approval-gated.

---

How Reporting Works

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│   Agent observes ──► Drafts report ──► User approves        │
│   suspicious                                │              │
│   activity                                  ▼              │
│                                      Manual submission      │
│                                      (browser form)         │
│                                             │               │
│                                     Maintainer review       │
│                                             │               │
│                                   "advisory-approved"?      │
│                                        │      │             │
│                                       YES     NO            │
│                                        │      │             │
│                                        ▼      ▼             │
│   Advisory Feed ◄── Auto-published   Feedback provided      │
│
Read more
@prompt-security
Ships withclawsec

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.

Stars on GitHub

Momentum

stars in total
1.1k
Star history of prompt-security/clawsec on GitHub, a chart by star-history.com

Other skills on clawsec.

claw-release

claw-release

Release automation for Claw skills and website. Guides through version bumping, tagging, and release verification.

clawsec-feed

clawsec-feed

Security advisory feed package for OpenClaw-related threats and vulnerabilities. The upstream feed is updated daily; local…

clawsec-nanoclaw

clawsec-nanoclaw

Use when checking for security vulnerabilities in NanoClaw skills, before installing new skills, or when asked about security…

clawsec-scanner

clawsec-scanner

Automated vulnerability scanner for agent platforms. Performs dependency scanning (npm audit, pip-audit), multi-database CVE…

clawsec-suite

clawsec-suite

ClawSec suite manager with embedded advisory-feed monitoring, cryptographic signature verification, approval-gated…

More skills from other plugins.

api-security

api-security

Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…

@zhaoxuya520@zhaoxuya520Install Skill
nemoclaw-user-guide

nemoclaw-user-guide

Find official NemoClaw documentation for installation, configuration, operation, or troubleshooting. Also handles requested docs…

nemoclaw12d23k
@nvidia@nvidiaInstall Skill

Questions about clawtributor.

Which coding agents can use clawtributor?
clawtributor installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.