Scan Report
65 /100
task-progress-stream
Stream long-running task progress into the OpenClaw chat UI
The skill executes arbitrary shell commands through user-controlled input without declaring shell:WRITE capability in SKILL.md, representing a significant undeclared privilege escalation vector.
Do not install this skill
Do not approve this skill without declaring shell:WRITE capability. The --cmd parameter allows arbitrary command execution which could be exploited for privilege escalation.
Attack Chain 3 steps
⬡
Escalation User invokes skill with --cmd parameter
scripts/task_progress_stream.js:265⬡
Escalation Arbitrary command passed to /bin/bash -lc without validation
scripts/task_progress_stream.js:285◉
Impact Attacker can run: curl|bash from external source, pip install malicious packages, or access system resources
scripts/task_progress_stream.js:285Findings 3 items
| Severity | Finding | Location |
|---|---|---|
| High | Undeclared shell command execution Priv Escalation | scripts/task_progress_stream.js:285 |
| High | No command validation or sanitization Priv Escalation | scripts/task_progress_stream.js:285 |
| Medium | Filesystem write operations not declared Doc Mismatch | scripts/task_progress_stream.js:234 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Shell | NONE | WRITE | ✗ Violation | scripts/task_progress_stream.js:285 - spawn('/bin/bash', ['-lc', cmd]) |
| Filesystem | NONE | WRITE | ✗ Violation | scripts/task_progress_stream.js:279-281 - creates outDir and status files |
| Network | NONE | NONE | — | openclaw gateway call is local IPC only |
File Tree
2 files · 14.0 KB · 528 lines JavaScript 1f · 473L
Markdown 1f · 55L
├─
▾
scripts
│ └─
task_progress_stream.js
JavaScript
└─
SKILL.md
Markdown
Security Positives
✓ No credential harvesting - script does not read API keys, tokens, or passwords
✓ No data exfiltration - only local IPC with openclaw gateway, no external network requests
✓ No obfuscation - code is readable JavaScript without base64 or eval() tricks
✓ No malicious dependencies - no package.json with untrusted packages
✓ Progress parsing is legitimate functionality as documented