Caveat verdict
clawguard-auditor
Reads files AND uses eval/Function
Static security auditor that reads skill files and analyzes code patterns locally; no network exfiltration, all analysis output stays in the local session.
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.
Reads files AND uses eval/Function — may execute locally stored payloads
LLM05 · LLM06 · ASI05
Encodes data AND uses eval — the obfuscated-execution pattern (atob + eval; data-flow not verified)
LLM05 · ASI05 · ASI10
Permission integrity
file_read
Findings (16)
Uses eval() — can execute arbitrary code
SKILL.md · code · eval(
Accesses sensitive system files
README.md · code · /etc/passwd
References child_process — can spawn system processes
README.md · code · child_process
Dynamic __import__('os') — Python OS command execution
SKILL.md · prose · downgraded · __import__('os')
Accesses .ssh directory
SKILL.md · code · .ssh/
References sudo — requests elevated privileges
SKILL.md · code · sudo
Dynamic Function constructor — equivalent to eval()
SKILL.md · prose · downgraded · new Function(
Accesses cloud provider credentials
SKILL.md · code · ~/.aws
Pipe to bash — executes piped content as shell commands
src/auditor.js · prose · downgraded · |bash
Uses exec() — may execute shell commands
SKILL.md · prose · downgraded · exec(
os.system/popen — direct OS command execution
SKILL.md · prose · downgraded · os.system(
Popular HTTP library — network access
SKILL.md · code · axios
String.fromCharCode — can build strings to evade detection
SKILL.md · prose · downgraded · String.fromCharCode
Python urllib.request — network access
src/intent-drift-detector.js · prose · downgraded · urllib.request
Opens WebSocket connection
src/sast-analyzer.js · prose · downgraded · WebSocket
Node http/https module — low-level network access
src/supply-chain-analyzer.js · prose · downgraded · require('https')
Why the tier is capped
Execution sink present in raw bytes (Hard Floor: class A/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.
credential_storedata_encodingfile_readdynamic_eval Thanks — recorded.