Scan Report
5 /100
openclaw-usage-dashboard
Interactive local dashboard for OpenClaw API usage — shows token consumption, request counts, and system health
OpenClaw Usage Dashboard is a legitimate, well-audited local monitoring tool with zero external network calls, hardcoded-only shell commands, comprehensive XSS protection, and secret sanitization — no malicious behavior detected.
Safe to install
Safe to use. No action required.
Findings 2 items
| Severity | Finding | Location |
|---|---|---|
| Low | Dead code: unused sanitization functions Doc Mismatch | server.js:70 |
| Low | Dead code: configInfo variable Doc Mismatch | dashboard.html:264 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | READ | READ | ✓ Aligned | Reads ~/.openclaw/agents/*/sessions/*.jsonl — declared in SKILL.md requirements |
| Shell | WRITE | READ | ✓ Aligned | execSync only for hardcoded system commands (vm_stat, df, powershell, openclaw v… |
| Network | NONE | NONE | — | Server binds to 127.0.0.1 only; no external network calls |
| Environment | NONE | READ | ✓ Aligned | Only reads USERPROFILE/homedir for path resolution; no credential harvesting |
2 findings
Medium External URL 外部 URL
http://www.w3.org/2000/svg%22 dashboard.html:7 Medium External URL 外部 URL
https://clawhub.com dashboard.html:269 File Tree
5 files · 81.2 KB · 1719 lines HTML 1f · 856L
JavaScript 1f · 641L
Markdown 3f · 222L
├─
AUDIT.md
Markdown
├─
dashboard.html
HTML
├─
README.md
Markdown
├─
server.js
JavaScript
└─
SKILL.md
Markdown
Security Positives
✓ Zero external network calls — all server traffic is localhost only
✓ All shell commands are hardcoded with no user input interpolation (execSync with fixed strings only)
✓ Comprehensive XSS protection: esc() escapes all 5 HTML special chars including single quotes
✓ SECRET_PATTERNS regex array sanitizes API keys, Bearer tokens, and credential patterns from parsed logs
✓ getConfig() extracts ONLY model metadata from openclaw.json — credentials are never accessed or exposed
✓ Hard timeouts (2-5s) on all execSync calls with try/catch fallbacks
✓ Memory budget (100MB) and session limits (2000 files, 365 days) prevent resource exhaustion
✓ Thorough pre-release audit documented in AUDIT.md (9 issues found and fixed)
✓ Zero npm dependencies — no supply chain attack surface
✓ CSP headers, X-Frame-Options DENY, X-Content-Type-Options nosniff on all responses
✓ CORS restricted to localhost:PORT only
✓ Session file size limit (10MB per file) prevents malicious log files from blocking the process
✓ Uses spawn with array args (not shell) for browser auto-open — no shell injection risk