可疑 — 风险评分 35/100
上次扫描:2 天前 重新扫描
35 /100
mingquan-mcp
提供鸣泉雨课堂账户和班级相关查询服务,包括用户ID、开班列表、班级数据、预警名单、今日授课及作业公告完成情况查询等。
雨课堂教育工具含未声明的静默遥测功能(claw_report),虽未发现恶意行为,但存在影子功能和数据外传行为。
技能名称mingquan-mcp
分析耗时41.8s
引擎pi
谨慎使用
要求开发者补充 claw_report 的文档说明,披露安装遥测数据的收集范围和目的。建议在 SKILL.md 中明确声明 allowed-tools。

攻击链 3 步

入口 用户通过 SKILL.md 接触伪装成合法教育工具
SKILL.md:1
提权 安装脚本静默调用未文档化的 claw_report 工具
setup.sh:67
影响 claw_report 上报安装时长和 action=install 遥测数据到外部 MCP 服务器
setup.sh:67

安全发现 5 项

严重性 安全发现 位置
中危
影子功能:未声明的 claw_report 遥测
setup.sh 第 67-69 行在安装结束时静默调用 npx [email protected] call yuketang-mcp claw_report,上报安装时长和 action=install。此行为未在任何 SKILL.md 文档中声明,属于影子功能。
npx [email protected] call yuketang-mcp claw_report \
    --args "{\"payload\":{\"durationMs\":${DURATION}},\"action\":\"install\"}"
→ 在 SKILL.md 中补充声明安装时会上报匿名遥测数据(durationMs、action),说明数据用途和接收方。
setup.sh:67
中危
setup.js 存在相同影子功能
setup.js 未被 SKILL.md 直接引用(仅在 setup.sh 说明中以「Windows」选项提及),且同样静默调用 claw_report,与 setup.sh 行为一致但文档完全缺失。
execSync(`npx [email protected] config add ...`
→ 将 setup.js 纳入正式声明,并补充完整的工具说明。
setup.js:49
中危
allowed-tools 缺失声明
SKILL.md 未声明实际使用的工具集(execSync、subprocess、npx),无法验证权限边界是否与声明一致。
SKILL.md 全篇无 allowed-tools 字段
→ 在 SKILL.md 顶部元信息中添加 allowed-tools,明确 Bash、Read、Write 等工具的实际调用。
SKILL.md:1
低危
npx mcporter 无版本锁定
setup.sh 和 setup.js 均使用 [email protected](固定版本但非 hash 校验),存在依赖供应链风险。
npx [email protected] config add
→ 考虑使用 npm install --save-dev @mariozechner/[email protected] 并锁定,或使用 hash 验证下载源。
setup.sh:46
低危
远程 URL 硬编码无完整性校验
MCP_URL 和 SECRET_URL 硬编码为 rainclassroom.com 域名,未见 SSL 证书校验或完整性校验机制,存在中间人劫持风险。
MCP_URL="https://open-envning.rainclassroom.com/openapi/v1/mcp-server/sse"
→ 建议增加 HTTPS 证书固定或响应签名验证。
setup.sh:12
资源类型声明权限推断权限状态证据
环境变量 READ READ ✓ 一致 SKILL.md:12 setup.sh:27 — 读取 YUKETANG_SECRET
网络访问 READ READ ✓ 一致 SKILL.md:8 setup.sh:12 — 访问 rainclassroom.com API
命令执行 NONE WRITE ✗ 越权 setup.sh:46 setup.js:19 — execSync/subprocess 执行 npx mcporter 命令,但 SKILL.md 未声明
文件系统 NONE READ ✗ 越权 setup.sh:59 setup.js:49 — 写入 MCP 配置文件(如 .mcp/config.json),未在 SKILL.md 声明
技能调用 NONE WRITE ✗ 越权 setup.sh:67 — 静默调用未文档化的 claw_report 工具,上报安装遥测数据
3 项发现
🔗
中危 外部 URL 外部 URL
https://ykt-env-example.rainclassroom.com/ai-workspace/open-claw-skill
SKILL.md:16
🔗
中危 外部 URL 外部 URL
https://open-envning.rainclassroom.com/openapi/v1/mcp-server/sse
package.json:5
🔗
中危 外部 URL 外部 URL
https://open-envning.rainclassroom.com/openapi/v1/mcp-server/sse\
setup.sh:59

目录结构

5 文件 · 24.1 KB · 753 行
Markdown 2f · 545L Shell 1f · 114L JavaScript 1f · 83L JSON 1f · 11L
├─ 📁 references
│ └─ 📝 api_references.md Markdown 221L · 6.8 KB
├─ 📋 package.json JSON 11L · 229 B
├─ 📜 setup.js JavaScript 83L · 2.8 KB
├─ 🔧 setup.sh Shell 114L · 3.5 KB
└─ 📝 SKILL.md Markdown 324L · 10.8 KB

依赖分析 1 项

包名版本来源已知漏洞备注
mcporter 0.8.1 npx 通过 npx 动态拉取,无 hash 校验,存在供应链风险

安全亮点

✓ 未发现凭证收割行为(不遍历 os.environ 敏感关键字)
✓ 未发现反向 shell、C2 通信或数据窃取行为
✓ 网络请求指向已知教育平台域名,无裸 IP 或可疑地址
✓ 核心功能为合法教育场景(雨课堂课程管理),无越权操作
✓ MCP 服务鉴权依赖 YUKETANG_SECRET Bearer Token,机制合理