Agent skill · Audited from source

clawsec-suite

skill · prompt-security/clawsecAGPL-3.0 licenceAudited 20 Oct 2026 · source 5e94f51c4f35

★ 1,125pushed todayversion 0.1.16
!CAUTIONGrade B · 89/100 · 10 findings · 5e94f51
1,125repo stars · whole prompt-security/clawsec

Is it safe? With care — CAUTION, grade B (89/100). We read this skill's source at commit 5e94f51c4f35 and observed filesystem and network access and no hard-coded secrets. The audit raised 10 findings, 0 critical or high. What it does: ClawSec suite manager with embedded advisory-feed monitoring, cryptographic signature verification, approval-gated malicious-skill response, and guided setup for additional security skills.

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “clawsec-suite (prompt-security/clawsec)”. Retrieved 20 Oct 2026. https://modelsatlas.com/skills/prompt-security/clawsec-suite

Trust audit

Audit 0.4.1 · source read 20 Oct 2026

Trust score89/100!CAUTION B
0 critical0 high3 medium6 low1 info

CAUTION means the audit found things worth knowing before you trust this skill. Grade B is shared by 13,985 of 14,816 audited skills.

What the source does

  • FilesystemUndeclared1 observation, not in its own description
  • NetworkDeclared2 observations
  • ShellNone observedNo commands run in the source
  • DependenciesPinnedNothing floats
  • SecretsNone foundNo keys in source

Five audit layers

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityPASS2
L1 Static sourceSecrets, path traversal, supply chain, hidden codeWARN8
L2 InstructionsPrompt injection, authority framing, hidden directivesPASS0
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: no behavioural pass.

Findings (10)

MEDIUMFilesystem / pathfs.destructive · scripts/setup_advisory_hook.mjs:63
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
fs.rmSync(TARGET_HOOK_DIR, { recursive: true, force: true });
Why
No further detail recorded for this rule.
Fix
—
MEDIUMNetwork egressnet.beacon_words · hooks/clawsec-advisory-guardian/lib/matching.ts:101
F-04 Network egressCWE-200 · CWE-319Layer L1
if (/\b(malicious|exfiltrat(e|ion)|backdoor|trojan|credential theft|stealer)\b/.test(combined)) return true;
Why
No further detail recorded for this rule.
Fix
—
MEDIUMNetwork egressnet.beacon_words · scripts/guarded_skill_install.mjs:116
F-04 Network egressCWE-200 · CWE-319Layer L1
if (/\b(malicious|exfiltrate|exfiltration|backdoor|trojan|stealer|credential theft)\b/.test(combined)) return true;
Why
No further detail recorded for this rule.
Fix
—
LOWInventory / provenanceinv.hidden_file · .clawhubignore
F-13 Inventory / provenanceCWE-1104Layer L0
.clawhubignore
Why
hidden member outside the usual dotfiles
Fix
review its purpose
LOWFilesystem / pathfs.destructive · test/guarded_install.test.mjs:69
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
await fs.rm(tempDir, { recursive: true, force: true });
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.destructive · test/lib/test_harness.mjs:150
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
await fs.rm(tmpDir, { recursive: true, force: true });
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · test/heartbeat_version_check.test.mjs:59
F-04 Network egressCWE-200 · CWE-319Layer L1
url: `http://127.0.0.1:${addr.port}`,
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · test/skill_catalog_discovery.test.mjs:58
F-04 Network egressCWE-200 · CWE-319Layer L1
url: `http://127.0.0.1:${addr.port}`,
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · test/skill_catalog_discovery.test.mjs:197
F-04 Network egressCWE-200 · CWE-319Layer L1
CLAWSEC_SKILLS_INDEX_URL: "http://127.0.0.1:9/index.json",
Why
No further detail recorded for this rule.
Fix
—
INFOInventory / provenanceinv.oversize · advisories/feed.json
F-13 Inventory / provenanceCWE-1104Layer L0
advisories/feed.json
Why
1594979 bytes not read
Fix
—

Audit 0.4.1 · source sha 5e94f51c4f35 · 20 Oct 2026Report an issue or request a re-scan

Provenance

Who published it, and what the verdict is pinned to

  • Publisherprompt-security GitHub organizationOwner of the repository this skill is read from
  • Source folderprompt-security/clawsec/skills/clawsec-suiteThe exact folder we audited
  • LicenceAGPL-3.0As the repository states it
  • Commit pinned for this verdict5e94f51c4f35A new audit runs when the source changes
  • Repository statusNot archivedPushed today
  • Sandboxed runNot runSkills are read, not executed; layer L4 is skipped

What it tells the agent

Full source on GitHub ↗

Its description: ClawSec suite manager with embedded advisory-feed monitoring, cryptographic signature verification, approval-gated malicious-skill response, and guided setup for additional security skills.

