低风险 — 风险评分 20/100
上次扫描:10 小时前 重新扫描
20 /100
qclaw-watchdog
QClaw Watchdog - 监控并自动重启 QClaw,独立运行,通过飞书发送告警和接收指令
QClaw 看门狗工具,行为与声明基本一致,但 config.json 暴露了真实飞书应用凭证,存在供应链安全风险。
技能名称qclaw-watchdog
分析耗时53.1s
引擎pi
可以安装
建议移除 config.json 中的真实凭证,改用环境变量注入;补充缺失的 update.sh 和 publish.sh 或从文档中移除相关说明。

安全发现 3 项

严重性 安全发现 位置
中危
config.json 包含真实飞书应用凭证 供应链
config.json 中飞书 app_secret (jfQq6dWQe4wYsJiChkXVTh6IK8awBf0L) 疑似真实密钥而非占位符,且 check_interval_ms 被设为 18000000(5000小时),行为异常。
"app_secret": "jfQq6dWQe4wYsJiChkXVTh6IK8awBf0L"
→ 将凭证移至环境变量或 .env 文件,勿提交到版本控制;检查该凭证是否已被轮换
config.json:2
低危
文档描述的功能文件缺失 文档欺骗
SKILL.md 提及 update.sh 和 publish.sh 的使用方式,但这两个文件不存在于仓库中。
./update.sh --check
→ 补充缺失文件或从文档中移除相关章节
SKILL.md:90
低危
第三方依赖无版本声明 供应链
无 package.json,无 @larksuiteoapi/node-sdk 等依赖的版本锁定,存在依赖劫持风险。
const { Client, WSClient } = require('@larksuiteoapi/node-sdk')
→ 添加 package.json 并锁定 @larksuiteoapi/node-sdk 版本
watchdog.js:8
资源类型声明权限推断权限状态证据
文件系统 READ WRITE ✓ 一致 watchdog.js:85 fs.appendFileSync 写日志文件,但功能合理
命令执行 WRITE WRITE ✓ 一致 watchdog.js:75 exec() 调用 osascript/pkill/open 控制 QClaw,与声明的进程管理功能一致
网络访问 READ READ ✓ 一致 watchdog.js:137 fetch 健康检查 + Feishu WebSocket,仅连接官方飞书基础设施
3 项发现
🔗
中危 外部 URL 外部 URL
http://127.0.0.1:28789/health
SKILL.md:46
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/
SKILL.md:205
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/api-explorer/cli_a9333bca0c78dceb?apiName=create&project=im&resource=message&version=v1
SKILL.md:226

目录结构

6 文件 · 25.4 KB · 855 行
JavaScript 1f · 522L Markdown 1f · 239L Shell 2f · 74L JSON 1f · 19L Text 1f · 1L
├─ 🔑 config.json JSON 19L · 430 B
├─ 🔧 init-config.sh Shell 44L · 1.2 KB
├─ 📝 SKILL.md Markdown 239L · 5.6 KB
├─ 🔧 start.sh Shell 30L · 788 B
├─ 📄 version.txt Text 1L · 6 B
└─ 📜 watchdog.js JavaScript 522L · 17.4 KB

依赖分析 1 项

包名版本来源已知漏洞备注
@larksuiteoapi/node-sdk * npm 无版本锁定,依赖来源仅从代码推断

安全亮点

✓ 代码结构清晰,命令映射完全硬编码,无命令注入风险
✓ 仅连接飞书官方基础设施,无未知网络目标
✓ 无 base64/eval 等混淆技术
✓ 不访问 ~/.ssh、~/.aws、.env 等敏感路径
✓ 核心功能(监控、重启)行为与 SKILL.md 描述一致