ClawAudit verdict
skill-vetting
eason-skill-vetting
Fetches from network AND uses eval/Function
Security vetting tool that downloads skills to /tmp for static analysis before installation; the dynamic_eval capability reflects the scanner script analyzing skill code, and the skill itself includes strong anti-prompt-injection guidance for reviewers.
Automated static analysis — not a human review. ClawAudit 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 ClawAudit detects co-occurrence — it does not verify that one flows into another. Read the code to confirm a live chain.
Fetches from network AND uses eval/Function — the remote-code-execution pattern (data-flow not verified)
LLM05 · LLM06 · ASI05
Encodes data AND uses eval — the obfuscated-execution pattern (atob + eval; data-flow not verified)
LLM05 · ASI05 · ASI10
Permission integrity
network_out
Findings (17)
Uses eval() — can execute arbitrary code
ARCHITECTURE.md · code · eval(
Dynamic __import__('os') — Python OS command execution
references/patterns.md · code · __import__('os')
Recursive delete from root or home — destructive command
references/patterns.md · code · rm -rf /
Accesses sensitive system files
references/patterns.md · code · /etc/passwd
Prompt injection — tries to override agent instructions
references/patterns.md · code · Ignore all previous instructions
Uses exec() — may execute shell commands
references/patterns.md · code · exec(
Hex-encoded string — possible obfuscated payload
references/patterns.md · code · \x69\x6d\x70\x6f\x72\x74\x20\x6f\x73
Accesses .ssh directory
references/patterns.md · code · .ssh/
Possible prompt injection — attempts to redefine agent identity
references/patterns.md · code · You are now
Fake system prompt — attempts to inject instructions
references/patterns.md · code · system: You are
subprocess execution — runs system commands from Python
references/patterns.md · code · subprocess.run(
subprocess with shell=True — command injection vector
references/patterns.md · code · subprocess.run(f'ls {user_input}', shell=True
os.system/popen — direct OS command execution
references/patterns.md · code · os.system(
importlib.import_module — dynamic module loading
SKILL.md · code · importlib.import_module(
Python shutil file operation — copies/moves/deletes files
references/patterns.md · code · shutil.rmtree(
POSTs data to external URL
references/patterns.md · code · .post('https://
Python os.getenv — reads environment variable
references/patterns.md · code · os.getenv(
Why the tier is capped
Execution sink present in raw bytes (Hard Floor: class 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_outdynamic_evaldata_encoding Thanks — recorded.