Skip to content
Report library
Purpose / Other

Lark Attendance Skill Security Audit

What the author says it does (original text)

飞书考勤打卡:查询自己的考勤打卡记录

Independent security check

Security risks found

Files checked
1
Risks found
2
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

A fixed empty `user_ids` may broaden an “own records” query

Source references: 4
What we found

The Skill always sets `user_ids` to an empty array and forbids asking the user, while claiming to query only the user's own records. The supplied material does not define how the API interprets an empty array.

Why this matters

If Lark treats an empty array as unrestricted or all authorized users, an account with broader organizational access could retrieve other employees' attendance data.

What this evidence establishes

The stated purpose is to query the user's own attendance, but the Skill forces `user_ids` to an empty array and forbids asking the user. The supplied source does not define how the API interprets an empty array, so it cannot establish whether this broadens the query or is automatically limited to the current user. The user should ask for the field's official semantics and restrict the token to read-only attendance access meanwhile.

This assessment concerns the code and conditions shown, not proof that harm has occurred.
SKILL.md:17In the instructionsOpen original file
调用任何 API 时,以下参数 **必须自动填充,禁止向用户询问**:| 参数 | 固定值 | 说明                                 ||------|--------|------------------------------------|| `employee_type` | `"employee_no"` | `employee_type`始终等于`"employee_no"` || `user_ids` | `[]`(空数组) | `user_ids`始终等于`[]`                 |
Show 3 other places
SKILL.md:37In the instructionsOpen original file
> **注意**:`user_ids` 数组保持为空[],`employee_type` 保持 `"employee_no"` 不变。
SKILL.md:4In the instructionsOpen original file
version: 1.0.0description: "飞书考勤打卡:查询自己的考勤打卡记录"metadata:
SKILL.md:54In the instructionsOpen original file
| 方法 | 所需 scope ||------|-----------|| `user_tasks.query` | `attendance:task:readonly` |
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: 1
Medium risk

Authentication and permission behavior is delegated to an unavailable neighboring Skill

Source references: 2
What we found

Before doing anything, the agent is required to read and follow `../lark-shared/SKILL.md`, which is absent from the submitted evidence. That external file can change authentication, permission requests, or later actions.

Why this matters

If the neighboring file in the installed package is replaced or contains instructions beyond this Skill's purpose, the agent could request permissions, handle credentials, or take other actions that this audit cannot verify.

This is an active prerequisite: the agent must read an adjacent Skill before starting, and that file is absent from the audit material; the text explicitly says it governs authentication and permission handling. The user therefore cannot verify from this source which credentials or permission flow will be used. This does not prove malicious behavior, but it creates an unaudited trust boundary. The user can require that dependency for review or block loading an unpinned adjacent Skill.

SKILL.md:13In the instructionsOpen original file
**CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md),其中包含认证、权限处理**
Show 1 other places
SKILL.md:54In the instructionsOpen original file
| 方法 | 所需 scope ||------|-----------|| `user_tasks.query` | `attendance:task:readonly` |
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

3 instruction sections

The Skill claims to query the user's own Lark attendance records and directs the agent to call `attendance.user_tasks.query` through `lark-cli`.

View source
SKILL.md:4In the instructionsOpen original file
version: 1.0.0description: "飞书考勤打卡:查询自己的考勤打卡记录"metadata:
SKILL.md:42In the instructionsOpen original file
```bashlark-cli schema attendance.<resource>.<method>   # 调用 API 前必须先查看参数结构lark-cli attendance <resource> <method> [flags]  # 调用 API```
SKILL.md:48In the instructionsOpen original file
### user_tasks- `query` — 查询用户考勤打卡记录

It requires inspecting the API schema first and declares a read-only attendance scope. This limits the documented capability, while the actual records visible still depend on the Lark account's authorization.

View source
SKILL.md:46In the instructionsOpen original file
> **重要**:使用原生 API 时,必须先运行 `schema` 查看 `--data` / `--params` 参数结构,不要猜测字段格式。
SKILL.md:52In the instructionsOpen original file
## 权限表| 方法 | 所需 scope ||------|-----------|| `user_tasks.query` | `attendance:task:readonly` |
Start here · InstructionsSKILL.md
lark-attendance
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:41In the instructionsOpen original file
```bashlark-cli schema attendance.<resource>.<method>   # 调用 API 前必须先查看参数结构
Lines read
58
File checksum (to compare versions)
4d177ab709de813b5d4c4d809c72933f92303f8a63150d0edb121bf6026d715f