扫描报告
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.
可以安装
No action required. This is a genuine OpenClaw skill. Monitor for any suspicious workflow YAML files that may be shared/mounted into the engine.
安全发现 5 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | Undeclared filesystem WRITE permission | scripts/engine/nodes.py:43 |
| 提示 | Arbitrary shell command execution in script node | scripts/engine/nodes.py:56 |
| 提示 | CLI-based Gateway RPC | scripts/engine/bridge.py:205 |
| 提示 | Sandbox restricts dangerous builtins | scripts/engine/sandbox.py:15 |
| 提示 | Requirements pinned with lower bounds | scripts/requirements.txt:1 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | NONE | WRITE | ✓ 一致 | scripts/engine/nodes.py:run_script (tempfile.NamedTemporaryFile) |
| 命令执行 | NONE | WRITE | ✓ 一致 | scripts/engine/nodes.py:run_script — subprocess.run with user command, implied b… |
| 网络访问 | NONE | READ | ✓ 一致 | scripts/engine/nodes.py:run_http — urllib HTTP requests; SKILL.md declares 'http… |
| 环境变量 | NONE | READ | ✓ 一致 | scripts/engine/context.py:_resolve_path — env.VAR access; SKILL.md documents {{e… |
| 技能调用 | NONE | WRITE | ✓ 一致 | scripts/engine/nodes.py:run_skill — Gateway bridge calls OpenClaw skills; SKILL.… |
| 剪贴板 | NONE | NONE | — | N/A |
| 浏览器 | NONE | NONE | — | N/A |
| 数据库 | NONE | NONE | — | N/A |
6 项发现
中危 外部 URL 外部 URL
https://api.example.com/data SKILL.md:91 中危 外部 URL 外部 URL
https://api.example.com/v1/report SKILL.md:528 中危 外部 URL 外部 URL
https://httpbin.org/get references/examples/comprehensive_test.yaml:183 中危 外部 URL 外部 URL
https://httpbin.org/post references/examples/comprehensive_test.yaml:202 中危 外部 URL 外部 URL
https://official-joke-api.appspot.com/random_joke references/examples/http_pipeline.yaml:17 中危 外部 URL 外部 URL
https://httpbin.org/ip references/examples/http_pipeline.yaml:42 目录结构
21 文件 · 223.6 KB · 6276 行 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
依赖分析 2 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
pyyaml | >=6.0 | pip | 否 | Lower-bound pinning, acceptable for skill package |
streamlit | >=1.30.0 | pip | 否 | Lower-bound pinning, dashboard only |
安全亮点
✓ 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