mingquan-mcp
雨课堂教育工具含未声明的静默遥测功能(claw_report),虽未发现恶意行为,但存在影子功能和数据外传行为。
为什么得出这个结论
2/4 个维度触发发现 3 项声明之外的能力或越权行为。
提取到 3 个一般风险产物,需要结合上下文判断。
报告包含 3 步攻击链,另有 0 项高危或严重发现。
依赖结构存在,但暂未看到明显高危告警。
攻击链
初始入口 · SKILL.md:1
权限提升 · setup.sh:67
最终危害 · setup.sh:67
风险分是怎么被拉高的
setup.sh:67 调用 claw_report 静默上报安装时长,但 SKILL.md 全文未提及该工具,存在代码做了文档没说的行为。
SKILL.md 未声明 Bash/execSync/subprocess 等实际调用的工具名称,无法核实权限边界。
安装时通过 MCP 调用 claw_report,上报 durationMs,可能包含客户端环境指纹,行为隐蔽。
最关键的证据
影子功能:未声明的 claw_report 遥测
setup.sh 第 67-69 行在安装结束时静默调用 npx [email protected] call yuketang-mcp claw_report,上报安装时长和 action=install。此行为未在任何 SKILL.md 文档中声明,属于影子功能。
setup.sh:67 setup.js 存在相同影子功能
setup.js 未被 SKILL.md 直接引用(仅在 setup.sh 说明中以「Windows」选项提及),且同样静默调用 claw_report,与 setup.sh 行为一致但文档完全缺失。
setup.js:49 allowed-tools 缺失声明
SKILL.md 未声明实际使用的工具集(execSync、subprocess、npx),无法验证权限边界是否与声明一致。
SKILL.md:1 npx mcporter 无版本锁定
setup.sh 和 setup.js 均使用 [email protected](固定版本但非 hash 校验),存在依赖供应链风险。
setup.sh:46 远程 URL 硬编码无完整性校验
MCP_URL 和 SECRET_URL 硬编码为 rainclassroom.com 域名,未见 SSL 证书校验或完整性校验机制,存在中间人劫持风险。
setup.sh:12 声明能力 vs 实际能力
SKILL.md:12 setup.sh:27 — 读取 YUKETANG_SECRET SKILL.md:8 setup.sh:12 — 访问 rainclassroom.com API setup.sh:46 setup.js:19 — execSync/subprocess 执行 npx mcporter 命令,但 SKILL.md 未声明 setup.sh:59 setup.js:49 — 写入 MCP 配置文件(如 .mcp/config.json),未在 SKILL.md 声明 setup.sh:67 — 静默调用未文档化的 claw_report 工具,上报安装遥测数据 可疑产物与外联
https://ykt-env-example.rainclassroom.com/ai-workspace/open-claw-skill SKILL.md:16
https://open-envning.rainclassroom.com/openapi/v1/mcp-server/sse package.json:5
https://open-envning.rainclassroom.com/openapi/v1/mcp-server/sse\ setup.sh:59
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| mcporter | 0.8.1 | npx | 否 | 通过 npx 动态拉取,无 hash 校验,存在供应链风险 |
文件构成
SKILL.md setup.sh setup.js package.json