fork-latte-skill
功能合法的报名收集工具,但存在权限声明与实际能力不符(文档未声明shell权限但实际使用)、硬编码开发者路径和API Key等文档透明度问题。
为什么得出这个结论
1/4 个维度触发发现 1 项声明之外的能力或越权行为。
提取到 6 个一般风险产物,需要结合上下文判断。
没有形成明确的恶意路径。
依赖结构存在,但暂未看到明显高危告警。
风险分是怎么被拉高的
SKILL.md未声明shell权限,但步骤0.5和步骤3-4使用PowerShell exec发送HTTP请求和Start-Process启动进程
步骤0.5硬编码了C:\Users\聿\...路径,暴露开发者用户名和目录结构
内置默认api_key=jcc_signup_a7K9mP2xQ8vL4nR6wT1yZ68,虽非敏感凭证但应移除默认配置
server.js使用spawn('lark-cli', args, {shell:true})执行外部CLI工具
最关键的证据
shell权限未声明但实际使用
SKILL.md未在metadata.requires中声明shell/exec权限,但步骤0.5使用PowerShell的Invoke-RestMethod发送HTTP请求、Start-Process启动进程、Get-NetTCPConnection检查端口。这是CLI工具的正常用法,但文档透明度不足。
SKILL.md:37 硬编码开发者路径暴露用户信息
步骤0.5中硬编码了C:\Users\聿\...路径,暴露了开发者用户名聿和目录结构。虽注释解释是为了解决中文路径编码问题,但此路径不应出现在公开发布的skill中。
SKILL.md:43 内置默认API Key
config.json和SKILL.md中内置了默认api_key=jcc_signup_a7K9mP2xQ8vL4nR6wT1yZ68,虽为relay服务认证key非飞书凭证,但不应有默认值。
relay-server/config.json:1 server.js执行外部lark-cli命令
server.js使用spawn('lark-cli', args, {shell:true})执行外部CLI工具进行飞书表格操作。这是feishu_api模式的功能前置条件,但对于无lark-cli环境的用户可能意外触发错误。
relay-server/server.js:69 声明能力 vs 实际能力
SKILL.md:1 (metadata未声明) vs SKILL.md:37-45 (PowerShell exec使用) SKILL.md读取config.json SKILL.md声明POST但实际只发往预配置endpoint 可疑产物与外联
https://img.shields.io/badge/mode-lark__cli%20%7C%20feishu__api-blue relay-server/README.md:3
https://img.shields.io/badge/stack-Node.js%20%2B%20Feishu%20Bitable-green relay-server/README.md:3
https://img.shields.io/badge/api-REST-orange relay-server/README.md:3
https://open.feishu.cn relay-server/README.md:28
https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal relay-server/README.md:67
https://open.feishu.cn/open-apis/bitable/v1/apps/ relay-server/README.md:74
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| node:http | built-in | Node.js标准库 | 否 | 无外部依赖 |
| node:fs/promises | built-in | Node.js标准库 | 否 | 无外部依赖 |
| node:child_process | built-in | Node.js标准库 | 否 | 无外部依赖 |
文件构成
relay-server/config.json relay-server/server.js SKILL.md relay-server/README.md