Skip to content
Report library
Purpose / Other

Lark Workflow Standup Report Skill Security Audit

What the author says it does (original text)

日程待办摘要:编排 calendar +agenda 和 task +get-my-tasks,生成指定日期的日程与未完成任务摘要。适用于了解今天/明天/本周的安排。

Independent security check

Security risks found

Files checked
1
Risks found
3
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.Risks found: 1
Medium risk

The “all incomplete tasks” option sends tasks beyond the requested date range to the AI

Source references: 2
What we found

The Skill offers `--page-all` to retrieve every incomplete task. Omitting the due-date filter also retrieves undated and older tasks. Even though old tasks may be collapsed in the final display, they must first be read to count and classify them.

Why this matters

Historical task titles or other returned fields may contain sensitive client, project, or personal information and enter the agent context, exceeding what a today/tomorrow summary needs.

If the user selects retrieval of all incomplete tasks beyond the first 20, the command uses `--page-all`. Without the due-date filter, the workflow also permits undated and historical tasks to be read, even though older items are later collapsed in the displayed summary. This exposes more task content to AI processing than a date-specific summary needs. The condition is limited to full retrieval or omission of `--due-end`; users can require date filtering and prohibit all-page retrieval.

SKILL.md:63In the instructionsOpen original file
# 获取全部未完成任务(超过 20 条时)lark-cli task +get-my-tasks --complete=false --page-all```
Show 1 other places
SKILL.md:69In the instructionsOpen original file
>> 数据量层面也建议加过滤:> - 用 `--due-end` 过滤出目标日期前到期的任务> - 如果也需要无截止日期的任务,可不加 `--due-end`,但 AI 汇总时只展示**近 30 天内创建的**,其余折叠为"其他 N 项历史待办"
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.No risks found
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.Risks found: 2
Medium risk

Mandatory loading of external instructions absent from the audit material

Source references: 2
What we found

The Skill requires the agent to read another SKILL.md from a sibling directory before starting and delegates authentication and permission handling to it. That file is not included here, so its permission requests, commands, and data-handling instructions cannot be verified.

Why this matters

The sibling file present at installation time can influence subsequent agent actions. If replaced or written to exceed the report’s purpose, it could cause additional authorization or operations without the user seeing the complete workflow.

What this evidence establishes

The live instruction requires the agent to read and follow a neighboring shared Skill before execution and says that file governs authentication and permission handling. Because that dependency is absent from the audit material, it is not possible to determine whether it only contains routine login guidance or requests additional permissions, commands, or data access. A user can ask for the pinned dependency and restrict authorization to the calendar/task read scopes listed here.

This assessment concerns the code and conditions shown, not proof that harm has occurred.
SKILL.md:12In the instructionsOpen original file
**CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md),其中包含认证、权限处理**
Show 1 other places
SKILL.md:120In the instructionsOpen original file
- [lark-shared](../lark-shared/SKILL.md) — 认证、权限(必读)- [lark-calendar](../lark-calendar/SKILL.md) — `+agenda` 详细用法
Medium risk

The report requires an organizer even though the described calendar output lacks that field

Source references: 2
What we found

The Skill says the calendar output contains IDs, summaries, times, availability, and RSVP status, but its required table includes an Organizer column with named examples. It gives no rule to leave that value blank or mark it unknown when absent.

Why this matters

The model may guess or misattribute meeting organizers, leading users to make unreliable attendance, scheduling, or contact decisions.

The documented calendar response fields do not include an organizer, yet the required output table asks for one and the example supplies specific names. If the command really omits that field, the agent may invent a name or mislabel another value, which could mislead the user's meeting decisions. Users can ask the author to verify the actual response schema and require an explicit “unknown” value rather than inference when the field is absent.

SKILL.md:52In the instructionsOpen original file
输出包含:event\_id、summary、start\_time(含 timestamp + timezone)、end\_time、free\_busy\_status、self\_rsvp\_status。
Show 1 other places
SKILL.md:80In the instructionsOpen original file
### 日程安排| 时间 | 事件 | 组织者 | 状态 ||------|------|--------|------|| 09:00-10:00 | 产品需求评审 | 张三 | 已接受 || 14:00-15:00 | 技术方案讨论 | 李四 | 待确认 |
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

5 instruction sections

The Skill reads calendar events and incomplete tasks as the user, then asks the AI to convert times, sort entries, detect conflicts, and produce a summary. The listed calendar and task permissions are read-only.

View source
SKILL.md:24In the instructionsOpen original file
仅支持 **user 身份**。执行前确保已授权:```bashlark-cli auth login --domain calendar,task```
SKILL.md:113In the instructionsOpen original file
| 命令 | 所需 scope ||------|-----------|| `calendar +agenda` | `calendar:calendar.event:read` || `task +get-my-tasks` | `task:task:read` |

The default task command limits results to 20 and explicitly excludes completed tasks. For a date-specific report, the Skill recommends a due-date filter to reduce the amount of data processed.

View source
SKILL.md:57In the instructionsOpen original file
```bash# 默认 pending 摘要:必须显式过滤未完成任务(最多 20 条)lark-cli task +get-my-tasks --complete=false# 只看指定日期前到期的未完成任务(推荐用于摘要场景,减少数据量)lark-cli task +get-my-tasks --complete=false --due-end "2026-03-27T23:59:59+08:00"
Start here · InstructionsSKILL.md
lark-workflow-standup-report
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

Run commands
SKILL.md:26In the instructionsOpen original file
```bashlark-cli auth login --domain calendar,task
SKILL.md:42In the instructionsOpen original file
```bash# 今天(默认,无需额外参数)
SKILL.md:56In the instructionsOpen original file
```bash# 默认 pending 摘要:必须显式过滤未完成任务(最多 20 条)
Lines read
123
File checksum (to compare versions)
d2858cbc024eb24b66bbe402714e2d5177a033443e0622d061744ff48c904888