跳转到正文
报告库
用途分类 / 文档处理

Lark OpenAPI Explorer Skill 安全审计

作者说它能做什么(原文)

飞书/Lark 原生 OpenAPI 探索:从官方文档库中挖掘未经 CLI 封装的原生 OpenAPI 接口。当用户的需求无法被现有 lark-* skill 或 lark-cli 已注册命令满足,需要查找并调用原生飞书 OpenAPI 时使用。

第三方安全检查结论

发现安全风险

已检查文件
1
发现的风险
1
会不会运行危险命令?检查是否下载程序后直接运行、让他人远程控制电脑,或藏起要运行的命令。未发现风险
会不会泄露文件和密钥?检查是否发送含密码或密钥的文件,以及代码里是否直接写了密钥。未发现风险
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。未发现风险
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。发现 1 项风险
中风险

原生 API 通道可绕过已注册命令的范围限制

原文依据:4 处
发现了什么

当现有 Skill 或已注册 API 无法满足需求时,该 Skill 明确改用 `lark-cli api` 裸调,并允许 POST、PUT 和 DELETE。虽然它要求在写入或删除前确认意图,但 dry-run 只是建议且取决于支持情况;本文件也没有要求在确认时展示已解析的租户、身份、对象或完整变更范围。

为什么需要注意

如果路径、参数、登录身份或目标对象理解错误,已确认的请求仍可能修改群公告、添加成员或删除其他云端资源。影响发生在用户的飞书/Lark 账户中,可能对成员、群组或其他有权访问的资源造成持久变更。

该技能明确在现有封装不足时改用通用的 `lark-cli api`,并提供会改变或删除飞书数据的 POST、PUT、DELETE 调用方式。这不是绕过飞书授权 scope 的证据,但确实绕过了已注册命令提供的操作边界;如果代理误判用户意图、身份或目标对象,现有凭据允许的群组、成员或其他数据可能被修改。文件要求写入/删除前确认并说明敏感操作影响,但 dry-run 仅为建议,且本文件未规定确认时展示租户、执行身份和确切目标。用户可要求作者明确这些确认信息,并限制通用 API 命令可用的方法或 scope。

SKILL.md:14来自说明文档
当用户的需求**无法被现有 skill 或 CLI 已注册 API 覆盖**时,使用本技能从飞书官方 markdown 文档库中逐层挖掘原生 OpenAPI 接口,然后通过 `lark-cli api` 裸调完成任务。
查看另外 3 个位置
SKILL.md:88来自说明文档
# POST 请求lark-cli api POST /open-apis/<path> --data '{"key":"value"}'# PUT 请求lark-cli api PUT /open-apis/<path> --data '{"key":"value"}'# DELETE 请求lark-cli api DELETE /open-apis/<path>```
SKILL.md:112来自说明文档
- **写入/删除类 API**(POST/PUT/DELETE)调用前必须确认用户意图- 建议先用 `--dry-run` 预览请求(如支持)- 不要猜测 API 路径或参数——必须从文档中获取确认- 涉及敏感操作(删除群、移除成员等)时,向用户说明影响范围
SKILL.md:81来自说明文档
使用 `lark-cli api` 裸调:```bash# GET 请求lark-cli api GET /open-apis/<path> --params '{"key":"value"}'# POST 请求lark-cli api POST /open-apis/<path> --data '{"key":"value"}'# PUT 请求lark-cli api PUT /open-apis/<path> --data '{"key":"value"}'# DELETE 请求lark-cli api DELETE /open-apis/<path>```
会不会误导 AI 或隐藏内容?检查工作说明是否要求 AI 忽略你的指令、干扰检查结果,或夹带看不见的文字。未发现风险
会不会偷偷改推广链接或收款方?检查是否强制替换推广链接或收款对象,同时要求隐瞒更改。未发现风险

Skill 逻辑拆解

6 个说明模块

该 Skill 先检查现有命令,再从飞书或 Lark 官方文档逐层确定接口规范,最后通过 `lark-cli api` 发起原生 OpenAPI 请求。

查看原文
SKILL.md:37来自说明文档
严格按以下步骤逐层检索,**不要跳步或猜测 API**:
SKILL.md:43来自说明文档
# 先检查是否已有对应的 skill 或已注册 APIlark-cli <可能的service> --help```
SKILL.md:81来自说明文档
使用 `lark-cli api` 裸调:

它支持读取以及创建、更新、删除等请求。写入或删除前要求确认用户意图,并建议在可用时先进行 dry-run。

查看原文
SKILL.md:85来自说明文档
# GET 请求lark-cli api GET /open-apis/<path> --params '{"key":"value"}'
SKILL.md:88来自说明文档
# POST 请求lark-cli api POST /open-apis/<path> --data '{"key":"value"}'# PUT 请求lark-cli api PUT /open-apis/<path> --data '{"key":"value"}'# DELETE 请求lark-cli api DELETE /open-apis/<path>```
SKILL.md:112来自说明文档
- **写入/删除类 API**(POST/PUT/DELETE)调用前必须确认用户意图- 建议先用 `--dry-run` 预览请求(如支持)- 不要猜测 API 路径或参数——必须从文档中获取确认

该文件要求先阅读相邻的 `lark-shared` Skill,以取得认证、身份切换和安全规则;该依赖文件未包含在本次证据中,因此这些规则无法独立核验。

查看原文
SKILL.md:12来自说明文档
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md) 了解认证、身份切换和安全规则。
SKILL.md:152来自说明文档
- [lark-shared](../lark-shared/SKILL.md) — 认证和全局参数- [lark-skill-maker](../lark-skill-maker/SKILL.md) — 如需将挖掘到的 API 固化为新 Skill
从这里开始 · 工作说明SKILL.md
lark-openapi-explorer
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。
文件与检查记录1 个文件

检查范围与遗漏

逐文件查看涉及的内容

下方列出本次涉及的原文范围;纳入检查不代表已查清所有问题。

  • SKILL.md已纳入全文

这份报告只针对上方版本。我们看了拿到的代码和说明文件,没有实际运行 Skill,也没有检查它另外安装的软件包。因此,这不是“保证安全”的承诺;换了版本或使用环境,结果也可能不同。

  • SKILL.md工作说明

代码和说明中提到的操作

连接外部网站
SKILL.md:30来自说明文档
|------|----------|| 飞书 (Feishu) | `https://open.feishu.cn/llms.txt` || Lark | `https://open.larksuite.com/llms.txt` |
SKILL.md:31来自说明文档
| 飞书 (Feishu) | `https://open.feishu.cn/llms.txt` || Lark | `https://open.larksuite.com/llms.txt` |
SKILL.md:53来自说明文档
```WebFetch https://open.feishu.cn/llms.txt  → 提取问题:"列出所有模块文档链接,找出与 <用户需求关键词> 相关的链接"
运行命令
SKILL.md:41来自说明文档
```bash# 先检查是否已有对应的 skill 或已注册 API
SKILL.md:83来自说明文档
```bash# GET 请求
SKILL.md:121来自说明文档
```bash# Step 1: 确认 CLI 没有封装
读取了多少行
154
文件校验值(用于核对版本)
0b7c1b83860a176d96cf3b5bdc6a105fc7679ed320136882d7ed6d3c32c0a394