扫描报告
35 /100
task-progress-stream
Stream long-running task progress into the OpenClaw chat UI
技能功能表面合理,但存在多处文档未声明的副作用操作:状态文件写入本地目录、通过openclaw gateway本地通信、执行shell命令。缺少敏感路径隔离和命令白名单机制,存在被滥用执行任意命令的风险。
谨慎使用
1. SKILL.md应明确声明状态文件写入目录和gateway通信行为;2. 添加--allowed-commands参数限制可执行命令;3. 考虑限制cwd范围避免逃逸。
安全发现 4 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 中危 | 状态文件写入未声明 文档欺骗 | scripts/task_progress_stream.js:206 |
| 中危 | OpenClaw Gateway通信未声明 文档欺骗 | scripts/task_progress_stream.js:244 |
| 中危 | 任意shell命令执行无限制 代码执行 | scripts/task_progress_stream.js:298 |
| 低危 | 进程组管理可能误杀系统进程 权限提升 | scripts/task_progress_stream.js:330 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | NONE | WRITE | ✗ 越权 | scripts/task_progress_stream.js:206-207 writeJson/writeText写入状态文件 |
| 命令执行 | NONE | WRITE | ✗ 越权 | scripts/task_progress_stream.js:298 spawn '/bin/bash' '-lc' cmd |
| 环境变量 | NONE | READ | ✗ 越权 | scripts/task_progress_stream.js:292 cwd参数来自用户 |
| 网络访问 | NONE | READ | ✗ 越权 | scripts/task_progress_stream.js:244 spawn openclaw gateway本地通信 |
目录结构
2 文件 · 14.0 KB · 528 行 JavaScript 1f · 473L
Markdown 1f · 55L
├─
▾
scripts
│ └─
task_progress_stream.js
JavaScript
└─
SKILL.md
Markdown
安全亮点
✓ 无外部网络请求,仅本地openclaw通信
✓ 无凭证窃取或环境变量遍历行为
✓ 无Base64或混淆代码
✓ 无HTML注释隐藏指令
✓ 核心功能(进度解析)实现合理