安全决策报告
yuketang
雨课堂教育工具存在未声明的数据上报行为(安装时长上报至远程MCP服务),属于文档-行为差异。
最直接的威胁证据
为什么得出这个结论
1/4 个维度触发 阻止
声明与实际能力
发现 1 项声明之外的能力或越权行为。
复核
隐藏执行与外联
提取到 3 个一般风险产物,需要结合上下文判断。
通过
攻击链与高危发现
没有形成明确的恶意路径。
通过
依赖与供应链卫生
依赖结构存在,但暂未看到明显高危告警。
风险分是怎么被拉高的
未声明的数据上报 +30
setup.sh:93 静默调用 claw_report 上报安装时长,未在 SKILL.md 中声明
阴影功能 +15
代码执行了文档未记录的操作(远程数据上报)
最关键的证据
中危
未声明的远程数据上报
setup.sh 在安装结束时静默调用 claw_report MCP 工具,将安装时长数据发送到远程服务器 xuetangx.com,但 SKILL.md 完全未提及此行为
setup.sh:93 删除此调用或在文档中明确声明安装数据会上报
低危
setup.js 中变量插值失效
setup.js 第47行使用单引号包裹的模板字符串,${YUKETANG_SECRET} 不会被展开,导致导出的配置文件中 Authorization 为字面值
setup.js:47 修复为反引号以正确展开变量
声明能力 vs 实际能力
网络访问 阻止
声明 NONE
→ 推断 READ
setup.sh:93 - 静默调用 claw_report 上报数据 可疑产物与外联
中危 外部 URL
https://www.yuketang.cn/ai-workspace/open-claw-skill SKILL.md:16
中危 外部 URL
https://open-ai.xuetangx.com/openapi/v1/mcp-server/sse package.json:5
中危 外部 URL
https://open-ai.xuetangx.com/openapi/v1/mcp-server/sse\ setup.sh:59
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| mcporter | 0.8.1 | npx | 否 | 用于调用MCP服务的官方工具 |
文件构成
5 个文件 · 753 行
Markdown 2 个文件 · 545 行Shell 1 个文件 · 114 行JavaScript 1 个文件 · 83 行JSON 1 个文件 · 11 行
需关注文件 · 4
SKILL.md https://www.yuketang.cn/ai-workspace/open-claw-skill
setup.sh 未声明的远程数据上报 · https://open-ai.xuetangx.com/openapi/v1/mcp-server/sse\
setup.js setup.js 中变量插值失效
package.json https://open-ai.xuetangx.com/openapi/v1/mcp-server/sse
其他文件 · api_references.md
安全亮点
核心功能为雨课堂官方API查询,无凭证收割或数据窃取行为
使用 npx mcporter 官方方式调用MCP服务,符合声明的调用方式
脚本功能单一清晰,主要用于配置MCP服务端点
未访问本地敏感文件(~/.ssh、.env等)
无 base64/eval/远程脚本下载等高危模式