扫描报告
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.md 文档,准确描述实际功能范围(仅本地 MongoDB 监控)
安全发现 4 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 中危 | 文档声明 SSH 远程检查但实际是本地监控 文档欺骗 | SKILL.md:1, scripts/mongodb-watchdog.js:14 |
| 中危 | 文档声称支持多种数据库但实际仅支持 MongoDB 文档欺骗 | SKILL.md:10 |
| 低危 | Telegram Chat ID 硬编码 敏感访问 | scripts/mongodb-watchdog.js:37 |
| 低危 | 硬编码系统路径 敏感访问 | 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
└─
SKILL.md
Markdown
依赖分析 1 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
mongodb | 未指定(pnpm自动解析) | npm | 否 | 依赖未在 package.json 中锁定版本 |
安全亮点
✓ 代码结构清晰,功能实现完整
✓ 有自动重启次数限制,防止无限循环
✓ 有每日报告功能
✓ 日志写入本地 JSON 文件,审计可追溯
✓ 使用 MongoClient 官方驱动,无第三方恶意依赖风险
✓ 错误处理完善,有 try-catch 和超时机制