ClawAudit verdict

openclaw-workflow

88
🟢 Trusted
Low risk — reviewed by ClawAudit, behavior matches stated purpose

YAML-driven deterministic workflow engine that executes scripts and LLM calls via the local OpenClaw gateway; no exfiltration or hidden behavior.

⚠ Flagged for review — coarse, uncorroborated signal, not a confirmed exploit. Review the config yourself before installing.

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.

0
security
70
transparency
70
maintenance

Permission integrity

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

network_out

Findings (11)

Pattern match high

Uses eval() — can execute arbitrary code

scripts/engine/context.py · prose · downgraded · eval(

Pattern match high

Direct __builtins__ access — can invoke any builtin function

scripts/engine/sandbox.py · prose · downgraded · __builtins__.

Pattern match medium

Uses spawn() — can execute external programs

SKILL.md · prose · downgraded · spawn (

Pattern match medium

Accesses OpenClaw config/secrets directly

scripts/engine/bridge.py · prose · downgraded · ~/.openclaw/openclaw.json

Pattern match medium

subprocess execution — runs system commands from Python

scripts/engine/bridge.py · prose · downgraded · subprocess.run(

Pattern match medium

subprocess with shell=True — command injection vector

scripts/engine/nodes.py · prose · downgraded · subprocess.run( command, shell=True

Pattern match medium

Uses exec() — may execute shell commands

scripts/engine/sandbox.py · prose · downgraded · exec(

Pattern match medium

os.system/popen — direct OS command execution

scripts/openclaw_workflow.py · prose · downgraded · os.execvp(

Pattern match low

Opens WebSocket connection

scripts/engine/bridge.py · prose · downgraded · WebSocket

Pattern match low

Python os.environ.get — reads environment variable

scripts/engine/context.py · prose · downgraded · os.environ.get(

Pattern match low

Python urllib.request — network access

scripts/engine/nodes.py · prose · downgraded · urllib.request

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

Requires 1 system binary.

network_out

Is this flag fair?

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