扫描报告
45 /100
file-transfer-thru-local-workspace
通过网页上传/下载文件到本地OpenClaw workspace,技能浏览下载
文件传输技能存在网络暴露和认证绕过风险,服务监听在0.0.0.0且支持无认证模式,允许未授权文件操作和技能包下载
谨慎使用
1. 强制要求认证,不允许无认证模式;2. 监听地址改为127.0.0.1而非0.0.0.0;3. 限制技能包浏览范围;4. 添加IP白名单或绑定到本地回环接口
攻击链 3 步
◎
入口 扫描发现开放端口15170的服务
src/upload-server.js:510⬡
提权 利用无认证模式访问上传API
src/upload-server.js:250◉
影响 上传恶意文件或删除任意文件
src/upload-server.js:300安全发现 4 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 中危 | 服务暴露在公网监听 敏感访问 | src/upload-server.js:510 |
| 中危 | 认证机制与文档不符 文档欺骗 | install.sh:46 |
| 中危 | 技能包浏览可访问所有技能目录 敏感访问 | src/upload-server.js:68 |
| 低危 | 使用grep解析JSON配置文件 供应链 | install.sh:31 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | WRITE | WRITE | ✓ 一致 | package.json permissions 声明与实际一致 |
| 网络访问 | listen | ADMIN | ✗ 越权 | upload-server.js:510 监听0.0.0.0而非localhost,暴露风险超出预期 |
| 命令执行 | NONE | WRITE | ✗ 越权 | install.sh:60使用nohup/env启动后台进程,uninstall.sh:23使用pkill |
1 项发现
中危 外部 URL 外部 URL
http://127.0.0.1:15170/ SKILL.md:228 目录结构
7 文件 · 62.1 KB · 1904 行 HTML 1f · 688L
JavaScript 1f · 511L
Markdown 1f · 389L
Shell 2f · 183L
JSON 2f · 133L
├─
▾
src
│ ├─
upload-server.js
JavaScript
│ └─
upload.html
HTML
├─
clawhub.json
JSON
├─
install.sh
Shell
├─
package.json
JSON
├─
SKILL.md
Markdown
└─
uninstall.sh
Shell
安全亮点
✓ 使用path.basename()防止路径遍历攻击
✓ 使用spawn执行zip命令而非直接eval shell字符串
✓ 有基本的Token认证机制(虽然可能为空)
✓ 文件操作限定在uploads目录内