Caveat verdict
skill-audit
openclaw-skill-audit
Pre-install security scanner for OpenClaw skills analyzing files for prompt injection, exfiltration, and dangerous code patterns; a meta-defensive tool with no outbound data flows and transparent detection criteria.
⚠ Flagged for review — coarse, uncorroborated signal, not a confirmed exploit. Review the config yourself before installing.
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.
Findings (9)
Uses eval() — can execute arbitrary code
scripts/scan_skill.py · prose · downgraded · eval(
Bash /dev/tcp — raw TCP connection via shell
scripts/scan_skill.py · prose · downgraded · /dev/tcp/
Pipe to sh — executes piped content as shell commands
scripts/scan_skill.py · prose · downgraded · |sh
Uses exec() — may execute shell commands
scripts/scan_skill.py · prose · downgraded · exec(
References child_process — can spawn system processes
scripts/scan_skill.py · prose · downgraded · child_process
Uses spawn() — can execute external programs
scripts/scan_skill.py · prose · downgraded · spawn(
Uses XMLHttpRequest — network access
scripts/scan_skill.py · prose · downgraded · XMLHttpRequest
Opens WebSocket connection
scripts/scan_skill.py · prose · downgraded · WebSocket
Python shutil file operation — copies/moves/deletes files
scripts/scan_skill.py · prose · downgraded · shutil.rmtree(
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.
Is this flag fair?
Thanks — recorded.