扫描报告
5 /100
skill-composer
编排多个OpenClaw技能成自动化工作流,一次命令完成复杂任务
Skill Composer 是一个良性的工作流编排器,代码简洁清晰,声明与实际行为高度一致,仅存在install.sh中pip install无版本锁定这一轻微供应链瑕疵。
可以安装
可直接使用。如需更高安全标准,可要求 install.sh 中的 pip install 添加版本锁定(--strict 或 ==版本号)。
安全发现 1 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | pip install 依赖无版本锁定 供应链 | install.sh:20 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | READ | READ | ✓ 一致 | source/composer.py:56 仅 open() 读取工作流 YAML;无未声明写操作 |
| 命令执行 | WRITE | WRITE | ✓ 一致 | source/composer.py:89 通过 subprocess.run(['claw', 'skill', 'exec', ...]) 执行外部技能,S… |
| 技能调用 | WRITE | WRITE | ✓ 一致 | source/composer.py:89 调用 claw skill exec,skill.json 声明 skills:['*'] 可编排任意技能,与文档一… |
| 网络访问 | NONE | NONE | — | 代码无任何网络请求(requests/urllib/httpx),符合无网络声明 |
| 环境变量 | NONE | READ | ✓ 一致 | source/composer.py:78 eval() 中访问 __builtins__,不访问 os.environ,变量仅来自 YAML 解析,安全 |
1 项发现
中危 外部 URL 外部 URL
https://utopiabenben.github.io/ai-skills/ SKILL.md:207 目录结构
7 文件 · 19.1 KB · 703 行 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
依赖分析 2 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
PyYAML | 未指定(install.sh)/ >=5.4(skill.json声明) | pip | 否 | install.sh 中未锁定版本,存在轻微供应链不确定性 |
claw | 未声明版本 | 系统CLI(外部依赖) | 否 | 假设已安装,非本skill管理 |
安全亮点
✓ 代码逻辑简洁清晰,无混淆、无Base64、无可疑字符串
✓ 声明与实际行为高度一致,无阴影功能
✓ eval() 使用了良好的沙箱限制:{"__builtins__": {}},防止任意代码执行
✓ 无凭证收割、无数据外泄、无远程代码下载
✓ subprocess 调用仅执行 claw CLI,无裸 shell 注入风险
✓ 工作流参数插值仅处理 YAML 内置变量,无命令注入路径