Scan Report
5 /100
skill-composer
编排多个OpenClaw技能成自动化工作流,一次命令完成复杂任务
Skill Composer 是一个良性的工作流编排器,代码简洁清晰,声明与实际行为高度一致,仅存在install.sh中pip install无版本锁定这一轻微供应链瑕疵。
Safe to install
可直接使用。如需更高安全标准,可要求 install.sh 中的 pip install 添加版本锁定(--strict 或 ==版本号)。
Findings 1 items
| Severity | Finding | Location |
|---|---|---|
| Low | pip install 依赖无版本锁定 Supply Chain | install.sh:20 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | READ | READ | ✓ Aligned | source/composer.py:56 仅 open() 读取工作流 YAML;无未声明写操作 |
| Shell | WRITE | WRITE | ✓ Aligned | source/composer.py:89 通过 subprocess.run(['claw', 'skill', 'exec', ...]) 执行外部技能,S… |
| Skill Invoke | WRITE | WRITE | ✓ Aligned | source/composer.py:89 调用 claw skill exec,skill.json 声明 skills:['*'] 可编排任意技能,与文档一… |
| Network | NONE | NONE | — | 代码无任何网络请求(requests/urllib/httpx),符合无网络声明 |
| Environment | NONE | READ | ✓ Aligned | source/composer.py:78 eval() 中访问 __builtins__,不访问 os.environ,变量仅来自 YAML 解析,安全 |
1 findings
Medium External URL 外部 URL
https://utopiabenben.github.io/ai-skills/ SKILL.md:207 File Tree
7 files · 19.1 KB · 703 lines Python 1f · 241L
Markdown 1f · 206L
YAML 3f · 140L
JSON 1f · 83L
Shell 1f · 33L
├─
▾
examples
│ ├─
content-creation-pipeline.yaml
YAML
│ ├─
video-processing-pipeline.yaml
YAML
│ └─
weekly-stock-report.yaml
YAML
├─
▾
source
│ └─
composer.py
Python
├─
install.sh
Shell
├─
skill.json
JSON
└─
SKILL.md
Markdown
Dependencies 2 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
PyYAML | 未指定(install.sh)/ >=5.4(skill.json声明) | pip | No | install.sh 中未锁定版本,存在轻微供应链不确定性 |
claw | 未声明版本 | 系统CLI(外部依赖) | No | 假设已安装,非本skill管理 |
Security Positives
✓ 代码逻辑简洁清晰,无混淆、无Base64、无可疑字符串
✓ 声明与实际行为高度一致,无阴影功能
✓ eval() 使用了良好的沙箱限制:{"__builtins__": {}},防止任意代码执行
✓ 无凭证收割、无数据外泄、无远程代码下载
✓ subprocess 调用仅执行 claw CLI,无裸 shell 注入风险
✓ 工作流参数插值仅处理 YAML 内置变量,无命令注入路径