跳转到正文
报告库
用途分类 / 数据分析

Lark Task Skill 安全审计

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

飞书任务:管理任务、清单和任务智能体。创建待办任务、查看和更新任务状态、拆分子任务、组织任务清单、分配协作成员、上传任务附件、注册或注销任务智能体、更新任务智能体的主页数据、写入智能体任务记录。当用户需要创建待办事项、查看任务列表、跟踪任务进度、管理项目清单或给他人分配任务、为任务上传附件文件、注册注销任务智能体、更新智能体主页数据、写入任务记录时使用。

第三方安全检查结论

发现安全风险

已检查文件
18
发现的风险
1
会不会运行危险命令?检查是否下载程序后直接运行、让他人远程控制电脑,或藏起要运行的命令。未发现风险
会不会泄露文件和密钥?检查是否发送含密码或密钥的文件,以及代码里是否直接写了密钥。未发现风险
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。未发现风险
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。未发现风险
会不会误导 AI 或隐藏内容?检查工作说明是否要求 AI 忽略你的指令、干扰检查结果,或夹带看不见的文字。未发现风险
会不会偷偷改推广链接或收款方?检查是否强制替换推广链接或收款对象,同时要求隐瞒更改。发现 1 项风险
中风险

未指定负责人时会强制把新任务分配给当前用户

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

创建流程把“帮我创建一个任务”等普通请求解释为必须将当前登录用户设为负责人,即使用户只要求创建任务、并未选择负责人。它还会读取当前用户的 open_id 并写入任务。

为什么需要注意

新任务可能意外进入用户的负责事项,影响责任归属、任务列表、提醒和团队对负责人的判断。

该风险有依据,但适用范围比标题更窄:当用户说“给我创建”或普通的“帮我创建”时,流程把当前登录用户设为负责人,即使用户没有明确选择负责人,并会读取其 open_id 后写入任务。这可能造成意外负责人分配及通知。文档同时要求确认摘要、截止日期、负责人和清单,并在写入前确认意图;用户可要求作者把负责人作为明确确认项,或先用 dry-run 预览。

references/lark-task-create.md:57来自说明文档打开原文件
1. Confirm with the user: task summary, due date, assignee, and tasklist if necessary.   - **Crucial Rule for Assignee**: If the user explicitly or implicitly says "create a task for me" (给我创建一个任务), or "help me create a task" (帮我新建/创建一个任务), you MUST assign the task to the current logged-in user. You can get the current user's `open_id` by executing `lark-cli auth status` (it already outputs JSON by default, so do not add `--json`) or `lark-cli contact +get-user` first, extracting `.identities.user.openId` (from `auth status`) or `.data.user.open_id` (from `contact +get-user`), and then passing it to the `--assignee` parameter.2. Execute `lark-cli task +create --summary "..." ...`3. Judge success by `ok == true` in the stdout JSON (the success envelope has no `code` field — do not test `code == 0`), then report the result: task ID (`data.guid`) and summary.
查看另外 2 个位置
references/lark-task-create.md:43来自说明文档打开原文件
| `--description <text>` | No | Detailed description of the task || `--assignee <id>` | No | Assignee ID. Use user `open_id` like `ou_xxx` for people, or app ID like `cli_xxx` for apps. || `--follower <id>` | No | Follower ID. Use user `open_id` like `ou_xxx` for people, or app ID like `cli_xxx` for apps. |
references/lark-task-create.md:75来自说明文档打开原文件
> [!CAUTION]> This is a **Write Operation** -- You must confirm the user's intent before executing.

Skill 逻辑拆解

3 个说明模块

该 Skill 通过 `lark-cli` 管理飞书任务、清单、成员、附件、自定义字段和任务智能体;既能读取数据,也能创建、更新和删除云端对象。

