Scan Report
65 /100
qclaw-watchdog
QClaw Watchdog - Monitors and auto-restarts QClaw when issues are detected
Hardcoded Feishu API credentials exposed in config.json combined with undocumented shell execution for process and application control operations.
Do not install this skill
Remove hardcoded credentials from config.json immediately. Use environment variables for all sensitive configuration. Document shell execution capabilities in SKILL.md. Add update.sh and publish.sh files referenced in documentation.
Findings 5 items
| Severity | Finding | Location |
|---|---|---|
| Critical | Hardcoded Feishu API Credentials in config.json | config.json:3 |
| High | Undocumented Shell Command Execution | watchdog.js:81 |
| High | Application Control via osascript | watchdog.js:228 |
| Medium | Missing Referenced Scripts | SKILL.md:90 |
| Low | Extended Check Interval | config.json:15 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | READ | WRITE | ✗ Violation | watchdog.js:67 fs.appendFileSync(LOG_FILE) |
| Shell | NONE | WRITE | ✗ Violation | watchdog.js:81 execPromise('pgrep -f QClaw'), watchdog.js:228 execPromise('open … |
| Network | NONE | READ | ✓ Aligned | watchdog.js:115 fetch(QCLAW_HEALTH_URL), Feishu WebSocket/SDK calls |
| Environment | NONE | READ | ✓ Aligned | watchdog.js:25-34 process.env reads for config |
3 findings
Medium External URL 外部 URL
http://127.0.0.1:28789/health SKILL.md:46 Medium External URL 外部 URL
https://open.feishu.cn/ SKILL.md:205 Medium External URL 外部 URL
https://open.feishu.cn/api-explorer/cli_a9333bca0c78dceb?apiName=create&project=im&resource=message&version=v1 SKILL.md:226 File Tree
6 files · 25.4 KB · 855 lines JavaScript 1f · 522L
Markdown 1f · 239L
Shell 2f · 74L
JSON 1f · 19L
Text 1f · 1L
├─
config.json
⚠
JSON
├─
init-config.sh
Shell
├─
SKILL.md
Markdown
├─
start.sh
Shell
├─
version.txt
Text
└─
watchdog.js
JavaScript
Dependencies 1 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
@larksuiteoapi/node-sdk | unpinned | npm | No | SDK version not specified in package.json (no package.json found) |
Security Positives
✓ Uses Lark SDK (@larksuiteoapi/node-sdk) instead of raw HTTP requests for Feishu integration
✓ No base64-encoded payloads or obfuscated code
✓ No suspicious network connections to unknown external IPs
✓ No credential exfiltration mechanisms observed
✓ Logging to separate files for audit trail