Low Risk — Risk Score 15/100
Last scan:1 day ago Rescan
15 /100
ProcessGuard — Critical Process Monitor & Auto-Restart
Monitor critical processes, auto-restart on failure, track CPU/memory, send alerts via webhook/callback/file, and write dead man's switch heartbeat.
ProcessGuard is a legitimate process monitoring skill with solid security controls — shell operator blocking, optional allowlist enforcement, and spawn with shell:false. The pre-flagged 'rm -rf /' is a documentation example demonstrating the allowlist security model, not actual malicious code.
Skill NameProcessGuard — Critical Process Monitor & Auto-Restart
Duration34.1s
Enginepi
Safe to install
This skill is safe to use. Ensure commandAllowlist is configured in production deployments to restrict restart executables to trusted binaries only.

Findings 2 items

Severity Finding Location
Low
SKILL.md lacks allowed-tools declaration Doc Mismatch
SKILL.md does not declare allowed-tools permissions, yet the implementation uses shell:WRITE (spawn) and filesystem:WRITE (file writes). This is a documentation gap rather than hidden functionality.
No allowed-tools section present
→ Add 'allowed-tools: Bash→shell:WRITE, Read→filesystem:READ, Write→filesystem:WRITE' to SKILL.md frontmatter.
SKILL.md:1
Info
PID file reading from configurable paths Sensitive Access
The skill reads PID files from user-specified paths (pid_file config). While not inherently malicious (this is standard process management), any file path is readable.
fs.readFileSync(pidFile, 'utf8')
→ Ensure users do not configure sensitive PID files from untrusted sources.
src/process-guard.js:163
ResourceDeclaredInferredStatusEvidence
Shell NONE WRITE ✓ Aligned src/process-guard.js:179 - spawn() used to execute restart commands
Filesystem NONE WRITE ✓ Aligned src/process-guard.js:303-307 - fs.writeFileSync for heartbeat/logs
Network READ READ ✓ Aligned src/process-guard.js:138 - HTTP/HTTPS health checks
Environment NONE READ ✓ Aligned src/process-guard.js:164 - process.kill(pid, 0) for PID existence check
Browser NONE NONE N/A
Clipboard NONE NONE N/A
Database NONE NONE N/A
Skill Invoke NONE NONE N/A
1 Critical 8 findings
💀
Critical Dangerous Command 危险 Shell 命令
rm -rf /
README.md:204
🔗
Medium External URL 外部 URL
https://hooks.slack.com/services/...
README.md:107
🔗
Medium External URL 外部 URL
https://ko-fi.com/theshadowrose
README.md:372
🔗
Medium External URL 外部 URL
https://shadowyrose.gumroad.com
README.md:373
🔗
Medium External URL 外部 URL
https://twitter.com/TheShadowyRose
README.md:374
🔗
Medium External URL 外部 URL
https://promptbase.com/profile/shadowrose
README.md:376
🔗
Medium External URL 外部 URL
https://www.fiverr.com/s/jjmlZ0v
README.md:382
📧
Info Email 邮箱地址
[email protected]
README.md:371

File Tree

3 files · 30.6 KB · 889 lines
JavaScript 1f · 454L Markdown 2f · 435L
├─ 📁 src
│ └─ 📜 process-guard.js JavaScript 454L · 17.4 KB
├─ 📝 README.md Markdown 384L · 11.3 KB
└─ 📝 SKILL.md Markdown 51L · 1.9 KB

Dependencies 1 items

PackageVersionSourceKnown VulnsNotes
pidusage * npm No Optional dependency - CPU/memory monitoring disabled if absent

Security Positives

✓ Uses spawn with shell:false — no shell interpolation or injection surface
✓ Shell operator blocking enforced unconditionally: /[;&|`$ <>]/
✓ commandAllowlist provides defense-in-depth for restart commands
✓ README.md:204 demonstrates rm -rf / blocked by allowlist (not executed)
✓ spawnSync with shell:false for command health checks — secure implementation
✓ HTTP requests only for declared health checks and user-configured webhooks
✓ No base64, eval, or obfuscated code patterns
✓ No credential harvesting or environment variable exfiltration
✓ No suspicious network IOCs (IPs, C2 patterns)
✓ Optional dependency (pidusage) gracefully degrades if not installed