低风险 — 风险评分 20/100
上次扫描:10 小时前 重新扫描
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 远程检查但实际是本地操作),存在文档-行为偏差但未发现恶意行为
技能名称server-watchdog
分析耗时39.9s
引擎pi
可以安装
建议修复 SKILL.md 文档,准确描述实际功能范围(仅本地 MongoDB 监控)

安全发现 4 项

严重性 安全发现 位置
中危
文档声明 SSH 远程检查但实际是本地监控 文档欺骗
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
中危
文档声称支持多种数据库但实际仅支持 MongoDB 文档欺骗
SKILL.md 列举 MongoDB、MySQL、PostgreSQL,但代码仅实现 MongoDB 监控
database status (MongoDB, MySQL, PostgreSQL)
→ 文档应只声明实际支持的 MongoDB
SKILL.md:10
低危
Telegram Chat ID 硬编码 敏感访问
scripts/mongodb-watchdog.js:37 硬编码 chatId: '1663667034',虽然可被环境变量覆盖,但默认值不应暴露
chatId: process.env.TELEGRAM_CHAT_ID || '1663667034'
→ 移除硬编码默认值,要求必须通过环境变量配置
scripts/mongodb-watchdog.js:37
低危
硬编码系统路径 敏感访问
代码硬编码了 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
资源类型声明权限推断权限状态证据
文件系统 READ READ ✓ 一致 mongodb-watchdog.js:98 fs.readSync
命令执行 WRITE WRITE ✓ 一致 mongodb-watchdog.js:62 exec() 执行 net stop/start
网络访问 READ WRITE ✓ 一致 mongodb-watchdog.js:119 https.request POST 到 Telegram API
环境变量 NONE READ ✓ 一致 mongodb-watchdog.js:36 process.env.TELEGRAM_BOT_TOKEN
数据库 READ READ ✓ 一致 mongodb-watchdog.js:45 MongoClient 本地连接

目录结构

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

依赖分析 1 项

包名版本来源已知漏洞备注
mongodb 未指定(pnpm自动解析) npm 依赖未在 package.json 中锁定版本

安全亮点

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