查看原文
SKILL.md:89来自说明文档打开原文件
### tasks  - `create` — 创建任务  - `delete` — 删除任务  - `get` — 获取任务详情  - `list` — 列取任务列表  - `patch` — 更新任务### tasklists  - `add_members` — 添加清单成员  - `create` — 创建清单  - `delete` — 删除清单  - `get` — 获取清单详情  - `list` — 获取清单列表  - `patch` — 更新清单  - `remove_members` — 移除清单成员  - `tasks` — 获取清单任务列表

写操作的参考流程通常要求先确认目标和内容;附件上传还限制为当前工作目录内的相对路径、单文件且不超过 50 MB。

查看原文
references/lark-task-update.md:35来自说明文档打开原文件
1. Confirm with the user the tasks to update and the fields.2. Execute `lark-cli task +update --task-id "..." ...`3. Read `data.updated_fields` and `data.tasks[].confirmed` from the result and report only the fields confirmed by the server.4. Do not routinely call `task tasks get` after the update when `confirmed` already contains the required state. Query details only if a required field is absent or the user explicitly asks for a full verification.> [!CAUTION]> This is a **Write Operation** -- You must confirm the user's intent before executing.
references/lark-task-upload-attachment.md:38来自说明文档打开原文件
|-----------|----------|-------------|| `--resource-id <guid_or_applink>` | Yes | Target resource GUID. Accepts a raw task GUID or a Feishu task applink URL (`.../client/todo/task?guid=...`); the `guid` query parameter is extracted automatically. Do not use `suite_entity_num` / display IDs like `t104121`. || `--file <path>` | Yes | Local file path to upload. Must be a relative path within the current working directory; absolute paths and paths escaping the cwd are rejected. Single file only, ≤ 50 MB. || `--resource-type <type>` | No | Owning resource type. Defaults to `task`. Use `task_delivery` when uploading to task agents. || `--user-id-type <type>` | No | User ID type for the request. Defaults to `open_id`. |## Workflow1. Confirm the target task GUID (or applink) and the local file path with the user.2. Ensure the file is within the current working directory and its size is ≤ 50 MB; otherwise ask the user to move/split the file.3. Determine if this is a task agent: if yes, add `--resource-type task_delivery`.

该 Skill 要求先读取包外的共享认证与安全说明。该文件未包含在所提供源码中,因此本次材料无法验证实际认证、令牌处理或全局安全规则。

查看原文
SKILL.md:13来自说明文档打开原文件
**CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md),其中包含认证、权限处理**
references/lark-task-create.md:81来自说明文档打开原文件
- [lark-task](../SKILL.md) -- All task commands- [lark-shared](../../lark-shared/SKILL.md) -- Authentication and global parameters

所列权限包含任务、清单、分组和自定义字段的读写,以及智能体注册和记录写入;用户应按实际用途授予最小范围。

查看原文
SKILL.md:154来自说明文档打开原文件
|------|-----------|| `tasks.create` | `task:task:write` || `tasks.delete` | `task:task:write` || `tasks.get` | `task:task:read` || `tasks.list` | `task:task:read` || `tasks.patch` | `task:task:write` || `tasklists.add_members` | `task:tasklist:write` || `tasklists.create` | `task:tasklist:write` || `tasklists.delete` | `task:tasklist:write` || `tasklists.get` | `task:tasklist:read` || `tasklists.list` | `task:tasklist:read` || `tasklists.patch` | `task:tasklist:write` || `tasklists.remove_members` | `task:tasklist:write` || `tasklists.tasks` | `task:tasklist:read` || `subtasks.create` | `task:task:write` |
SKILL.md:171来自说明文档打开原文件
| `members.remove` | `task:task:write` || `sections.create` | `task:section:write` || `sections.delete` | `task:section:write` || `sections.get` | `task:section:read` || `sections.list` | `task:section:read` || `sections.patch` | `task:section:write` || `sections.tasks` | `task:section:read` || `custom_fields.create` | `task:custom_field:write` || `custom_fields.get` | `task:custom_field:read` || `custom_fields.patch` | `task:custom_field:write` || `custom_fields.list` | `task:custom_field:read` || `custom_fields.add` | `task:custom_field:write` || `custom_fields.remove` | `task:custom_field:write` || `custom_field_options.create` | `task:custom_field:write` || `custom_field_options.patch` | `task:custom_field:write` || `agent.update_agent_profile` | `task:task:write` || `agent.register_agent` | `task:task:write` || `agent_task_step_info.append_task_steps` | `task:task:write` |
从这里开始 · 工作说明SKILL.md
lark-task
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。

