Skip to content
Report library
Purpose / Documents

Lark OpenAPI Explorer Skill Security Audit

What the author says it does (original text)

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

Independent security check

Security risks found

Files checked
1
Risks found
1
Could it run dangerous commands?Looks for programs run straight after downloading, remote control of your computer, and hidden commands.No risks found
Could it expose your files or keys?Looks for uploads of files containing passwords or keys, and keys written directly in the code.No risks found
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.No risks found
Could it bypass safety checks?Looks for skipped website security checks, excessive file access, or actions that skip your approval.Risks found: 1
Medium risk

The raw API channel can bypass the scope of registered commands

Source references: 4
What we found

When existing Skills or registered APIs are insufficient, this Skill explicitly falls back to raw `lark-cli api` calls and permits POST, PUT, and DELETE. It requires intent confirmation for writes and deletions, but a dry run is only recommended when supported, and this file does not require the resolved tenant, identity, object, or full change scope to be shown during confirmation.

Why this matters

A confirmed request can still modify announcements, add members, or delete other cloud resources if the path, parameters, signed-in identity, or target is misunderstood. Changes occur in the user's Feishu/Lark account and may persistently affect members, chats, or other accessible resources.

The skill explicitly falls back to the generic `lark-cli api` interface when existing wrappers are insufficient, including POST, PUT, and DELETE operations that can alter Lark data. This does not show a bypass of Lark authorization scopes, but it does bypass the narrower operation boundary of registered commands. If the agent misidentifies the user's intent, identity, or target, groups, memberships, or other data allowed by the current credentials could be changed. Confirmation and impact disclosure are required, but dry-run is only recommended and the file does not require showing the tenant, acting identity, and exact target. Users can ask the author to add those details and restrict methods or scopes available to the generic API command.

SKILL.md:14In the instructions
当用户的需求**无法被现有 skill 或 CLI 已注册 API 覆盖**时,使用本技能从飞书官方 markdown 文档库中逐层挖掘原生 OpenAPI 接口,然后通过 `lark-cli api` 裸调完成任务。
Show 3 other places
SKILL.md:88In the instructions
# 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:112In the instructions
- **写入/删除类 API**(POST/PUT/DELETE)调用前必须确认用户意图- 建议先用 `--dry-run` 预览请求(如支持)- 不要猜测 API 路径或参数——必须从文档中获取确认- 涉及敏感操作(删除群、移除成员等)时,向用户说明影响范围
SKILL.md:81In the instructions
使用 `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>```
Could it mislead the AI or hide text?Checks the skill instructions for requests to ignore you, influence the report, or hide text in invisible characters.No risks found
Could it change links or payment recipients without asking?Looks for forced referral or payment changes combined with instructions to hide the change.No risks found

Inside this skill

6 instruction sections

The Skill first checks existing commands, then derives an API specification from official Feishu or Lark documentation, and finally sends the native OpenAPI request through `lark-cli api`.

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

It supports read, create, update, and delete requests. It requires confirmation of user intent before writes or deletions and recommends a dry run when available.

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

This file requires the adjacent `lark-shared` Skill to supply authentication, identity-switching, and security rules. That dependency is not included in the evidence, so those rules cannot be independently verified here.

View source
SKILL.md:12In the instructions
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md) 了解认证、身份切换和安全规则。
SKILL.md:152In the instructions
- [lark-shared](../lark-shared/SKILL.md) — 认证和全局参数- [lark-skill-maker](../lark-skill-maker/SKILL.md) — 如需将挖掘到的 API 固化为新 Skill
Start here · InstructionsSKILL.md
lark-openapi-explorer
Lines connect the instruction file to its sections, not an observed execution order. Select a section to read the source.
Files and check records1 files

Coverage and gaps

Content covered in each file

These are the source ranges included in this check, not a guarantee that every issue has been resolved.

  • SKILL.mdFull text included

This report is for the version above. We read the available code and instructions without running the skill or checking extra packages it installs. This is not a promise of safety: a different version or setup may behave differently.

  • SKILL.mdInstructions

Operations mentioned in code and instructions

Connect to websites
SKILL.md:30In the instructions
|------|----------|| 飞书 (Feishu) | `https://open.feishu.cn/llms.txt` || Lark | `https://open.larksuite.com/llms.txt` |
SKILL.md:31In the instructions
| 飞书 (Feishu) | `https://open.feishu.cn/llms.txt` || Lark | `https://open.larksuite.com/llms.txt` |
SKILL.md:53In the instructions
```WebFetch https://open.feishu.cn/llms.txt  → 提取问题:"列出所有模块文档链接,找出与 <用户需求关键词> 相关的链接"
Run commands
SKILL.md:41In the instructions
```bash# 先检查是否已有对应的 skill 或已注册 API
SKILL.md:83In the instructions
```bash# GET 请求
SKILL.md:121In the instructions
```bash# Step 1: 确认 CLI 没有封装
Lines read
154
File checksum (to compare versions)
0b7c1b83860a176d96cf3b5bdc6a105fc7679ed320136882d7ed6d3c32c0a394