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

Lark Markdown Skill 安全审计

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

飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。

第三方安全检查结论

先别安装或运行

已检查文件
147
发现的风险
13
会不会运行危险命令?检查是否下载程序后直接运行、让他人远程控制电脑,或藏起要运行的命令。发现 2 项风险
高风险

画板路径会自动下载并执行允许浮动版本的 npm 包

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

技能要求无需询问就运行 `npx -y`;`-y` 自动接受安装,而 `@^0.2.13` 允许解析到后续兼容版本。该包随后参与读取文件、渲染并把输出传给 `lark-cli`。

为什么需要注意

一旦 npm 包、发布账号或依赖链被入侵,下载的代码可在代理权限范围内读取或修改工作区文件、访问可用凭证并发起网络请求。

画板 Skill 明确要求无需询问运行 `npx -y @larksuite/whiteboard-cli@^0.2.13`。`-y` 会非交互接受安装,而 `^0.2.13` 不是固定版本;后续流程让该包读取本地 SVG、渲染、检查并转换输出,再把结果管道传给具有画板写权限的命令。这形成第三方供应链与本地文件处理风险。用户可要求锁定精确版本、校验包来源,并限制其可读目录和网络。

lark-whiteboard/SKILL.md:13来自说明文档打开原文件
> [!IMPORTANT]> - 运行 `lark-cli --version`,确认可用,无需询问用户。> - 运行 `npx -y @larksuite/whiteboard-cli@^0.2.13 -v`,确认可用,无需询问用户。
查看另外 3 个位置
lark-whiteboard/routes/dsl.md:26来自说明文档打开原文件
Step 3: 渲染 & 审查 → 交付  - 渲染前自查(见下方检查清单)  - 渲染 PNG(仅用于预览验证,不是最终产物):npx -y @larksuite/whiteboard-cli@^0.2.13 -i diagram.json -o diagram.png  - 检查:信息完整?布局合理?配色协调?文字无截断?连线无交叉?  - 有问题 → 按症状表修复 → 重新渲染(最多 2 轮)  - 2 轮后仍有严重问题 → 考虑走 Mermaid 路径兜底  - 写入画板:用 whiteboard-cli 将 diagram.json 转换为 OpenAPI 格式并 pipe 给 +update:      npx -y @larksuite/whiteboard-cli@^0.2.13 -i diagram.json --to openapi --format json \        | lark-cli whiteboard +update --whiteboard-token <board_token> \            --source - --input_format raw --idempotent-token <时间戳+标识> --as user      → 完整 dry-run / 确认流程见 [§ 写入画板](../references/lark-whiteboard-workflow.md#写入画板)
lark-whiteboard/routes/svg.md:32来自说明文档打开原文件
```建目录   ./diagrams/YYYY-MM-DDTHHMMSS/         (例:./diagrams/2026-04-15T143022/)写文件   <dir>/diagram.svg渲染     npx -y @larksuite/whiteboard-cli@^0.2.13 -i <dir>/diagram.svg -o <dir>/diagram.png -f svg检查     npx -y @larksuite/whiteboard-cli@^0.2.13 -i <dir>/diagram.svg -f svg --check导出     npx -y @larksuite/whiteboard-cli@^0.2.13 -i <dir>/diagram.svg -f svg --to openapi --format json > <dir>/diagram.json```
lark-whiteboard/routes/dsl.md:32来自说明文档打开原文件
  - 2 轮后仍有严重问题 → 考虑走 Mermaid 路径兜底  - 写入画板:用 whiteboard-cli 将 diagram.json 转换为 OpenAPI 格式并 pipe 给 +update:      npx -y @larksuite/whiteboard-cli@^0.2.13 -i diagram.json --to openapi --format json \        | lark-cli whiteboard +update --whiteboard-token <board_token> \            --source - --input_format raw --idempotent-token <时间戳+标识> --as user      → 完整 dry-run / 确认流程见 [§ 写入画板](../references/lark-whiteboard-workflow.md#写入画板)
中风险

画板转换流程会通过 npx -y 下载并执行非精确版本的包

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

相关画板流程要求运行 `npx -y @larksuite/whiteboard-cli@^0.2.13`。`-y` 自动接受安装,而 `^0.2.13` 允许获取后续兼容版本,因此实际执行代码可能不是审计时已知的固定版本。

为什么需要注意

如果包仓库、发布账户或后续兼容版本遭到破坏,下载的代码会以本地代理权限运行,可读取或修改工作区文件及使用该进程可访问的凭据。

当画板采用 DSL 或明确需要 OpenAPI 原生节点格式时,流程要求通过 `npx -y` 运行 `@larksuite/whiteboard-cli@^0.2.13`。`-y` 无交互接受临时安装,且插入号版本范围不是精确锁定,因此会执行安装时解析到的包代码。风险仅在该转换分支触发;用户可要求固定完整版本、校验包来源,并限制安装时网络与凭据访问。

lark-whiteboard/references/lark-whiteboard-workflow.md:84来自说明文档打开原文件
写入画板时按最终产物类型选择 `+update --input_format`:- Mermaid / PlantUML / SVG 产物直接写入时,`--input_format` 取单值 `mermaid` / `plantuml` / `svg`;写入非空已有画板并需要 overwrite 时,先确认会整板重建;SVG 修改已有画板时先走 [`../routes/svg-edit.md`](../routes/svg-edit.md) 的确认 workflow。- 只有 DSL 产物或已明确需要 OpenAPI 原生节点格式时,才先用 `npx -y @larksuite/whiteboard-cli@^0.2.13 --to openapi --format json` 转换,再用 `raw` 写入。具体命令示例、`--overwrite`、`--idempotent-token` 和 `--as user/bot` 的使用方式,统一参考 [`whiteboard +update`](./lark-whiteboard-update.md)。
查看另外 2 个位置
lark-whiteboard/references/lark-whiteboard-update.md:90来自说明文档打开原文件
```bash# 生成 OpenAPI 格式到文件npx -y @larksuite/whiteboard-cli@^0.2.13 -i <DSL 文件> --to openapi --format json -o ./temp.json# 从文件读取并更新lark-cli whiteboard +update \  --whiteboard-token <画板Token> \  --idempotent-token <10+字符唯一串> \  --input_format raw \  --source @./temp.json \  --overwrite --as user```
lark-whiteboard/references/lark-whiteboard-workflow.md:82来自说明文档打开原文件
### 写入画板写入画板时按最终产物类型选择 `+update --input_format`:- Mermaid / PlantUML / SVG 产物直接写入时,`--input_format` 取单值 `mermaid` / `plantuml` / `svg`;写入非空已有画板并需要 overwrite 时,先确认会整板重建;SVG 修改已有画板时先走 [`../routes/svg-edit.md`](../routes/svg-edit.md) 的确认 workflow。- 只有 DSL 产物或已明确需要 OpenAPI 原生节点格式时,才先用 `npx -y @larksuite/whiteboard-cli@^0.2.13 --to openapi --format json` 转换,再用 `raw` 写入。具体命令示例、`--overwrite`、`--idempotent-token` 和 `--as user/bot` 的使用方式,统一参考 [`whiteboard +update`](./lark-whiteboard-update.md)。
会不会泄露文件和密钥?检查是否发送含密码或密钥的文件,以及代码里是否直接写了密钥。发现 2 项风险
中风险

文档创作流程可能强制向外部图片搜索披露主题

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

从零创作文档时,流程要求扫描资料缺口;一旦判断需要图片且用户没有素材,就“必须搜索图片”。搜索词通常来自文档主题或内容。

为什么需要注意

机密项目名、产品计划、客户主题或尚未公开的议题可能作为查询发送给外部搜索或图库服务;随后选中的网络图片还会被取回并上传到飞书文档。

这段证据能说明什么

流程确实要求在判断需要图片且用户未提供时搜索图片,但现有行没有说明搜索服务、实际查询词、会发送哪些文档内容,或是否先征得用户同意。因此只能确认存在条件式外部搜索指令,不能确认会披露主题或敏感材料。用户可要求作者明确搜索提供商、最小化查询内容,并允许关闭外部搜索。

这项判断针对展示的代码和适用条件,不表示风险已经实际发生。
lark-doc/references/lark-doc-create-workflow.md:46来自说明文档打开原文件
### Step 3:收集资料并扫描表达机会。1. 强制扫描事实、数据、案例、引用和图片等资源缺口;内容需要而现有材料不足时必须检索或生成,判断需要图片且用户未提供素材时必须搜索图片。2. 根据用户要求、contract / adapter 限制和内容需要确定 `presentation_mode`,再识别真实信息关系并选择候选表达;不因命中关系就机械使用组件。
查看另外 1 个位置
lark-doc/references/lark-doc-xml.md:14来自说明文档打开原文件
- `<pre lang="go" caption="示例"><code>fmt.Println(&quot;hello&quot;)</code></pre>`:代码必须放在 `<code>` 内,禁止直接放在 `<pre>` 下;`caption` 可省略。- `<img path="@./photo.png"/>`:上传当前工作目录内的本地图片。也可用 `<img href="URL"/>` 上传公开 HTTP(S) 网络图片,或用 `<img src="token"/>` 复制原始图片;三者任选一个,可选 `width`、`height`、`caption`、`name`。使用 `href` 时,CLI 会将远程图片转为本地资源并完成上传;响应须为 PNG、JPEG、GIF 或 WebP,单图不超过 20MiB。内部网络图片须先下载到本地再使用 `path`。- `<source path="@./report.pdf" name="报告.pdf"/>`:上传本地附件;也可使用 `<source token="token" name="xx"/>` 复制已有附件。可独立使用、放入 `<p>` 作为行内附件,或写成 `<figure view-type="Card|Preview"><source/></figure>`;
中风险

文档 Markdown 中的网络图片会触发 HTTP/HTTPS 外部下载

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

当内容被用于飞书在线文档时,图片 URL 会被自动请求,而且明确允许未加密的 HTTP。该请求会向图片主机暴露访问时间和网络元数据;HTTP 响应还可能被中间人替换。

为什么需要注意

外部主机可获知文档处理发生的时间并记录请求来源;通过 HTTP 获取的图片内容可能在传输中被篡改,最终写入文档的图片可能与用户审核的内容不同。

在线文档的 Markdown 图片语法会让服务端或相关处理链自动下载给定 URL,并允许 HTTP。只有内容实际包含这种网络图片并被用于该文档流程时才触发,属于正常图片插入功能,但会向图片主机暴露请求元数据;HTTP 内容还缺少传输完整性。用户可要求仅允许受信任 HTTPS 域名,或先在受控环境下载并上传本地文件。

lark-doc/references/lark-doc-md.md:61来自说明文档打开原文件
Markdown 格式支持通过 URL 插入网络图片,图片将自动从 HTTP 下载:```markdown![alt text](https://example.com/photo.png)```- `alt text` 为图片描述(可选,可留空)- URL 支持 `http://` 和 `https://` 协议- 对应的 XML 格式为:`<img href="https://example.com/photo.png"/>`
查看另外 1 个位置
lark-doc/references/lark-doc-md.md:69来自说明文档打开原文件
本地图片使用 `![alt](@./images/photo.png)`(路径含空格时写作 `![alt](<@./images/product shot.png>)`);路径必须位于当前工作目录内,`alt` 会作为 caption。附件使用 `<source path="@./files/report.pdf"/>`目前不支持将 Base64 Data URI(如 `data:image/png;base64,...`)直接作为 Markdown 图片地址传入;如仅有 Base64 数据,请先解码为本地图片文件,再使用上述 `@./...` 路径上传。
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。发现 4 项风险
中风险

非原子 patch 可能覆盖他人的并发修改

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

patch 在下载与重新上传之间没有原子性;文档明确承认中间发生的他人更新仍会被覆盖。

为什么需要注意

用户可能在不知情时丢失同事刚提交的内容,最终版本看起来只包含本次替换后的旧快照。

该风险有明确依据:patch 会下载整份文件、本地替换后整份覆盖上传,并非服务端原子更新。如果他人在下载与上传之间修改文件,其修改可能被本次上传覆盖。用户可要求作者加入版本条件检查,或在写入前后比较最新版本。

references/lark-markdown-patch.md:96来自说明文档打开原文件
- 该命令的内部语义是:**download -> local replace -> overwrite upload**- 它不是服务端原子 patch;如果有人在你下载后、上传前更新了同一文件,本次 patch 仍可能覆盖那次中间修改- 它不会返回详细匹配位置,只返回命中数量- `--dry-run` 会同时展示两种可能的上传路径:`upload_all`(小文件)和 `upload_prepare/upload_part/upload_finish`(大文件分片上传)
中风险

整文件覆盖还可能把远端文件改成本地文件名

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

`+overwrite` 替换全部内容;使用 `--file` 且未指定 `--name` 时,远端文件名默认变成本地文件名。

为什么需要注意

选错 token 会替换错误文件;即使内容目标正确,本地草稿名也可能意外改变共享文件的名称和链接展示。

`+overwrite` 的目的就是整体覆盖远端 Markdown;此外,使用本地 `--file` 且不传 `--name` 时,远端文件名默认采用本地文件名。这是已说明但容易被忽视的双重副作用,可能替换内容并意外改名。用户可要求先确认目标 token、最终文件名和差异。

references/lark-markdown-overwrite.md:53来自说明文档打开原文件
## 关键约束- `--content` 与 `--file` 必须二选一- 如果传了 `--name`,直接使用它作为覆盖后的文件名- 如果没传 `--name` 且使用 `--content`,默认保留远端原文件名- 如果没传 `--name` 且使用 `--file`,默认使用本地文件名- `--file` 指向的本地文件名必须带 `.md` 后缀- 覆盖成功后 **必须** 返回 `version`
查看另外 2 个位置
references/lark-markdown-overwrite.md:5来自说明文档打开原文件
覆盖更新 Drive 中已有的原生 Markdown 文件,并返回覆盖后的新版本号。
references/lark-markdown-overwrite.md:55来自说明文档打开原文件
- `--content` 与 `--file` 必须二选一- 如果传了 `--name`,直接使用它作为覆盖后的文件名- 如果没传 `--name` 且使用 `--content`,默认保留远端原文件名- 如果没传 `--name` 且使用 `--file`,默认使用本地文件名- `--file` 指向的本地文件名必须带 `.md` 后缀- 覆盖成功后 **必须** 返回 `version`
中风险

历史版本回滚可由 bot 自动化执行,命令本身未展示强制确认参数

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

该操作会把当前文件回滚到旧版本,文档还推荐自动化场景使用 bot;示例和参数表只要求文件 token 与版本号,没有展示 `--yes`。虽然上层 Drive 规则要求人工确认,但 CLI 层缺少同等机械门禁。

为什么需要注意

代理误选版本或 token 时可直接改变共享文件的当前内容;若上层确认规则被跳过,CLI 不会像删除命令那样阻止执行。

回滚会把当前文件切换到旧历史版本,参考还建议自动化场景使用 bot;所示命令和参数仅含文件 token、版本及身份,没有 `--yes`。上层 Drive 规则确实要求本轮对具体目标和版本人工确认,这降低了风险,但 CLI 参考未显示机械门禁,代理失误仍可能直接改写当前版本。用户可要求 dry-run、差异预览和不可绕过的确认标志。

lark-drive/SKILL.md:26来自说明文档打开原文件
- 用户要**识别飞书 / doubao 云空间 URL 的类型和 token**时,可以先按 URL 路径形态做轻量判断;当路径已明确指向 docx / sheet / bitable / slides / file / folder 等资源时,可直接提取对应 token/type。传入 wiki URL、需要识别标题或 canonical URL、URL/token 有歧义,或后续操作依赖底层真实资源时,再使用 `lark-cli drive +inspect --url '<url>'` 进行识别;具体用法、失败处理和边界见 [`references/lark-drive-inspect.md`](references/lark-drive-inspect.md)。- 高风险写操作(删除、公开权限修改、owner 转移、版本删除/回滚、批量移动/覆盖/同步)必须同时满足三个条件才执行:目标已解析为该操作可直接使用的执行对象,执行细节已明确到可直接调用命令(例如删除的 file-token/type、公开权限修改的共享范围、owner 转移的目标 owner、版本删除/回滚的 version id、移动/覆盖/同步的目标位置和冲突策略),且用户在本轮明确确认执行这些具体目标和执行细节。用户只说“删除没用的文件”“开放/共享给大家”“改成开放”“覆盖/移动这些”只表示目标状态;先只读发现并列出候选、权限档位或执行方案,停止等待用户确认。- 用户要**检查 / 治理文档权限、公开范围、链接分享、外部访问、复制下载权限、密级标签、owner 转移**,或要”权限风险报告、收紧权限、申请查看 / 编辑权限、转移 / 批量转移 owner”,必须先阅读 [`references/lark-drive-workflow.md`](references/lark-drive-workflow.md),再按其中 `Workflow Registry` 进入 [`permission_governance`](references/lark-drive-workflow-permission-governance.md) workflow。
查看另外 4 个位置
lark-drive/references/lark-drive-version-revert.md:5来自说明文档打开原文件
将文件回滚到指定历史版本。该 shortcut 同时支持 `--as user` 和 `--as bot`;自动化场景推荐使用 `--as bot`。## 命令```bashlark-cli drive +version-revert \  --file-token boxcnxxxxxxxx \  --version 7633658129540910621 \  --as botlark-cli drive +version-revert \  --file-token boxcnxxxxxxxx \  --version 7633658129540910621 \  --as user```
lark-drive/references/lark-drive-version-revert.md:21来自说明文档打开原文件
## 参数| 参数 | 必填 | 说明 ||------|------|------|| `--file-token` | 是 | 目标文件 token || `--version` | 是 | `drive +version-history` 返回的长数字 `version` 字段,不是 `tag` |
lark-drive/references/lark-drive-version-revert.md:9来自说明文档打开原文件
```bashlark-cli drive +version-revert \  --file-token boxcnxxxxxxxx \  --version 7633658129540910621 \  --as botlark-cli drive +version-revert \  --file-token boxcnxxxxxxxx \  --version 7633658129540910621 \  --as user```
lark-drive/references/lark-drive-version-revert.md:23来自说明文档打开原文件
| 参数 | 必填 | 说明 ||------|------|------|| `--file-token` | 是 | 目标文件 token || `--version` | 是 | `drive +version-history` 返回的长数字 `version` 字段,不是 `tag` |
中风险

“局部”Markdown patch 实际会整文件覆盖,可能丢失并发修改

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

patch 会先完整下载文件,在本地替换,然后覆盖上传;它不是服务端原子操作。下载后若其他协作者修改了远端文件,随后上传可能以旧副本覆盖这些新修改。正则表达式匹配过宽也会一次改动多个非预期位置。

为什么需要注意

远端 Markdown 中其他人的最新内容或未预期匹配到的文本可能被永久替换;恢复可能依赖历史版本是否可用。

该风险有明确依据。用户调用 `markdown +patch` 时,CLI 会先下载整份远端 Markdown,在本地执行替换,再把整份文件覆盖上传;这不是服务端原子更新。如果协作者在下载与上传之间修改文件,中间修改可能被旧副本覆盖。启用 `--regex` 时又会对整份文本做全量替换,过宽的表达式可能改到多个非预期位置。用户可要求作者加入版本条件/冲突检测,并限制为先 diff 或 dry-run、确认命中数量后再写入。

SKILL.md:39来自说明文档打开原文件
  - `-` 从 stdin 读取内容- `markdown +patch` 的内部语义是:**先完整下载 Markdown,再本地替换,再整文件覆盖上传**- `markdown +patch` 不是服务端原子 patch;它是 CLI 侧编排出来的局部更新能力- `markdown +patch` 当前只支持**单组** `--pattern` / `--content`- `markdown +patch` 替换后的最终内容**不能为空**;CLI 会拒绝上传空文件,因为 Drive 不支持零字节 Markdown,且空文件通常是误操作- `--file` 只接受本地 `.md` 文件路径
查看另外 3 个位置
SKILL.md:47来自说明文档打开原文件
```bash# BAD: 未转义正则特殊字符,可能匹配到错误位置lark-cli markdown +patch --file-token boxcnxxxx --regex --pattern "version (1.0)" --content "version (2.0)"# GOOD: 显式转义括号和点号lark-cli markdown +patch --file-token boxcnxxxx --regex --pattern "version \\(1\\.0\\)" --content "version (2.0)"```
references/lark-markdown-patch.md:71来自说明文档打开原文件
- `--content` 必须显式传入,但允许为空字符串- 未加 `--regex` 时,行为等价于对整份 Markdown 文本执行 `strings.ReplaceAll`- 加了 `--regex` 时,行为等价于对整份 Markdown 文本执行 RE2 全量替换;`--content` 里的 `$1`、`${name}` 会按 Go regexp replacement template 解释,字面 `$` 请写成 `$$`- 替换后的最终 Markdown 不能为空;如果 patch 结果是空字符串,CLI 会直接报错,不会上传空文件,因为 Drive 不支持零字节 Markdown,且空文件通常是误操作
references/lark-markdown-patch.md:96来自说明文档打开原文件
- 该命令的内部语义是:**download -> local replace -> overwrite upload**- 它不是服务端原子 patch;如果有人在你下载后、上传前更新了同一文件,本次 patch 仍可能覆盖那次中间修改- 它不会返回详细匹配位置,只返回命中数量
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。发现 4 项风险
高风险

知识库成员增删可改变管理员权限,但没有 CLI 强制确认门

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

成员添加可授予 `admin`,成员移除可撤销现有角色;两份参考都明确表示这些危险操作没有 `--yes` 门禁。

为什么需要注意

目标 ID、角色或空间选错时,可能把完整知识库管理权授予错误人员,或移除合法管理员/成员并中断访问。所谓可恢复仍依赖调用者记住原始三元组并有权限重新添加。

添加成员可授予 `admin`(完整空间管理),移除成员可撤销相同角色;两份参考均明确说明底层操作标为危险但没有 `--yes` 门禁。虽然可通过反向操作恢复,错误授权或撤权仍会立即影响账号访问和管理能力。用户可要求每次变更前列出空间、成员 ID、当前角色、目标角色并单独确认。

lark-wiki/references/lark-wiki-member-add.md:3来自说明文档打开原文件
Add a member to a wiki space. OpenAPI: `POST /open-apis/wiki/v2/spaces/:space_id/members`. Shortcut over the raw `wiki members create` — adds enum hints, optional `--need-notification`, `my_library` resolution, and a flattened single-member output envelope.> The underlying `members.create` API is flagged `danger: true` in the schema browser, but adding a member is **not** confirmation-gated (no `--yes`). To revert, call [`+member-remove`](lark-wiki-member-remove.md) with the same `(member_id, member_type, member_role)` tuple.
查看另外 3 个位置
lark-wiki/references/lark-wiki-member-add.md:35来自说明文档打开原文件
|------|------|----------|---------|-------------|| `--space-id` | string | **Yes** | — | Wiki space ID; use `my_library` for the personal document library (user only) || `--member-id` | string | **Yes** | — | Member ID; interpretation is decided by `--member-type` || `--member-type` | enum | **Yes** | — | `openchat` / `userid` / `email` / `opendepartmentid` / `openid` / `unionid` / `appid` || `--member-role` | enum | **Yes** | — | `admin` (full space administration) / `member` (collaborator) || `--need-notification` | bool | No | unset | Send an in-app notification after the grant. **Omitting the flag sends no `need_notification` query at all** — passing `--need-notification=false` is the explicit opt-out || `--as` | enum | No | `auto` | Identity `user`/`bot`; wiki is user-centric → pass `--as user` |
lark-wiki/references/lark-wiki-member-remove.md:3来自说明文档打开原文件
Remove a member from a wiki space. OpenAPI: `DELETE /open-apis/wiki/v2/spaces/:space_id/members/:member_id`. Unlike most DELETEs, this endpoint **requires a body** carrying `member_type` and `member_role` — the `:member_id` path segment alone is ambiguous without both.> The underlying `members.delete` API is flagged `danger: true` in the schema browser, but the operation is recoverable — call [`+member-add`](lark-wiki-member-add.md) with the same `(member_id, member_type, member_role)` to restore. No `--yes` gate.
lark-wiki/references/lark-wiki-member-remove.md:54来自说明文档打开原文件
- **`--member-type` and `--member-role` must match the original grant.** Revoking a non-existent `(member_id, type, role)` tuple is a no-op error from the API. If you do not know the current role, run [`+member-list`](lark-wiki-member-list.md) first.- **Role switch is not a single update.** To move someone between `admin` and `member`, call `+member-remove` with the old role first, then [`+member-add`](lark-wiki-member-add.md) with the new one.- **Bot + `my_library` is rejected upfront.** Pass an explicit `--space-id` when `--as bot`.
中风险

bot 创建 Markdown 时会附带授予当前 CLI 用户可管理权限

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

以 bot 创建文件后,CLI 会尝试自动给本机识别出的当前用户授予 `full_access`;这不是创建内容本身必需的权限变化。

为什么需要注意

该用户可管理文件权限。若机器上的当前登录用户并非预期接收者,文件控制权可能扩大给错误账号。

以 bot 创建 Markdown 时,CLI 会在创建成功后额外尝试把 `full_access` 授予本机识别的当前 CLI 用户。这确实是内容创建之外的权限变更,条件是使用 bot 身份且能取得当前用户 open_id。文档禁止自动转移 owner,但没有显示为该自动授权提供单独确认门。用户可限制为 `--as user`,或要求作者提供禁用自动授权的选项。

references/lark-markdown-create.md:91来自说明文档打开原文件
> [!IMPORTANT]> 如果 Markdown 文件是**以应用身份(bot)创建**的,如 `lark-cli markdown +create --as bot`,在创建成功后,CLI 会**尝试为当前 CLI 用户自动授予该文件的 `full_access`(可管理权限)**。>> 以应用身份创建时,结果里会额外返回 `permission_grant` 字段,明确说明授权结果:> - `status = granted`:当前 CLI 用户已获得该文件的可管理权限> - `status = skipped`:本地没有可用的当前用户 `open_id`,因此不会自动授权;可提示用户先完成 `lark-cli auth login`,再让 AI / agent 继续使用应用身份(bot)授予当前用户权限> - `status = failed`:Markdown 文件已创建成功,但自动授权用户失败;会带上失败原因,并提示稍后重试或继续使用 bot 身份处理该文件>> `permission_grant.perm = full_access` 表示该资源已授予“可管理权限”。>
查看另外 1 个位置
references/lark-markdown-create.md:101来自说明文档打开原文件
>> **不要擅自执行 owner 转移。** 如果用户需要把 owner 转给自己,必须单独确认。
中风险

以 bot 导入文档会自动授予当前 CLI 用户 full_access

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

导入操作的附带行为是在 bot 创建结果就绪后,尝试把当前 CLI 用户加入为具有“可管理权限”的成员。用户请求导入文件并不必然表示同意修改该资源的协作者权限。异步任务查询也可能在稍后首次得到结果时触发授权。

为什么需要注意

当前登录的 CLI 用户会获得管理该文档及其权限的能力,扩大资源访问与控制范围;共享机器或登录身份不符合预期时可能授权给错误账户。

以 bot 导入并得到最终文档后,CLI 会附带尝试把当前 CLI 用户授予 full_access;异步结果查询也可能触发。导入确认并不一定清楚涵盖新增可管理协作者这一副作用,可能扩大该文档的管理权限。用户可要求作者将自动授权改为显式选项,并在执行前单独展示授权对象和权限。

lark-drive/SKILL.md:39来自说明文档打开原文件
- 用户要把本地 `.xlsx` / `.csv` / `.base` 导入成 Base / 多维表格 / bitable,第一步必须使用 `lark-cli drive +import --type bitable`。- 用户要把本地 `.md` / `.docx` / `.doc` / `.txt` / `.html` 导入成在线文档,使用 `lark-cli drive +import --type docx`。- 用户要把本地 `.pptx` 导入成飞书幻灯片,使用 `lark-cli drive +import --type slides`;当前 PPTX 导入上限是 500MB。
查看另外 3 个位置
lark-drive/references/lark-drive-import.md:117来自说明文档打开原文件
> [!IMPORTANT]> 如果在线文档是**以应用身份(bot)导入创建**的,如 `lark-cli drive +import --as bot`,当某次结果**已经返回最终在线文档目标**后,CLI 会**尝试为当前 CLI 用户自动授予该资源的 `full_access`(可管理权限)**。>> 这个自动授权有两种触发时机:> - `drive +import` 的内置轮询窗口内已经完成,直接在 `+import` 中进行自动授权> - `drive +import` 先返回 `ready=false` / `timed_out=true`,之后你再执行 `lark-cli drive +task_result --scenario import --ticket <TICKET>`,当该查询第一次拿到最终在线文档目标时会自动授权>
lark-drive/references/lark-drive-import.md:123来自说明文档打开原文件
>> 只有在已经拿到最终在线文档目标的那次结果里,才会返回 `permission_grant` 字段,明确说明授权结果:> - `status = granted`:当前 CLI 用户已获得该导入结果的可管理权限> - `status = skipped`:本地没有可用的当前用户 `open_id`,或当前结果还没有可授权目标,因此不会自动授权;可提示用户先完成 `lark-cli auth login`,再让 AI / agent 继续使用应用身份(bot)授予当前用户权限> - `status = failed`:导入已成功返回最终在线文档,但自动授权用户失败;会带上失败原因,并提示稍后重试或继续使用 bot 身份处理该文档>> `permission_grant.perm = full_access` 表示该资源已授予“可管理权限”。>> **不要擅自执行 owner 转移。** 如果用户需要把 owner 转给自己,必须单独确认。
lark-drive/references/lark-drive-import.md:116来自说明文档打开原文件
> [!IMPORTANT]> 如果在线文档是**以应用身份(bot)导入创建**的,如 `lark-cli drive +import --as bot`,当某次结果**已经返回最终在线文档目标**后,CLI 会**尝试为当前 CLI 用户自动授予该资源的 `full_access`(可管理权限)**。>> 这个自动授权有两种触发时机:> - `drive +import` 的内置轮询窗口内已经完成,直接在 `+import` 中进行自动授权> - `drive +import` 先返回 `ready=false` / `timed_out=true`,之后你再执行 `lark-cli drive +task_result --scenario import --ticket <TICKET>`,当该查询第一次拿到最终在线文档目标时会自动授权>
中风险

低置信度资源在确认完整整理计划后仍会被移动,且移动可能改变权限继承

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

整理流程不会默认把无法可靠分类的资源留在原位,而是把它们规划为移动到“待人工确认”。流程同时承认移动后可见范围或协作权限可能随目标位置变化。用户若只看总览并确认完整计划,可能连同这些不确定资源一起移动。

为什么需要注意

尚未完成分类的资源会改变位置;若目标目录或 Wiki 节点的继承权限不同,其可见范围和协作者权限也可能变化。

证据不足的资源不会默认留在原处,而会作为 `action=move` 规划到“待人工确认”;完整计划确认可包含这些项目。流程确实在执行前显示待确认数量并警告移动可能改变可见范围或协作权限,因此不是隐蔽移动,但只看总览的用户仍可能整体批准。用户可选择仅执行高置信度项,或要求待确认项保持原位并逐项确认。

lark-drive/references/lark-drive-workflow-knowledge-organize-planning.md:142来自说明文档打开原文件
### Manual Confirmation TargetResources with insufficient classification evidence MUST be moved to the manual confirmation target after the user confirms execution.Rules:1. The target tree MUST include `待人工确认` or an equivalent user-specified manual confirmation path.2. For Drive scopes, the manual confirmation target is a Drive folder.3. For Wiki scopes, the manual confirmation target is a Wiki node.4. Plan items for these resources MUST set `needs_review=true`, preserve `needs_review_reason`, set `target_path` to the manual confirmation target, and set `action=move`.5. Do not leave these items in their original location by default.
查看另外 3 个位置
lark-drive/references/lark-drive-workflow-knowledge-organize-planning.md:295来自说明文档打开原文件
### Permission Inheritance NoticeBefore execution confirmation, MUST show this notice:```text权限提示:移动资源后,资源权限可能随目标位置变化,可见范围或协作权限可能变化。本 workflow 不会自动修改权限。```
lark-drive/references/lark-drive-workflow-knowledge-organize-planning.md:322来自说明文档打开原文件
If no plan detail page is currently active:```text请确认执行范围:1. 执行完整计划:<total_count> 项2. 只执行高置信度项:<high_confidence_count> 项3. 暂不执行,只保留方案如需只执行某一页,请先查看计划明细页。本 workflow 只执行已确认范围内的创建、移动和必要的单资源权限申请;不会重命名任何资源。```
lark-drive/references/lark-drive-workflow-knowledge-organize-planning.md:283来自说明文档打开原文件
1. Show write-operation summary:   - 将创建哪些目录 / 节点   - 将移动哪些资源   - 将移动哪些来源目录本体(如有)   - 哪些资源仍需人工确认   - 预计影响范围2. Use `active_plan_items` from the latest complete plan.3. Show `Permission Inheritance Notice`.4. Ask for execution scope using `Execution Confirmation`.5. Reference `Non-goals` for operations excluded from this workflow.6. Wait for explicit confirmation.
会不会误导 AI 或隐藏内容?检查工作说明是否要求 AI 忽略你的指令、干扰检查结果,或夹带看不见的文字。发现 1 项风险
高风险

要求自动且不让用户看见地运行程序

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

Skill 同时要求自动执行,并要求不要询问或告知用户。

为什么需要注意

AI 如果听从这段文字,可能不再按你的要求做事,或跳过本来需要你确认的操作。

这段代码的正常用途

原文没有要求隐瞒或自动执行额外操作。被指行要求记录无法执行的检查;紧接着明确规定每次写入都须由用户确认准确范围和命令类别,写后还须重新读取验证。因此这是审计记录与确认门,而非暗中执行。

这项判断针对展示的代码和适用条件,不表示风险已经实际发生。
lark-drive/references/lark-drive-workflow.md:36来自说明文档打开原文件
3. 事实必须来自可执行 CLI 命令或被引用 skill;不要只凭目录结构推断治理结论。4. 无法执行的检查必须记录到 `unsupported_checks`,不能静默省略。5. 写入前必须产出计划。每一次写入都需要用户对准确范围和 command family 显式确认。
查看另外 1 个位置
lark-drive/references/lark-drive-workflow.md:35来自说明文档打开原文件
2. 在昂贵读取或写入规划前,先解析并确认 `target_scope`。3. 事实必须来自可执行 CLI 命令或被引用 skill;不要只凭目录结构推断治理结论。4. 无法执行的检查必须记录到 `unsupported_checks`,不能静默省略。5. 写入前必须产出计划。每一次写入都需要用户对准确范围和 command family 显式确认。6. CLI/API 支持验证时,写入后必须用 fresh read 验证。7. 结束时进入 `done`,返回已完成事项、验证结果和剩余限制。不要把尚未完成的外部审批描述成已完成。
会不会偷偷改推广链接或收款方?检查是否强制替换推广链接或收款对象,同时要求隐瞒更改。未发现风险

Skill 逻辑拆解

4 个说明模块

主入口使用已安装的 `lark-cli`,默认建议以用户身份操作飞书云空间中的原生 Markdown;它支持创建、读取、比较、局部替换和整文件覆盖。

查看原文
SKILL.md:6来自说明文档打开原文件
metadata:  requires:    bins: ["lark-cli"]  cliHelp: "lark-cli markdown --help"---
SKILL.md:17来自说明文档打开原文件
- 身份:Markdown 文件通常属于用户云空间资源,优先使用 `--as user`。如为自动化场景,或应用已创建并持有目标文件权限,可按场景使用 `--as bot`。首次以 `user` 身份访问前执行 `lark-cli auth login`- `markdown +create` / `+overwrite` 失败时,先判断是不是身份和权限问题:`bot` 更常见的是 app scope 或目标目录 ACL,`user` 更常见的是用户授权或用户 ACL;不要不加判断地来回切身份重试。- 用户要**上传、创建一个原生 `.md` 文件**,使用 `lark-cli markdown +create`- 用户要**比较原生 `.md` 文件的历史版本差异**,或比较远端 Markdown 与本地草稿,使用 `lark-cli markdown +diff`- 用户要**读取 Drive 里某个 `.md` 文件内容**,使用 `lark-cli markdown +fetch`- 用户要对 Markdown 文件做**局部文本替换 / 正则替换**,优先使用 `lark-cli markdown +patch`- 用户要**覆盖更新 Drive 里某个 `.md` 文件内容**,使用 `lark-cli markdown +overwrite`- 用户要先拿 Markdown 文件的历史版本号,再做比较/下载/回滚,先用 [`lark-drive`](../lark-drive/SKILL.md) 的 `lark-cli drive +version-history`

所谓局部 patch 实际会下载整份文件、在本地执行一次全局字面量或正则替换,再上传整份结果;它不是服务端原子修改。

查看原文
references/lark-markdown-patch.md:71来自说明文档打开原文件
- `--content` 必须显式传入,但允许为空字符串- 未加 `--regex` 时,行为等价于对整份 Markdown 文本执行 `strings.ReplaceAll`- 加了 `--regex` 时,行为等价于对整份 Markdown 文本执行 RE2 全量替换;`--content` 里的 `$1`、`${name}` 会按 Go regexp replacement template 解释,字面 `$` 请写成 `$$`- 替换后的最终 Markdown 不能为空;如果 patch 结果是空字符串,CLI 会直接报错,不会上传空文件,因为 Drive 不支持零字节 Markdown,且空文件通常是误操作- `0` 命中时命令仍然成功返回,但不会上传新版本
references/lark-markdown-patch.md:94来自说明文档打开原文件
## 实现边界- 该命令的内部语义是:**download -> local replace -> overwrite upload**- 它不是服务端原子 patch;如果有人在你下载后、上传前更新了同一文件,本次 patch 仍可能覆盖那次中间修改- 它不会返回详细匹配位置,只返回命中数量- `--dry-run` 会同时展示两种可能的上传路径:`upload_all`(小文件)和 `upload_prepare/upload_part/upload_finish`(大文件分片上传)

共享规则要求写入前确认用户意图;被 CLI 标为高风险的操作还要求展示动作和关键参数,并在用户明确同意后才追加确认参数。

查看原文
lark-shared/SKILL.md:25来自说明文档打开原文件
## 安全规则1. **禁止输出密钥**(appSecret、accessToken等)到终端明文。2. **写入/删除操作前必须确认用户意图**。3. 目标命令支持 `--dry-run` 时,用 `--dry-run` 预览危险请求。4. **退出码 10 是高风险确认门禁(`risk: "high-risk-write"`),不是错误**:停下 → **向用户确认**(展示 `action`、`risk` 和关键参数)→ 取得**用户显式同意**后,将 `hint` 指出的确认 flag **追加到你原始 argv 的末尾**后重试;**绝不**静默加确认 flag 绕过 → [`lark-shared-high-risk-approval.md`](references/lark-shared-high-risk-approval.md)。5. **文件路径只接受相对路径**:`--file`、`--output`、`--output-dir`、`@file` 等路径参数只接受 cwd 下的相对路径,传绝对路径会报 `unsafe file path`。数据输入(`@file`、大 JSON)优先用 stdin 传入,避免路径和转义问题。

提供的包不只描述 Markdown:它还包含文档、云盘、知识库、通讯录和画板操作,其中部分路径可修改权限、移动或删除资源,并可安装运行额外的 npm 工具。

查看原文
lark-drive/SKILL.md:2来自说明文档打开原文件
---name: lark-driveversion: 1.0.0description: "飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。"metadata:  requires:    bins: ["lark-cli"]  cliHelp: "lark-cli drive --help"---
lark-whiteboard/SKILL.md:13来自说明文档打开原文件
> [!IMPORTANT]> - 运行 `lark-cli --version`,确认可用,无需询问用户。> - 运行 `npx -y @larksuite/whiteboard-cli@^0.2.13 -v`,确认可用,无需询问用户。**CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md),其中包含认证、权限处理**

该 Skill 的直接用途是操作飞书 Drive 中作为普通文件保存的原生 Markdown;创建、读取、比较、局部替换和覆盖分别路由到 lark-cli 的 markdown shortcuts。它明确将在线 docx 导入和云空间管理操作转交给 lark-drive。

查看原文
SKILL.md:20来自说明文档打开原文件
- 用户要**上传、创建一个原生 `.md` 文件**,使用 `lark-cli markdown +create`- 用户要**比较原生 `.md` 文件的历史版本差异**,或比较远端 Markdown 与本地草稿,使用 `lark-cli markdown +diff`- 用户要**读取 Drive 里某个 `.md` 文件内容**,使用 `lark-cli markdown +fetch`- 用户要对 Markdown 文件做**局部文本替换 / 正则替换**,优先使用 `lark-cli markdown +patch`- 用户要**覆盖更新 Drive 里某个 `.md` 文件内容**,使用 `lark-cli markdown +overwrite`- 用户要先拿 Markdown 文件的历史版本号,再做比较/下载/回滚,先用 [`lark-drive`](../lark-drive/SKILL.md) 的 `lark-cli drive +version-history`
SKILL.md:26来自说明文档打开原文件
- 用户要先拿 Markdown 文件的历史版本号,再做比较/下载/回滚,先用 [`lark-drive`](../lark-drive/SKILL.md) 的 `lark-cli drive +version-history`- 用户要把本地 Markdown **导入成在线新版文档(docx)**,不要用本 skill,改用 [`lark-drive`](../lark-drive/SKILL.md) 的 `lark-cli drive +import --type docx`- 用户要对 Markdown 文件做**rename / move / delete / 搜索 / 权限 / 评论**等云空间(云盘/云存储)操作,不要留在本 skill,切到 [`lark-drive`](../lark-drive/SKILL.md)- `markdown +create` / `+overwrite` 命中 `missing scope`、`permission denied`、`not found`、`quota_exceeded`、`version limit` 时,默认停止重试并按报错 hint 处理;只有 `rate_limit`、`server_error` 或临时网络错误才做有限退避重试。

默认建议以用户身份访问 Markdown,并要求首次使用前完成 lark-cli 登录;自动化或应用已持有文件权限时也允许使用 bot 身份。

查看原文
SKILL.md:17来自说明文档打开原文件
- 身份:Markdown 文件通常属于用户云空间资源,优先使用 `--as user`。如为自动化场景,或应用已创建并持有目标文件权限,可按场景使用 `--as bot`。首次以 `user` 身份访问前执行 `lark-cli auth login`- `markdown +create` / `+overwrite` 失败时,先判断是不是身份和权限问题:`bot` 更常见的是 app scope 或目标目录 ACL,`user` 更常见的是用户授权或用户 ACL;不要不加判断地来回切身份重试。

同步和组织工作流包含多项保护:破坏性镜像删除需要额外的 --yes;目录整理的写操作需要用户明确确认,并在执行后重新扫描验证。

查看原文
lark-drive/references/lark-drive-push.md:94来自说明文档打开原文件
`--delete-remote` 是命令里**唯一的破坏性 flag**,会按"远端有但本地没有"逐个 `DELETE /open-apis/drive/v1/files/<token>?type=file` 清理云端副本。设计上把它跟 `--yes` 强绑定:- `--delete-remote`(无 `--yes`)→ Validate 直接报错:`--delete-remote requires --yes`,不会发起任何列表 / 上传 / 删除请求。- `--delete-remote --yes` → Validate 阶段还会**动态做一次** `space:document:delete` 的 scope 预检:缺这条 scope 时整次运行立刻失败、不发任何上传请求,避免出现"上传都成功了,但删除阶段才报 missing_scope"的半同步状态。- `--delete-remote --yes`(且 scope 已授权)→ 正常执行:先把本地文件 push 上去,再扫一遍远端 `type=file` 列表,把不在本地清单里的逐个删除。**任何上传 / 覆盖 / 建目录失败时,整段 `--delete-remote` 阶段会被跳过**(stderr 上有提示),命令以非零状态退出,远端不会被破坏。- 删除阶段如果服务端返回 `1061007 file has been delete`,说明目标远端文件在本次 DELETE 前已经不存在;这已经满足 `--delete-remote` 的目标状态,输出会记为 `action: "already_deleted"`,不计入 `summary.failed`,也不计入 `summary.deleted_remote`。
lark-drive/references/lark-drive-workflow-knowledge-organize.md:131来自说明文档打开原文件
| `PLAN_GENERATION` | `assess` / `plan` | Target tree ready | Load planning phase; generate complete internal `plan_items`; show target tree plus plan overview or page | Target tree and plan overview / paginated plan page | `true` | `EXEC_CONFIRM` || `EXEC_CONFIRM` | `confirm` | User wants execution | Load planning phase; ask user to choose execution scope | Execution options and write-operation summary | `true` | `EXECUTE` or `DONE` || `EXECUTE` | `execute` | User explicitly confirmed execution scope | Load execution phase; execute only whitelisted write operations for confirmed scope while maintaining internal recovery state | Progress reports for large or long-running execution; if blocked after successful moves, ask whether to try restoring to `整理前的位置` | `false` unless blocked / recovery offered | `VERIFY`, `ROLLBACK_CONFIRM`, or `DONE` || `VERIFY` | `verify` | Execution finished | Load execution phase; rescan target scope and compare actual path/token against plan | Verification table and final summary; if serious mismatches exist, ask whether to try restoring to `整理前的位置` | `false` unless recovery offered | `DONE` or `ROLLBACK_CONFIRM` || `ROLLBACK_CONFIRM` | `recovery confirm` | User asks to restore after execution failure / verification mismatch / explicit rollback request | Load rollback phase; generate internal `rollback_plan`; ask whether to execute recovery | Recoverable scope and restore confirmation | `true` | `ROLLBACK` or `DONE` |
从这里开始 · 工作说明SKILL.md
lark-markdown
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。

文件引用关系图

40 处引用
哪些文件发起引用引用了什么
连线表示真实的文件引用,不是运行顺序。点击节点可高亮相关连线,并查看具体文件和原文位置。虚线表示还有文件需要定位。
文件与检查记录147 个文件

检查范围与遗漏

逐文件查看涉及的内容

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

  • SKILL.md已纳入全文
  • references/lark-markdown-create.md已纳入全文
  • references/lark-markdown-diff.md已纳入全文
  • references/lark-markdown-fetch.md已纳入全文
  • references/lark-markdown-overwrite.md已纳入全文
  • references/lark-markdown-patch.md已纳入全文
  • lark-contact/references/lark-contact-get-user.md已纳入全文
  • lark-contact/references/lark-contact-search-bot.md已纳入全文
  • lark-contact/references/lark-contact-search-user.md已纳入全文
  • lark-doc/references/genres/business-analysis.md已纳入全文
  • lark-doc/references/genres/data-report.md已纳入全文
  • lark-doc/references/genres/email.md已纳入全文
  • lark-doc/references/genres/execution-plan.md已纳入全文
  • lark-doc/references/genres/formal-doc.md已纳入全文
  • lark-doc/references/genres/meeting-minutes.md已纳入全文
  • lark-doc/references/genres/memo-brief.md已纳入全文
  • lark-doc/references/genres/official-redhead.md已纳入全文
  • lark-doc/references/genres/prd.md已纳入全文
  • lark-doc/references/genres/proposal.md已纳入全文
  • lark-doc/references/genres/research-report.md已纳入全文
  • lark-doc/references/genres/retrospective.md已纳入全文
  • lark-doc/references/genres/route-consumer.md已纳入全文
  • lark-doc/references/genres/route-creative.md已纳入全文
  • lark-doc/references/genres/route-knowledge.md已纳入全文
  • lark-doc/references/genres/route-marketing.md已纳入全文
  • lark-doc/references/genres/route-media.md已纳入全文
  • lark-doc/references/genres/route-opinion.md已纳入全文
  • lark-doc/references/genres/route-personal-brand.md已纳入全文
  • lark-doc/references/genres/route-platform.md已纳入全文
  • lark-doc/references/genres/route-report.md已纳入全文
  • lark-doc/references/genres/route-workplace.md已纳入全文
  • lark-doc/references/genres/sop-tutorial.md已纳入全文
  • lark-doc/references/genres/technical-doc.md已纳入全文
  • lark-doc/references/genres/wechat.md已纳入全文
  • lark-doc/references/genres/weekly-report.md已纳入全文
  • lark-doc/references/genres/white-paper.md已纳入全文
  • lark-doc/references/genres/xiaohongshu.md已纳入全文
  • lark-doc/references/lark-doc-create-workflow.md已纳入全文
  • lark-doc/references/lark-doc-create.md已纳入全文
  • lark-doc/references/lark-doc-fetch.md已纳入全文
  • lark-doc/references/lark-doc-history.md已纳入全文
  • lark-doc/references/lark-doc-md.md已纳入全文
  • lark-doc/references/lark-doc-media-download.md已纳入全文
  • lark-doc/references/lark-doc-media-insert.md已纳入全文
  • lark-doc/references/lark-doc-media-preview.md已纳入全文
  • lark-doc/references/lark-doc-mindnote.md已纳入全文
  • lark-doc/references/lark-doc-resource-cover.md已纳入全文
  • lark-doc/references/lark-doc-script.md已纳入全文
  • lark-doc/references/lark-doc-update.md已纳入全文
  • lark-doc/references/lark-doc-whiteboard.md已纳入全文
  • lark-doc/references/lark-doc-xml-extended-blocks.md已纳入全文
  • lark-doc/references/lark-doc-xml.md已纳入全文
  • lark-doc/SKILL.md已纳入全文
  • lark-drive/references/lark-drive-add-comment.md已纳入全文
  • lark-drive/references/lark-drive-add-reply.md已纳入全文
  • lark-drive/references/lark-drive-apply-permission.md已纳入全文
  • lark-drive/references/lark-drive-batch-query-comments.md已纳入全文
  • lark-drive/references/lark-drive-comment-content.md已纳入全文
  • lark-drive/references/lark-drive-comment-location.md已纳入全文
  • lark-drive/references/lark-drive-copy.md已纳入全文
  • lark-drive/references/lark-drive-cover.md已纳入全文
  • lark-drive/references/lark-drive-create-folder.md已纳入全文
  • lark-drive/references/lark-drive-create-shortcut.md已纳入全文
  • lark-drive/references/lark-drive-delete-reply.md已纳入全文
  • lark-drive/references/lark-drive-delete.md已纳入全文
  • lark-drive/references/lark-drive-download.md已纳入全文
  • lark-drive/references/lark-drive-export-download.md已纳入全文
  • lark-drive/references/lark-drive-export.md已纳入全文
  • lark-drive/references/lark-drive-files-list.md已纳入全文
  • lark-drive/references/lark-drive-import.md已纳入全文
  • lark-drive/references/lark-drive-inspect.md已纳入全文
  • lark-drive/references/lark-drive-list-comments.md已纳入全文
  • lark-drive/references/lark-drive-list-replies.md已纳入全文
  • lark-drive/references/lark-drive-member-add.md已纳入全文
  • lark-drive/references/lark-drive-member-list.md已纳入全文
  • lark-drive/references/lark-drive-member-remove.md已纳入全文
  • lark-drive/references/lark-drive-move.md已纳入全文
  • lark-drive/references/lark-drive-permission-get-setting.md已纳入全文
  • lark-drive/references/lark-drive-permission-guide.md已纳入全文
  • lark-drive/references/lark-drive-preview.md已纳入全文
  • lark-drive/references/lark-drive-pull.md已纳入全文
  • lark-drive/references/lark-drive-push.md已纳入全文
  • lark-drive/references/lark-drive-react-reply.md已纳入全文
  • lark-drive/references/lark-drive-reactions.md已纳入全文
  • lark-drive/references/lark-drive-resolve-comment.md已纳入全文
  • lark-drive/references/lark-drive-restore-comment.md已纳入全文
  • lark-drive/references/lark-drive-search.md已纳入全文
  • lark-drive/references/lark-drive-secure-label.md已纳入全文
  • lark-drive/references/lark-drive-status.md已纳入全文
  • lark-drive/references/lark-drive-task-result.md已纳入全文
  • lark-drive/references/lark-drive-update-reply.md已纳入全文
  • lark-drive/references/lark-drive-update-title.md已纳入全文
  • lark-drive/references/lark-drive-upload.md已纳入全文
  • lark-drive/references/lark-drive-version-delete.md已纳入全文
  • lark-drive/references/lark-drive-version-get.md已纳入全文
  • lark-drive/references/lark-drive-version-history.md已纳入全文
  • lark-drive/references/lark-drive-version-revert.md已纳入全文
  • lark-drive/references/lark-drive-workflow-knowledge-organize-analysis.md已纳入全文
  • lark-drive/references/lark-drive-workflow-knowledge-organize-discovery.md已纳入全文
  • lark-drive/references/lark-drive-workflow-knowledge-organize-execution.md已纳入全文
  • lark-drive/references/lark-drive-workflow-knowledge-organize-planning.md已纳入全文
  • lark-drive/references/lark-drive-workflow-knowledge-organize-rollback.md已纳入全文
  • lark-drive/references/lark-drive-workflow-knowledge-organize.md已纳入全文
  • lark-drive/references/lark-drive-workflow-permission-governance-commands.md已纳入全文
  • lark-drive/references/lark-drive-workflow-permission-governance-outputs.md已纳入全文
  • lark-drive/references/lark-drive-workflow-permission-governance.md已纳入全文
  • lark-drive/references/lark-drive-workflow-topic-move-collector-execute.md已纳入全文
  • lark-drive/references/lark-drive-workflow-topic-move-collector-recall.md已纳入全文
  • lark-drive/references/lark-drive-workflow-topic-move-collector-resolve-verify.md已纳入全文
  • lark-drive/references/lark-drive-workflow-topic-move-collector-review-plan.md已纳入全文
  • lark-drive/references/lark-drive-workflow-topic-move-collector-setup.md已纳入全文
  • lark-drive/references/lark-drive-workflow-topic-move-collector.md已纳入全文
  • lark-drive/references/lark-drive-workflow.md已纳入全文
  • lark-drive/SKILL.md已纳入全文
  • lark-shared/references/lark-shared-config-init.md已纳入全文
  • lark-shared/references/lark-shared-high-risk-approval.md已纳入全文
  • lark-shared/references/lark-shared-identity-and-permissions.md已纳入全文
  • lark-shared/references/lark-shared-output-contract.md已纳入全文
  • lark-shared/references/lark-shared-update-notice.md已纳入全文
  • lark-shared/references/lark-wiki-token-routing.md已纳入全文
  • lark-shared/SKILL.md已纳入全文
  • lark-whiteboard/elements/image.md已纳入全文
  • lark-whiteboard/references/lark-whiteboard-export.md已纳入全文
  • lark-whiteboard/references/lark-whiteboard-update.md已纳入全文
  • lark-whiteboard/references/lark-whiteboard-workflow.md已纳入全文
  • lark-whiteboard/routes/dsl.md已纳入全文
  • lark-whiteboard/routes/mermaid.md已纳入全文
  • lark-whiteboard/routes/svg-edit.md已纳入全文
  • lark-whiteboard/routes/svg.md已纳入全文
  • lark-whiteboard/scenes/mention.md已纳入全文
  • lark-whiteboard/scenes/photo-showcase.md已纳入全文
  • lark-whiteboard/SKILL.md已纳入全文
  • lark-wiki/references/lark-wiki-delete-space.md已纳入全文
  • lark-wiki/references/lark-wiki-member-add.md已纳入全文
  • lark-wiki/references/lark-wiki-member-list.md已纳入全文
  • lark-wiki/references/lark-wiki-member-remove.md已纳入全文
  • lark-wiki/references/lark-wiki-move-to-drive.md已纳入全文
  • lark-wiki/references/lark-wiki-move.md已纳入全文
  • lark-wiki/references/lark-wiki-node-copy.md已纳入全文
  • lark-wiki/references/lark-wiki-node-create.md已纳入全文
  • lark-wiki/references/lark-wiki-node-delete.md已纳入全文
  • lark-wiki/references/lark-wiki-node-get.md已纳入全文
  • lark-wiki/references/lark-wiki-node-list.md已纳入全文
  • lark-wiki/references/lark-wiki-space-create.md已纳入全文
  • lark-wiki/references/lark-wiki-space-list.md已纳入全文
  • lark-wiki/SKILL.md已纳入全文
  • lark-contact/SKILL.md已纳入全文

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

  • SKILL.md工作说明
  • references/lark-markdown-create.md配套文件
  • references/lark-markdown-diff.md配套文件
  • references/lark-markdown-fetch.md配套文件
  • references/lark-markdown-overwrite.md配套文件
  • references/lark-markdown-patch.md配套文件
  • lark-drive/SKILL.md配套文件
  • lark-drive/references/lark-drive-copy.md配套文件
  • lark-drive/references/lark-drive-search.md配套文件
  • lark-drive/references/lark-drive-inspect.md配套文件
  • lark-drive/references/lark-drive-workflow.md配套文件
  • lark-drive/references/lark-drive-workflow-permission-governance.md配套文件
  • lark-drive/references/lark-drive-member-remove.md配套文件
  • lark-drive/references/lark-drive-secure-label.md配套文件
  • lark-drive/references/lark-drive-workflow-topic-move-collector.md配套文件
  • lark-drive/references/lark-drive-workflow-knowledge-organize.md配套文件
  • lark-drive/references/lark-drive-comment-location.md配套文件
  • lark-drive/references/lark-drive-export.md配套文件
  • lark-drive/references/lark-drive-update-title.md配套文件
  • lark-drive/references/lark-drive-permission-guide.md配套文件
  • lark-drive/references/lark-drive-permission-get-setting.md配套文件
  • lark-drive/references/lark-drive-apply-permission.md配套文件
  • lark-drive/references/lark-drive-upload.md配套文件
  • lark-drive/references/lark-drive-create-folder.md配套文件
  • lark-drive/references/lark-drive-download.md配套文件
  • lark-drive/references/lark-drive-preview.md配套文件
  • lark-drive/references/lark-drive-cover.md配套文件
  • lark-drive/references/lark-drive-status.md配套文件
  • lark-drive/references/lark-drive-pull.md配套文件
  • lark-drive/references/lark-drive-push.md配套文件
  • lark-drive/references/lark-drive-create-shortcut.md配套文件
  • lark-drive/references/lark-drive-add-comment.md配套文件
  • lark-drive/references/lark-drive-list-comments.md配套文件
  • lark-drive/references/lark-drive-batch-query-comments.md配套文件
  • lark-drive/references/lark-drive-resolve-comment.md配套文件
  • lark-drive/references/lark-drive-restore-comment.md配套文件
  • lark-drive/references/lark-drive-add-reply.md配套文件
  • lark-drive/references/lark-drive-list-replies.md配套文件
  • lark-drive/references/lark-drive-update-reply.md配套文件
  • lark-drive/references/lark-drive-delete-reply.md配套文件
  • lark-drive/references/lark-drive-react-reply.md配套文件
  • lark-drive/references/lark-drive-export-download.md配套文件
  • lark-drive/references/lark-drive-import.md配套文件
  • lark-drive/references/lark-drive-version-history.md配套文件
  • lark-drive/references/lark-drive-version-get.md配套文件
  • lark-drive/references/lark-drive-version-revert.md配套文件
  • lark-drive/references/lark-drive-version-delete.md配套文件
  • lark-drive/references/lark-drive-move.md配套文件
  • lark-drive/references/lark-drive-delete.md配套文件
  • lark-drive/references/lark-drive-task-result.md配套文件
  • lark-drive/references/lark-drive-member-add.md配套文件
  • lark-drive/references/lark-drive-member-list.md配套文件
  • lark-drive/references/lark-drive-files-list.md配套文件
  • lark-wiki/SKILL.md配套文件
  • lark-shared/SKILL.md配套文件
  • lark-doc/SKILL.md配套文件
  • lark-wiki/references/lark-wiki-node-copy.md配套文件
  • lark-shared/references/lark-wiki-token-routing.md配套文件
  • lark-drive/references/lark-drive-workflow-permission-governance-commands.md配套文件
  • lark-wiki/references/lark-wiki-node-list.md配套文件
  • lark-drive/references/lark-drive-workflow-permission-governance-outputs.md配套文件
  • lark-doc/references/lark-doc-fetch.md配套文件
  • lark-drive/references/lark-drive-workflow-topic-move-collector-setup.md配套文件
  • lark-drive/references/lark-drive-workflow-topic-move-collector-recall.md配套文件
  • lark-drive/references/lark-drive-workflow-topic-move-collector-resolve-verify.md配套文件
  • lark-drive/references/lark-drive-workflow-topic-move-collector-review-plan.md配套文件
  • lark-drive/references/lark-drive-workflow-topic-move-collector-execute.md配套文件
  • lark-wiki/references/lark-wiki-move.md配套文件
  • lark-wiki/references/lark-wiki-move-to-drive.md配套文件
  • lark-wiki/references/lark-wiki-node-create.md配套文件
  • lark-wiki/references/lark-wiki-node-delete.md配套文件
  • lark-drive/references/lark-drive-workflow-knowledge-organize-discovery.md配套文件
  • lark-drive/references/lark-drive-workflow-knowledge-organize-analysis.md配套文件
  • lark-drive/references/lark-drive-workflow-knowledge-organize-planning.md配套文件
  • lark-drive/references/lark-drive-workflow-knowledge-organize-execution.md配套文件
  • lark-drive/references/lark-drive-workflow-knowledge-organize-rollback.md配套文件
  • lark-wiki/references/lark-wiki-node-get.md配套文件
  • lark-drive/references/lark-drive-comment-content.md配套文件
  • lark-drive/references/lark-drive-reactions.md配套文件
  • lark-wiki/references/lark-wiki-delete-space.md配套文件
  • lark-wiki/references/lark-wiki-space-list.md配套文件
  • lark-wiki/references/lark-wiki-space-create.md配套文件
  • lark-wiki/references/lark-wiki-member-add.md配套文件
  • lark-wiki/references/lark-wiki-member-remove.md配套文件
  • lark-wiki/references/lark-wiki-member-list.md配套文件
  • lark-shared/references/lark-shared-identity-and-permissions.md配套文件
  • lark-shared/references/lark-shared-output-contract.md配套文件
  • lark-shared/references/lark-shared-high-risk-approval.md配套文件
  • lark-shared/references/lark-shared-config-init.md配套文件
  • lark-shared/references/lark-shared-update-notice.md配套文件
  • lark-doc/references/lark-doc-create-workflow.md配套文件
  • lark-doc/references/lark-doc-create.md配套文件
  • lark-doc/references/lark-doc-update.md配套文件
  • lark-doc/references/lark-doc-script.md配套文件
  • lark-doc/references/lark-doc-history.md配套文件
  • lark-doc/references/lark-doc-media-insert.md配套文件
  • lark-doc/references/lark-doc-media-preview.md配套文件
  • lark-doc/references/lark-doc-media-download.md配套文件
  • lark-doc/references/lark-doc-resource-cover.md配套文件
  • lark-doc/references/lark-doc-whiteboard.md配套文件
  • lark-doc/references/lark-doc-mindnote.md配套文件
  • lark-whiteboard/SKILL.md配套文件
  • lark-whiteboard/references/lark-whiteboard-update.md配套文件
  • lark-doc/references/genres/route-workplace.md配套文件
  • lark-doc/references/genres/route-report.md配套文件
  • lark-doc/references/genres/route-knowledge.md配套文件
  • lark-doc/references/genres/route-media.md配套文件
  • lark-doc/references/genres/route-opinion.md配套文件
  • lark-doc/references/genres/route-consumer.md配套文件
  • lark-doc/references/genres/route-marketing.md配套文件
  • lark-doc/references/genres/route-personal-brand.md配套文件
  • lark-doc/references/genres/route-creative.md配套文件
  • lark-doc/references/genres/route-platform.md配套文件
  • lark-doc/references/lark-doc-xml.md配套文件
  • lark-doc/references/lark-doc-xml-extended-blocks.md配套文件
  • lark-doc/references/lark-doc-md.md配套文件
  • lark-whiteboard/references/lark-whiteboard-export.md配套文件
  • lark-whiteboard/routes/svg-edit.md配套文件
  • lark-whiteboard/references/lark-whiteboard-workflow.md配套文件
  • lark-doc/references/genres/memo-brief.md配套文件
  • lark-doc/references/genres/weekly-report.md配套文件
  • lark-doc/references/genres/proposal.md配套文件
  • lark-doc/references/genres/execution-plan.md配套文件
  • lark-doc/references/genres/formal-doc.md配套文件
  • lark-doc/references/genres/official-redhead.md配套文件
  • lark-doc/references/genres/meeting-minutes.md配套文件
  • lark-doc/references/genres/retrospective.md配套文件
  • lark-doc/references/genres/prd.md配套文件
  • lark-doc/references/genres/technical-doc.md配套文件
  • lark-doc/references/genres/sop-tutorial.md配套文件
  • lark-doc/references/genres/research-report.md配套文件
  • lark-doc/references/genres/data-report.md配套文件
  • lark-doc/references/genres/white-paper.md配套文件
  • lark-doc/references/genres/business-analysis.md配套文件
  • lark-doc/references/genres/xiaohongshu.md配套文件
  • lark-doc/references/genres/wechat.md配套文件
  • lark-doc/references/genres/email.md配套文件
  • lark-whiteboard/routes/svg.md配套文件
  • lark-whiteboard/routes/dsl.md配套文件
  • lark-whiteboard/routes/mermaid.md配套文件
  • lark-whiteboard/scenes/mention.md配套文件
  • lark-whiteboard/scenes/photo-showcase.md配套文件
  • lark-contact/SKILL.md配套文件
  • lark-whiteboard/elements/image.md配套文件
  • lark-contact/references/lark-contact-search-user.md配套文件
  • lark-contact/references/lark-contact-search-bot.md配套文件
  • lark-contact/references/lark-contact-get-user.md配套文件

代码和说明中提到的操作

运行命令
SKILL.md:47来自说明文档打开原文件
```bash# BAD: 未转义正则特殊字符,可能匹配到错误位置
references/lark-markdown-create.md:9来自说明文档打开原文件
```bash# 直接用行内内容创建
references/lark-markdown-diff.md:9来自说明文档打开原文件
```bash# 比较两个远端版本
连接外部网站
references/lark-markdown-create.md:37来自说明文档打开原文件
lark-cli markdown +create \  --folder-token "https://feishu.cn/drive/folder/fldcn_xxx" \  --file ./README.md
references/lark-markdown-create.md:47来自说明文档打开原文件
lark-cli markdown +create \  --wiki-token "https://feishu.cn/wiki/wikcn_xxx" \  --file ./README.md
lark-drive/SKILL.md:68来自说明文档打开原文件
|----------|---------------------------------------------------------|-----------|----------|| `/docx/` | `https://example.larksuite.com/docx/doxcnxxxxxxxxx`    | `file_token` | URL 路径中的 token 直接作为 `file_token` 使用 || `/doc/` | `https://example.larksuite.com/doc/doccnxxxxxxxxx`     | `file_token` | URL 路径中的 token 直接作为 `file_token` 使用 |
修改文件
lark-drive/SKILL.md:122来自说明文档打开原文件
| [`+search`](references/lark-drive-search.md) | 搜索文档、Wiki、表格、文件夹等云空间对象;支持 `--edited-since`、`--created-by-me`、`--mine`、`--doc-types` 等扁平 flag;区分 original creator 与 owner 语义。 || [`+upload`](references/lark-drive-upload.md) | 上传本地文件到 Drive 文件夹或 wiki 节点;修改/重写/更新已有文件时优先覆盖上传,而不是直接上传一个新文件。 || [`+create-folder`](references/lark-drive-create-folder.md) | 新建 Drive 文件夹,支持父文件夹与 bot 创建后自动授权。 |
lark-drive/SKILL.md:180来自说明文档打开原文件
  - `list` — 获取文件夹下的清单;使用前阅读 [`references/lark-drive-files-list.md`](references/lark-drive-files-list.md)  - `patch` — 修改文件标题;优先使用 [`drive +update-title`](references/lark-drive-update-title.md) shortcut
lark-drive/references/lark-drive-upload.md:50来自说明文档打开原文件
>> 如果这次调用传了 `--file-token`,表示是在**覆盖已有文件**,CLI **不会**额外修改该文件权限。>
读取文件
lark-drive/SKILL.md:159来自说明文档打开原文件
| [`+member-remove`](references/lark-drive-member-remove.md) | 移除一个 Drive 文档、文件、文件夹或 wiki 节点协作者;封装 Drive permission member delete,真实写入需要 `--yes`。 || [`+permission-get-setting`](references/lark-drive-permission-get-setting.md) | 查询文件、文件夹或云文档自身的公开访问、分享、协作者管理、安全与评论权限设置;支持 URL 或裸 token + `--type`;不递归读取文件夹子文档权限。 || [`+secure-label-list`](references/lark-drive-secure-label.md) | 列出当前用户可用的密级标签。 |
lark-drive/SKILL.md:173来自说明文档打开原文件
>> **高频原生命令:** 读取 Drive 文件夹清单时使用 `drive files list`,使用前先读 [`references/lark-drive-files-list.md`](references/lark-drive-files-list.md),按模板通过 `--params` 传参并手动处理分页;不要把 `--page-all` 输出直接交给 JSON 解析脚本。
lark-drive/references/lark-drive-workflow.md:121来自说明文档打开原文件
1. 先读取本总框架文件。2. 只读取 `Workflow Registry` 中命中的 entry file。
安装其他软件包
lark-whiteboard/SKILL.md:15来自说明文档打开原文件
> - 运行 `lark-cli --version`,确认可用,无需询问用户。> - 运行 `npx -y @larksuite/whiteboard-cli@^0.2.13 -v`,确认可用,无需询问用户。
lark-whiteboard/references/lark-whiteboard-update.md:78来自说明文档打开原文件
# 使用 whiteboard-cli 生成 OpenAPI 格式并通过管道传递npx -y @larksuite/whiteboard-cli@^0.2.13 -i <产物文件> --to openapi --format json \  | lark-cli whiteboard +update \
lark-whiteboard/references/lark-whiteboard-update.md:92来自说明文档打开原文件
# 生成 OpenAPI 格式到文件npx -y @larksuite/whiteboard-cli@^0.2.13 -i <DSL 文件> --to openapi --format json -o ./temp.json
读取了多少行
14,394
文件校验值(用于核对版本)
75fb13560b7a47de71b781c721447b622b4e58352757920c42a55a8a26234998