Low Risk — Risk Score 20/100
Last scan:9 hr ago Rescan
20 /100
server-watchdog
Monitor remote servers via SSH — check service health (PM2, systemd, Docker), database status (MongoDB, MySQL, PostgreSQL), disk space, memory, and auto-restart crashed services. Sends alerts via messaging.
这是一个合法的本地 MongoDB 监控脚本,但 SKILL.md 存在误导性声明(声称 SSH 远程检查但实际是本地操作),存在文档-行为偏差但未发现恶意行为
Skill Nameserver-watchdog
Duration39.9s
Enginepi
Safe to install
建议修复 SKILL.md 文档,准确描述实际功能范围(仅本地 MongoDB 监控)

Findings 4 items

Severity Finding Location
Medium
文档声明 SSH 远程检查但实际是本地监控 Doc Mismatch
SKILL.md 声称 'Monitor remote servers via SSH',包含大量 SSH 命令示例,但 scripts/mongodb-watchdog.js 仅在本地 127.0.0.1:27017 运行,无 SSH 功能
uri: 'mongodb://127.0.0.1:27017'
→ 更新 SKILL.md,准确描述实际功能:本地 MongoDB 监控,而非远程 SSH
SKILL.md:1, scripts/mongodb-watchdog.js:14
Medium
文档声称支持多种数据库但实际仅支持 MongoDB Doc Mismatch
SKILL.md 列举 MongoDB、MySQL、PostgreSQL,但代码仅实现 MongoDB 监控
database status (MongoDB, MySQL, PostgreSQL)
→ 文档应只声明实际支持的 MongoDB
SKILL.md:10
Low
Telegram Chat ID 硬编码 Sensitive Access
scripts/mongodb-watchdog.js:37 硬编码 chatId: '1663667034',虽然可被环境变量覆盖,但默认值不应暴露
chatId: process.env.TELEGRAM_CHAT_ID || '1663667034'
→ 移除硬编码默认值,要求必须通过环境变量配置
scripts/mongodb-watchdog.js:37
Low
硬编码系统路径 Sensitive Access
代码硬编码了 Windows 路径 C:\ProgramData\MongoDB\log\mongod.log 和 D:\ProPower_System\logs\mongodb-watchdog.json,暴露了目标服务器文件系统结构
mongodLogPath: 'C:\\ProgramData\\MongoDB\\log\\mongod.log'
→ 路径应通过配置文件或环境变量管理
scripts/mongodb-watchdog.js:25
ResourceDeclaredInferredStatusEvidence
Filesystem READ READ ✓ Aligned mongodb-watchdog.js:98 fs.readSync
Shell WRITE WRITE ✓ Aligned mongodb-watchdog.js:62 exec() 执行 net stop/start
Network READ WRITE ✓ Aligned mongodb-watchdog.js:119 https.request POST 到 Telegram API
Environment NONE READ ✓ Aligned mongodb-watchdog.js:36 process.env.TELEGRAM_BOT_TOKEN
Database READ READ ✓ Aligned mongodb-watchdog.js:45 MongoClient 本地连接

File Tree

2 files · 15.3 KB · 524 lines
JavaScript 1f · 400L Markdown 1f · 124L
├─ 📁 scripts
│ └─ 📜 mongodb-watchdog.js JavaScript 400L · 11.8 KB
└─ 📝 SKILL.md Markdown 124L · 3.5 KB

Dependencies 1 items

PackageVersionSourceKnown VulnsNotes
mongodb 未指定(pnpm自动解析) npm No 依赖未在 package.json 中锁定版本

Security Positives

✓ 代码结构清晰,功能实现完整
✓ 有自动重启次数限制,防止无限循环
✓ 有每日报告功能
✓ 日志写入本地 JSON 文件,审计可追溯
✓ 使用 MongoClient 官方驱动,无第三方恶意依赖风险
✓ 错误处理完善,有 try-catch 和超时机制