Scan Report
5 /100
openclaw-workflow
OC-Flow: Deterministic workflow engine for OpenClaw via YAML playbooks — conditionals, loops, scripts, LLM/Agent/Skill calls, subagents, HTTP, messaging.
OpenClaw Workflow is a legitimate deterministic YAML workflow engine for OpenClaw with no malicious behavior. All capabilities are declared or are obvious features of a workflow automation tool. Minor documentation gap on filesystem:WRITE but does not constitute a security risk.
Safe to install
No action required. This is a genuine OpenClaw skill. Monitor for any suspicious workflow YAML files that may be shared/mounted into the engine.
Findings 5 items
| Severity | Finding | Location |
|---|---|---|
| Low | Undeclared filesystem WRITE permission | scripts/engine/nodes.py:43 |
| Info | Arbitrary shell command execution in script node | scripts/engine/nodes.py:56 |
| Info | CLI-based Gateway RPC | scripts/engine/bridge.py:205 |
| Info | Sandbox restricts dangerous builtins | scripts/engine/sandbox.py:15 |
| Info | Requirements pinned with lower bounds | scripts/requirements.txt:1 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | NONE | WRITE | ✓ Aligned | scripts/engine/nodes.py:run_script (tempfile.NamedTemporaryFile) |
| Shell | NONE | WRITE | ✓ Aligned | scripts/engine/nodes.py:run_script — subprocess.run with user command, implied b… |
| Network | NONE | READ | ✓ Aligned | scripts/engine/nodes.py:run_http — urllib HTTP requests; SKILL.md declares 'http… |
| Environment | NONE | READ | ✓ Aligned | scripts/engine/context.py:_resolve_path — env.VAR access; SKILL.md documents {{e… |
| Skill Invoke | NONE | WRITE | ✓ Aligned | scripts/engine/nodes.py:run_skill — Gateway bridge calls OpenClaw skills; SKILL.… |
| Clipboard | NONE | NONE | — | N/A |
| Browser | NONE | NONE | — | N/A |
| Database | NONE | NONE | — | N/A |
6 findings
Medium External URL 外部 URL
https://api.example.com/data SKILL.md:91 Medium External URL 外部 URL
https://api.example.com/v1/report SKILL.md:528 Medium External URL 外部 URL
https://httpbin.org/get references/examples/comprehensive_test.yaml:183 Medium External URL 外部 URL
https://httpbin.org/post references/examples/comprehensive_test.yaml:202 Medium External URL 外部 URL
https://official-joke-api.appspot.com/random_joke references/examples/http_pipeline.yaml:17 Medium External URL 外部 URL
https://httpbin.org/ip references/examples/http_pipeline.yaml:42 File Tree
21 files · 223.6 KB · 6276 lines Python 9f · 4505L
Markdown 4f · 923L
YAML 7f · 846L
Text 1f · 2L
├─
▾
references
│ ├─
▾
examples
│ │ ├─
basic_test.yaml
YAML
│ │ ├─
comprehensive_test.yaml
YAML
│ │ ├─
deep_integration.yaml
YAML
│ │ ├─
error_handling.yaml
YAML
│ │ ├─
http_pipeline.yaml
YAML
│ │ ├─
openclaw_integration.yaml
YAML
│ │ └─
subagent_test.yaml
YAML
│ └─
readme.md
Markdown
├─
▾
scripts
│ ├─
▾
engine
│ │ ├─
__init__.py
Python
│ │ ├─
bridge.py
Python
│ │ ├─
context.py
Python
│ │ ├─
engine.py
Python
│ │ ├─
nodes.py
Python
│ │ ├─
sandbox.py
Python
│ │ └─
schema.py
Python
│ ├─
dashboard.py
Python
│ ├─
openclaw_workflow.py
Python
│ └─
requirements.txt
Text
├─
README_ZH.md
Markdown
├─
README.md
Markdown
└─
SKILL.md
Markdown
Dependencies 2 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
pyyaml | >=6.0 | pip | No | Lower-bound pinning, acceptable for skill package |
streamlit | >=1.30.0 | pip | No | Lower-bound pinning, dashboard only |
Security Positives
✓ No base64-encoded payloads piped into bash
✓ No direct IP network requests to external servers
✓ No eval(), atob(), or dynamic code execution on untrusted input
✓ No access to ~/.ssh, ~/.aws, .env, or other sensitive credential paths
✓ No curl|bash or wget|sh remote script execution
✓ No credential harvesting or data exfiltration
✓ No hidden functionality — all features are present in SKILL.md (script node implies shell access)
✓ Sandbox properly excludes dangerous builtins (os.system, subprocess, eval, exec, __import__)
✓ Module imports in sandbox are whitelisted
✓ Session cleanup in finally block prevents resource leaks
✓ Clean architecture: Gateway RPC for AI calls, local subprocess for CLI tools
✓ Requirements use version pinning with lower bounds