Scan Report
25 /100
ClawDoctor
OpenClaw Health Monitor & Fixer — real-time monitoring, one-click repair, security scanning, and web dashboard for OpenClaw
ClawDoctor is a legitimate OpenClaw health monitoring tool with undocumented system-level capabilities (process termination, shell commands, config modification) that create capability mismatches, but no confirmed malicious behavior was found.
Safe to install
Add SKILL.md declarations for shell:WRITE and filesystem:WRITE capabilities, unpin psutil in install.sh, and remove commented cloud exfiltration code. The tool should declare its process-killing and config-modification behaviors explicitly.
Findings 4 items
| Severity | Finding | Location |
|---|---|---|
| Medium | SKILL.md omits all shell execution and process manipulation Doc Mismatch | SKILL.md:1 |
| Low | install.sh runs pip install without version pinning Supply Chain | install.sh:13 |
| Low | Undeclared config file read/write Sensitive Access | clawdoctor_simple.py:137 |
| Low | Commented-out cloud exfiltration infrastructure Data Exfil | agent.py:17 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Shell | NONE | WRITE | ✗ Violation | install.sh:13 pip3 install; agent_v2.py:64 pkill -f; agent_v2.py:66 launchctl; c… |
| Filesystem | NONE | WRITE | ✗ Violation | clawdoctor_simple.py:137 json.dump modifies ~/.openclaw/openclaw.json; clawdocto… |
| Network | NONE | READ | ✗ Violation | clawdoctor.py:77 curl http://127.0.0.1:18789/; agent.py:17 api.clawdoctor.io end… |
| Environment | NONE | NONE | — | No environment variable harvesting found |
1 High 15 findings
High IP Address 硬编码 IP 地址
8.8.8.8 clawdoctor.py:305 Medium External URL 外部 URL
https://img.shields.io/badge/OpenClaw-Health%20Monitor-blue?style=for-the-badge README.md:4 Medium External URL 外部 URL
https://img.shields.io/badge/Python-3.10%2B-green?style=for-the-badge&logo=python&logoColor=white README.md:5 Medium External URL 外部 URL
https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge README.md:6 Medium External URL 外部 URL
http://127.0.0.1:8080/dashboard.html README.md:22 Medium External URL 外部 URL
https://api.clawdoctor.io/v1/heartbeat agent.py:17 Medium External URL 外部 URL
http://127.0.0.1:18789/ agent.py:34 Medium External URL 外部 URL
https://cdn.tailwindcss.com dashboard.html:7 Medium External URL 外部 URL
http://127.0.0.1:52691 dashboard.html:199 Medium External URL 外部 URL
http://127.0.0.1:64144 dashboard_simple.html:183 Medium External URL 外部 URL
https://checkout.paddle.com/checkout/product/pri_01kkm07e93d54fat920xe9b5rs payment.html:48 Medium External URL 外部 URL
https://checkout.paddle.com/checkout/product/pri_01kkm09nvwj9ex7nssjf27kbch payment.html:70 Medium External URL 外部 URL
https://checkout.paddle.com/checkout/product/pri_01kkm0bk13cv93jam6nq3tvj88 payment.html:91 Medium External URL 外部 URL
http://127.0.0.1: server.py:117 Info Email 邮箱地址
[email protected] README.md:122 File Tree
16 files · 116.2 KB · 3061 lines Python 7f · 1563L
HTML 3f · 1084L
Markdown 4f · 343L
JSON 1f · 38L
Shell 1f · 33L
├─
agent_simple.py
Python
├─
agent_v2.py
Python
├─
agent.py
Python
├─
clawdoctor_simple.py
Python
├─
clawdoctor.py
Python
├─
dashboard_simple.html
HTML
├─
dashboard.html
HTML
├─
install.sh
Shell
├─
package.json
JSON
├─
payment.html
HTML
├─
README_NEW.md
Markdown
├─
README.md
Markdown
├─
screenshot-placeholder.md
Markdown
├─
server_simple.py
Python
├─
server.py
Python
└─
SKILL.md
Markdown
Dependencies 1 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
psutil | unpinned | pip | No | pip3 install without version constraint in install.sh:13; package.json specifies ^5.9.0 but install.sh ignores it |
Security Positives
✓ No base64, eval, or obfuscated code found across all files
✓ No credential harvesting loops (no iteration through os.environ for secrets)
✓ No curl|bash or wget|sh remote script execution
✓ No reverse shell, C2 communication, or confirmed data exfiltration
✓ No hidden instructions in HTML comments
✓ No access to ~/.ssh, ~/.aws, .env, or other credential paths
✓ Process termination is scoped to openclaw-gateway processes only
✓ Cloud reporting code is commented out (not active)
✓ Local-only logging saves to ~/.clawdoctor/ with no external transmission