文件引用关系图

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

检查范围与遗漏

逐文件查看涉及的内容

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

  • SKILL.md已纳入全文
  • references/lark-task-assign.md已纳入全文
  • references/lark-task-comment.md已纳入全文
  • references/lark-task-complete.md已纳入全文
  • references/lark-task-create.md已纳入全文
  • references/lark-task-followers.md已纳入全文
  • references/lark-task-get-my-tasks.md已纳入全文
  • references/lark-task-get-related-tasks.md已纳入全文
  • references/lark-task-reminder.md已纳入全文
  • references/lark-task-reopen.md已纳入全文
  • references/lark-task-search.md已纳入全文
  • references/lark-task-set-ancestor.md已纳入全文
  • references/lark-task-tasklist-create.md已纳入全文
  • references/lark-task-tasklist-members.md已纳入全文
  • references/lark-task-tasklist-search.md已纳入全文
  • references/lark-task-tasklist-task-add.md已纳入全文
  • references/lark-task-update.md已纳入全文
  • references/lark-task-upload-attachment.md已纳入全文

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

  • SKILL.md工作说明
  • references/lark-task-assign.md配套文件
  • references/lark-task-comment.md配套文件
  • references/lark-task-complete.md配套文件
  • references/lark-task-create.md配套文件
  • references/lark-task-followers.md配套文件
  • references/lark-task-get-my-tasks.md配套文件
  • references/lark-task-get-related-tasks.md配套文件
  • references/lark-task-reminder.md配套文件
  • references/lark-task-reopen.md配套文件
  • references/lark-task-search.md配套文件
  • references/lark-task-set-ancestor.md配套文件
  • references/lark-task-tasklist-create.md配套文件
  • references/lark-task-tasklist-members.md配套文件
  • references/lark-task-tasklist-search.md配套文件
  • references/lark-task-tasklist-task-add.md配套文件
  • references/lark-task-update.md配套文件
  • references/lark-task-upload-attachment.md配套文件

代码和说明中提到的操作

运行命令
SKILL.md:17来自说明文档打开原文件
执行任何 Task 命令前,必须先确认能力真实存在,禁止根据用户意图自行拼接或猜测 `+<verb>`:
SKILL.md:82来自说明文档打开原文件
```bashlark-cli schema task.<resource>.<method>   # 调用 API 前必须先查看参数结构
references/lark-task-assign.md:9来自说明文档打开原文件
```bash# Add an assignee
连接外部网站
references/lark-task-complete.md:14来自说明文档打开原文件
# A task applink is accepted directly; the CLI extracts its guid query valuelark-cli task +complete --task-id "https://applink.larksuite.com/client/todo/task?guid=<task_guid>"```
references/lark-task-create.md:16来自说明文档打开原文件
  --due "2026-03-25" \  --tasklist-id "https://applink.larkoffice.com/client/todo/task_list?guid=a4b00000-000-000-000-00000000036c"
references/lark-task-create.md:70来自说明文档打开原文件
    "guid": "e297d3d0-4b60-4a5f-a4d4-xxxxxxxxxxxx",    "url": "https://applink.larkoffice.com/client/todo/detail?guid=e297d3d0-4b60-4a5f-a4d4-xxxxxxxxxxxx"  }
读取了多少行
915
文件校验值(用于核对版本)
218597d48acb20a6ccd731f40b2e0fa9e0b9bea59111adb6b32f80b8090e676c