---
name: clawsec-suite
version: 0.1.16
description: ClawSec suite manager with embedded advisory-feed monitoring, cryptographic signature verification, approval-gated malicious-skill response, and guided setup for additional security skills.
homepage: https://clawsec.prompt.security
clawdis:
  emoji: "📦"
  requires:
    bins: [node, npx, openclaw, curl, jq, shasum, openssl, unzip]
---

# ClawSec Suite

## Vercel Skills Installation

Install with the Vercel Skills CLI for this harness:

```bash
npx skills add prompt-security/clawsec --skill clawsec-suite -a openclaw -y
```

## Operational Notes

- Required runtime: `node`, `npx`, `openclaw`, `curl`, `jq`, `shasum`, `openssl`, `unzip`
- Side effects: setup scripts install an advisory hook under `~/.openclaw/hooks`, optionally create an unattended `openclaw cron` job, and use `npx clawhub@latest install` for guarded installs
- Network behavior: fetches signed advisory feed artifacts and remote catalog metadata unless you pin local paths
- Trust model: the suite can recommend removal or block risky installs, but removal/install overrides stay approval-gated

This means `clawsec-suite` can:
- monitor the ClawSec advisory feed,
- track which advisories are new since last check,
- cross-reference advisories against locally installed skills,
- recommend removal for malicious-skill advisories and require explicit user approval first,
- and still act as the setup/management entrypoint for other ClawSec protections.

## Included vs Optional Protections

### Built into clawsec-suite
- Embedded signed advisory trust set: `advisories/feed.json`, `feed.json.sig`, `checksums.json`, `checksums.json.sig`, and `feed-signing-public.pem`
- Portable heartbeat workflow in `HEARTBEAT.md`
- Advisory polling + state tracking + affected-skill checks
- OpenClaw advisory guardian hook package: `hooks/clawsec-advisory-guardian/`
- Setup scripts for hook and optional cron scheduling: `scripts/`
- Guarded installer: `scripts/guarded_skill_install.mjs`
- Dynamic catalog discovery for installable skills: `scripts/discover_skill_catalog.mjs`

### Installed separately (dynamic catalog)
`clawsec-suite` does not hard-code add-on skill names in this document.

Discover the current catalog from the authoritative index (`https://clawsec.prompt.security/skills/index.json`) at runtime:

```bash
SUITE_DIR="${INSTALL_ROOT:-$HOME/.openclaw/skills}/clawsec-suite"
node "$SUITE_DIR/scripts/discover_skill_catalog.mjs"
```

Fallback behavior:
- If the remote catalog index is reachable and valid, the suite uses it.
- If the remote index is unavailable or malformed, the script falls back to suite-local catalog metadata in `skill.json`.

## Installation

### Cross-shell path note

- In `bash`/`zsh`, keep path variables expandable (for example, `INSTALL_ROOT="$HOME/.openclaw/skills"`).
- Do not single-quote home-variable paths (avoid `'$HOME/.openclaw/skills'`).
- In PowerShell, set an explicit path:
  - `$env:INSTALL_ROOT = Join-Path $HOME ".openclaw\\skills"`
- If a path is passed with unresolved tokens (like `\$HOME/...`), suite scripts now fail fast with a clear error.

### Option A: Via clawhub (recommended)

```bash
npx clawhub@latest install clawsec-suite
```

### Option B: Manual download with signature + checksum verification

```bash
set -euo pipefail

VERSION="${SKILL_VERSION:?Set SKILL_VERSION (e.g. 0.0.8)}"
INSTALL_ROOT="${INSTALL_ROOT:-$HOME/.openclaw/skills}"
DEST="$INSTALL_ROOT/clawsec-suite"
BASE="https://github.com/prompt-security/clawsec/releases/download/clawsec-suite-v${VERSION}"

TEMP_DIR="$(mktemp -d)"
trap 'rm -rf "$TEMP_DIR"' EXIT

# Pinned release-signing public key (verify fingerprint out-of-band on first use)
# Fingerprint (SHA-256 of SPKI DER): 711424e4535f84093fefb024cd1ca4ec87439e53907b305b79a631d5befba9c8
RELEASE_PUBKEY_SHA256="711424e4535f84093fefb024cd1ca4ec87439e53907b305b79a631d5befba9c8"
cat > "$TEMP_DIR/release-signing-public.pem" <<'PEM'
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEAS7nijfMcUoOBCj4yOXJX+GYGv2pFl2Yaha1P4v5Cm6A=
-----END PUBLIC KEY-----
PEM

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

ZIP_NAME="clawsec-suite-v${VERSION}.zip"

# 1) Download release archive + signed checksums manifest + signing public key
curl -fsSL "$BASE/$ZIP_NAME" -o "$TEMP_DIR/$ZIP_NAME"
curl -fsSL "$BASE/checksums.json" -o "$TEMP_DIR/checksums.json"
curl -fsSL "$BASE/checksums.sig" -o "$TEMP_DIR/checksums.sig"

# 2) Verify checksums manifest signature before trusting any hashes
openssl base64 -d -A -in "$TEMP_DIR/checksums.sig" -out "$TEMP_DIR/checksums.sig.bin"
if ! openssl pkeyutl -verify \
  -pubin \
  -inkey "$TEMP_DIR/release-signing-public.pem" \
  -sigfile "$TEMP_DIR/checksums.sig.bin" \
  -rawin \
  -in "$TEMP_DIR/checksums.json" >/dev/null 2>&1; then
  echo "ERROR: checksums.json signature verification failed" >&2
  exit 1
fi

EXPECTED_ZIP_SHA="$(jq -r '.archive.sha256 // empty' "$TEMP_DIR/checksums.json")"
if [ -z "$EXPECTED_ZIP_SHA" ]; then
  echo "ERROR: checksums.json missing archive.sha256" >&2
  exit 1
fi

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

if [ "$EXPECTED_ZIP_SHA" != "$ACTUAL_ZIP_SHA" ]; then
  echo "ERROR: Archive checksum mismatch for $ZIP_NAME" >&2
  exit 1
fi

echo "Checksums manifest signature and archive hash verified."

# 3) Install verified archive
mkdir -p "$INSTALL_ROOT"
rm -rf "$DEST"
unzip -q "$TEMP_DIR/$ZIP_NAME" -d "$INSTALL_ROOT"

chmod 600 "$DEST/skill.json"
find "$DEST" -type f ! -name "skill.json" -exec chmod 644 {} \;

echo "Installed clawsec-suite v${VERSION} to: $DEST"
echo "Next step (OpenClaw): node \"\$DEST/scripts/setup_advisory_hook.mjs\""
```

