低风险 — 风险评分 15/100
上次扫描:10 小时前 重新扫描
15 /100
openclaw-workflow
OC-Flow确定性工作流引擎,通过YAML剧本执行流程控制
OpenClaw Workflow 工作流引擎,声明功能与实际行为一致,code节点有良好沙箱保护,script/http节点为声明功能。无恶意行为证据,依赖版本无锁定存在供应链轻微风险。
技能名称openclaw-workflow
分析耗时83.9s
引擎pi
可以安装
建议在 requirements.txt 中锁定具体版本以降低供应链风险。script节点执行用户命令是声明功能,由工作流编写者承担风险。

安全发现 2 项

严重性 安全发现 位置
低危
依赖版本无上限锁定 供应链
requirements.txt 中 pyyaml>=6.0 和 streamlit>=1.30.0 只有下界限制,无版本上限。可能引入已知漏洞版本或恶意版本。
pyyaml>=6.0
streamlit>=1.30.0
→ 建议锁定具体版本,如 pyyaml==6.0.2, streamlit==1.40.0
scripts/requirements.txt:1
低危
script节点shell执行权限宽泛 权限提升
script节点通过subprocess.run(command, shell=True)执行任意shell命令,权限声明为WRITE级别。虽然是声明功能,但缺乏执行边界控制。
result = subprocess.run(command, shell=True, capture_output=True, text=True, timeout=timeout, cwd=cwd, env={**os.environ, **{k: str(v) for k, v in (step.get('env') or {}).items()}})
→ 建议在文档中明确警示script节点的执行风险,由工作流编写者确保输入安全
scripts/engine/nodes.py:56
资源类型声明权限推断权限状态证据
文件系统 READ WRITE ✓ 一致 script节点支持command/inline执行Python,无未声明写入
命令执行 WRITE WRITE ✓ 一致 script节点声明shell执行,代码与声明一致
网络访问 READ READ ✓ 一致 http节点声明HTTP GET/POST,代码使用urllib.request
技能调用 WRITE WRITE ✓ 一致 skill节点通过Gateway RPC调用,声明与实现一致
环境变量 READ READ ✓ 一致 context.py支持{{env.VAR}}读取,无额外访问
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 102L · 2.4 KB
│ │ ├─ 📋 comprehensive_test.yaml YAML 410L · 13.9 KB
│ │ ├─ 📋 deep_integration.yaml YAML 31L · 1.1 KB
│ │ ├─ 📋 error_handling.yaml YAML 56L · 1.2 KB
│ │ ├─ 📋 http_pipeline.yaml YAML 54L · 1.4 KB
│ │ ├─ 📋 openclaw_integration.yaml YAML 54L · 1.5 KB
│ │ └─ 📋 subagent_test.yaml YAML 139L · 5.1 KB
│ └─ 📝 readme.md Markdown 111L · 4.1 KB
├─ 📁 scripts
│ ├─ 📁 engine
│ │ ├─ 🐍 __init__.py Python 5L · 107 B
│ │ ├─ 🐍 bridge.py Python 1133L · 44.8 KB
│ │ ├─ 🐍 context.py Python 233L · 8.4 KB
│ │ ├─ 🐍 engine.py Python 859L · 32.8 KB
│ │ ├─ 🐍 nodes.py Python 1269L · 48.6 KB
│ │ ├─ 🐍 sandbox.py Python 138L · 4.4 KB
│ │ └─ 🐍 schema.py Python 176L · 6.0 KB
│ ├─ 🐍 dashboard.py Python 495L · 17.9 KB
│ ├─ 🐍 openclaw_workflow.py Python 197L · 6.1 KB
│ └─ 📄 requirements.txt Text 2L · 30 B
├─ 📝 README_ZH.md Markdown 48L · 1.2 KB
├─ 📝 README.md Markdown 48L · 1.3 KB
└─ 📝 SKILL.md Markdown 716L · 21.4 KB

依赖分析 2 项

包名版本来源已知漏洞备注
pyyaml >=6.0 pip 无版本上限锁定
streamlit >=1.30.0 pip 无版本上限锁定

安全亮点

✓ code节点实现了良好的沙箱保护,SAFE_BUILTINS白名单限制危险函数
✓ code节点ALLOWED_MODULES限制可导入模块,防止RCE
✓ 所有节点功能在SKILL.md中完整声明,无阴影功能
✓ subagent节点通过Gateway RPC实现,session管理有完整生命周期
✓ 工作流session在finally块中确保清理,防止资源泄漏
✓ 沙箱eval_condition使用受限内置函数,防止代码注入
✓ 无凭证收割、环境变量遍历收割等恶意模式