This report was generated in Chinese. Some content may be in Chinese.
Suspicious — Risk Score 35/100
Last scan:5 hr ago Rescan
35 /100
task-progress-stream
Stream long-running task progress into the OpenClaw chat UI
技能功能表面合理,但存在多处文档未声明的副作用操作:状态文件写入本地目录、通过openclaw gateway本地通信、执行shell命令。缺少敏感路径隔离和命令白名单机制,存在被滥用执行任意命令的风险。
Skill Nametask-progress-stream
Duration41.9s
Enginepi
ClawHub task-progress-stream v0.1.0 by liyooyin
📥 194
ClawHub Verdict Suspicious dangerous_execllm_suspiciousvt_suspicious
Use with caution
1. SKILL.md应明确声明状态文件写入目录和gateway通信行为;2. 添加--allowed-commands参数限制可执行命令;3. 考虑限制cwd范围避免逃逸。

Findings 4 items

Severity Finding Location
Medium
状态文件写入未声明 Doc Mismatch
代码会将进度状态写入 $cwd/runs/task-progress-stream/*.status.json 和 *.status.md,SKILL.md完全未提及
writeJson(files.json, state); writeText(files.md, renderStatusMarkdown(state));
→ SKILL.md应明确说明输出文件位置和内容
scripts/task_progress_stream.js:206
Medium
OpenClaw Gateway通信未声明 Doc Mismatch
代码通过spawn openclaw gateway call chat.inject与本地聊天系统交互,SKILL.md未提及此行为
spawn('openclaw', ['gateway', 'call', 'chat.inject', payload])
→ SKILL.md应说明会调用OpenClaw API注入消息
scripts/task_progress_stream.js:244
Medium
任意shell命令执行无限制 RCE
--cmd参数直接传入/bin/bash -lc执行,可执行任意shell命令,缺少命令白名单或路径限制
spawn('/bin/bash', ['-lc', cmd], { cwd, ... })
→ 考虑添加--allowed-commands参数限制可执行范围
scripts/task_progress_stream.js:298
Low
进程组管理可能误杀系统进程 Priv Escalation
process.kill(-child.pid)使用负PID杀死整个进程组,可能意外终止无关进程
process.kill(-child.pid, 'SIGTERM')
→ 考虑只杀死子进程而非整个进程组
scripts/task_progress_stream.js:330
ResourceDeclaredInferredStatusEvidence
Filesystem NONE WRITE ✗ Violation scripts/task_progress_stream.js:206-207 writeJson/writeText写入状态文件
Shell NONE WRITE ✗ Violation scripts/task_progress_stream.js:298 spawn '/bin/bash' '-lc' cmd
Environment NONE READ ✗ Violation scripts/task_progress_stream.js:292 cwd参数来自用户
Network NONE READ ✗ Violation scripts/task_progress_stream.js:244 spawn openclaw gateway本地通信

File Tree

2 files · 14.0 KB · 528 lines
JavaScript 1f · 473L Markdown 1f · 55L
├─ 📁 scripts
│ └─ 📜 task_progress_stream.js JavaScript 473L · 12.9 KB
└─ 📝 SKILL.md Markdown 55L · 1.1 KB

Security Positives

✓ 无外部网络请求,仅本地openclaw通信
✓ 无凭证窃取或环境变量遍历行为
✓ 无Base64或混淆代码
✓ 无HTML注释隐藏指令
✓ 核心功能(进度解析)实现合理