Excerpt, first 6,001 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.

Install

Pinned to the audited commit 5e94f51

Download folder ↗
npx skills add prompt-security/clawsec --skill clawsec-suite -a openclaw -y

Commands as the repository documents them: shown, never run by us. Our verdict covers commit 5e94f51c4f35 only.

Works in which agents?

What its own text says, not a test

AgentStatusMore
OpenClawMentioned in its text, not testedSkills for OpenClaw · About OpenClaw
“Mentioned” means the skill’s text names the agent. We have not run it there.

Audit history

Every audit, every source change

  1. !CAUTION B 89 / 100

    first audit · source 5e94f51c4f35

README badge

For maintainers · shows the latest audit

ModelsAtlas: CAUTION BMODELSATLASCAUTION · B
[![ModelsAtlas: CAUTION B](https://modelsatlas.com/skills/prompt-security/clawsec-suite/badge.svg)](https://modelsatlas.com/skills/prompt-security/clawsec-suite/)

The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.

Similar skills

openclaw-audit-watchdog✓SAFE

prompt-security/clawsec

Automated daily security audits for OpenClaw agents with DM delivery and optional email reporting. Runs deep audits, creates or updates a recurring cron job, and sends formatted reports to configured recipients.

★ 1.1kGrade B
Autocontext✓SAFE

greyhaven-ai/autocontext

Iterative strategy generation and evaluation system. Use when the user wants to evaluate agent output quality, run improvement loops, queue tasks for background evaluation, check run status, inspect runtime artifacts…

★ 1.3kGrade B
Grid Ctf Ops✓SAFE

greyhaven-ai/autocontext

Operational knowledge for the grid_ctf scenario including strategy playbook, lessons learned, and resource references. Use when generating, evaluating, coaching, or debugging grid_ctf strategies.

★ 1.3kGrade B
yt✓SAFE

zeropointrepo/youtube-skills

Use when YouTube is relevant: pasted video links or IDs, @handles, quick video lookups, summaries, channel latest uploads, topic search, or any request involving YouTube content — even if YouTube is not mentioned…

★ 1.1kGrade B
youtube-channels✓SAFE

zeropointrepo/youtube-skills

Use when a YouTube channel is the focus: pasted @handles or channel URLs, requests to browse a creator's uploads, see what a channel has posted recently, search within a channel, or resolve a handle to a channel ID.…

★ 1.1kGrade B
youtube-data✓SAFE

zeropointrepo/youtube-skills

Use when structured YouTube data is needed: pasted video/channel/playlist links, transcripts for analysis, video metadata, channel upload history, search results, or playlist contents — without Google API quotas or…

★ 1.1kGrade B

Add this badge to your README

[![ModelsAtlas: CAUTION B](https://modelsatlas.com/skills/prompt-security/clawsec-suite/badge.svg)](https://modelsatlas.com/skills/prompt-security/clawsec-suite/)

Questions about clawsec-suite

What does the clawsec-suite skill do?
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.
Is clawsec-suite safe to install?
With care. The audit graded it B (89/100) and found 10 things worth knowing before you trust this skill, listed below with the exact line each was found on.
What can clawsec-suite access on my machine?
The audit observed that it reaches the network and reads or writes files. At least one of those is not mentioned in its own description, which is itself a finding. Secrets in the source: none found.
Which assistants does clawsec-suite work with?
Its documentation mentions openclaw. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (5e94f51c4f35), read on 2026-10-20. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.