Live survey304 models · 14 providers · 22,792 auditsAudited grill-with-docs · SAFE →What changedHow we verifyllms.txt

Agent skill · Audited from source

feishu-cli-auth

skill · riba2534/feishu-cliMIT licenceAudited 31 Oct 2026 · source 67f6962450ab

★ 1,435pushed 22 days ago
✕BLOCKGrade F · 44/100 · 25 findings · 67f6962
1,435repo stars · whole riba2534/feishu-cli

Is it safe? No — BLOCK, grade F (44/100). We read this skill's source at commit 67f6962450ab and observed filesystem and network access and no hard-coded secrets. The audit raised 25 findings, 7 critical or high. What it does: 飞书电子表格 Sheet 与多维表格 Bitable/Base:按范围读写单元格、类型保真整表读写、样式/合并/冻结/行列增删移动与隐藏、筛选与筛选视图、下拉框、原生单元格图片与浮动图片、Markdown 互转与 XLSX/CSV 导出;Bitable 表、字段、记录(结构化筛选、upsert、批量)、视图、链接解析、角色与成员、仪表盘、表单与分享、工作流和数据聚合,支持 --as bot 的 cron 无人值守。用户给出…

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “feishu-cli-auth (riba2534/feishu-cli)”. Retrieved 31 Oct 2026. https://modelsatlas.com/skills/riba2534/feishu-cli-auth

Blocked. The page stays public so you can check this skill if someone recommended it to you. The audit found 7 critical or high findings, starting with “Filesystem / path” in cmd/apps_html_publish.go:50. Do not install it without reading them.

Trust audit

Audit 0.4.1 · source read 31 Oct 2026

Trust score44/100✕BLOCK F
0 critical7 high5 medium29 low5 info

BLOCK means the audit found something that could harm you or your machine. Grade F is shared by 114 of 17,602 audited skills.

What the source does

  • FilesystemDeclared6 observations
  • NetworkDeclared5 observations
  • ShellNone observedNo commands run in the source
  • DependenciesPinnedNothing floats
  • SecretsNone foundNo keys in source

Five audit layers

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityPASS1
L1 Static sourceSecrets, path traversal, supply chain, hidden codeFAIL24
L2 InstructionsPrompt injection, authority framing, hidden directivesPASS0
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: no behavioural pass.

Findings (25)

HIGHFilesystem / pathfs.credential_store · cmd/apps_html_publish.go:50
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
- 默认拦截凭证文件(.env / .npmrc / .netrc / .git-credentials / .aws/credentials /
Why
touches a credential store
Fix
—
HIGHFilesystem / pathfs.credential_store · cmd/apps_sensitive_paths.go:26
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
case p == ".netrc":
Why
touches a credential store
Fix
—
HIGHFilesystem / pathfs.credential_store · cmd/apps_sensitive_paths.go:28
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
case p == ".git-credentials":
Why
touches a credential store
Fix
—
HIGHPrivilege escalation / persistencepriv.escalate · cmd/update.go:41
F-06 Privilege escalation / persistenceCWE-269 · CWE-250Layer L1
目标目录无写权限时给出提示,不会自动 sudo。更新后运行 feishu-cli skills install 同步本地技能。`,
Why
asks for elevated privileges
Fix
—
HIGHPrivilege escalation / persistencepriv.escalate · cmd/update.go:149
F-06 Privilege escalation / persistenceCWE-269 · CWE-250Layer L1
return fmt.Errorf("没有权限写入 %s: %v\n建议: 以有权限的用户重新运行(如 sudo %s update),或重新执行 install.sh,或用 --target 指定可写位置的二进制", dir, err, filepath.Base(target))
Why
asks for elevated privileges
Fix
—
HIGHPrivilege escalation / persistencepriv.escalate · install.sh:262
F-06 Privilege escalation / persistenceCWE-269 · CWE-250Layer L1
sudo mv "$binary_path" "${install_dir}/${BINARY_NAME}"
Why
asks for elevated privileges
Fix
—
HIGHPrivilege escalation / persistencepriv.escalate · internal/clipboard/clipboard.go:249
F-06 Privilege escalation / persistenceCWE-269 · CWE-250Layer L1
"例如 `sudo apt install xclip`、`sudo dnf install wl-clipboard`、`sudo pacman -S xclip`;或改用 --file 指定本地图片")
Why
asks for elevated privileges
Fix
—
MEDIUMObfuscation / stealthobf.homoglyph · skills/feishu-cli-visual/references/workflows/dataviz/scripts/validate_palette.js:41
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
var DE_TARGET = 12, DE_FLOOR = 8;    // CVD ΔE 目标 / 地板
Why
No further detail recorded for this rule.
Fix
—
MEDIUMObfuscation / stealthobf.homoglyph · skills/feishu-cli-visual/references/workflows/dataviz/scripts/validate_palette.js:43
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
var STEP_DL_MIN = 0.06;              // ordinal 相邻步最小 ΔL
Why
No further detail recorded for this rule.
Fix
—
MEDIUMObfuscation / stealthobf.homoglyph · skills/feishu-cli-visual/references/workflows/dataviz/scripts/validate_palette.js:221
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
? "最差 " + worst.a + " ↔ " + worst.b + " ΔE=" + worst.dE.toFixed(1) + " (" + worst.kind + ");目标≥" + DE_TARGET + ",地板 " + DE_FLOOR + "–" + DE_TARGET + " 须配二级编码 · tritan 最差 ΔE=" + worstTritan.toFixed(1)
Why
No further detail recorded for this rule.
Fix
—
MEDIUMObfuscation / stealthobf.homoglyph · skills/feishu-cli-visual/references/workflows/dataviz/scripts/validate_palette.js:268
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
if (g < STEP_DL_MIN) thin.push(palette[j - 1] + "↔" + palette[j] + " (ΔL=" + g.toFixed(3) + ")");
Why
No further detail recorded for this rule.
Fix
—
MEDIUMObfuscation / stealthobf.homoglyph · skills/feishu-cli-visual/references/workflows/dataviz/scripts/validate_palette.js:273
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
detail: thin.length ? "步距过小: " + thin.join(", ") : "全部 ΔL ≥ " + STEP_DL_MIN,
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.credential_store · cmd/apps_test.go:187
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
hit := []string{".env", ".env.production", "sub/.npmrc", ".netrc", "a/.git-credentials",
Why
touches a credential store
Fix
—
LOWFilesystem / pathfs.credential_store · cmd/apps_test.go:214
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
if appsIsSensitiveCandidate("/home/u/.aws/sub", true, c) {
Why
touches a credential store
Fix
—
LOWFilesystem / pathfs.system_paths · cmd/apps_test.go:172
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
unsafe := []string{"/etc/passwd", "..", "../x", "a/../b", "a/..", "a\x00b"}
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.system_paths · cmd/path_safety_test.go:55
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
for _, p := range []string{"/etc/hostname", cred} {
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.system_paths · cmd/skills_test.go:113
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
{"skills", "read", "feishu-cli-docs", "/etc/hosts"},
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.system_paths · internal/client/mail_inline_test.go:35
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
ref := &MailInlineImageRef{LocalPath: "/etc/hosts"}
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.system_paths · internal/client/mail_inline_test.go:38
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
t.Fatal("/etc/hosts 应该被 safe-roots 拒绝")
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.traversal · cmd/drive_export_write_test.go:13
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
for _, name := range []string{"../escape.md", "..", "foo/../../outside.md"} {
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.traversal · cmd/drive_pull_status_test.go:139
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
for _, bad := range []string{"..", "../x", "a/../../x", "a//b", "./a", "a\\..\\b", ""} {
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.traversal · cmd/export_wiki_tree_test.go:250
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
want:       "![image](../../assets/TCP_IP_API/overview/coord/image_1.png)",
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.traversal · cmd/msg_resource_download_test.go:23
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
{"服务端文件名路径穿越被拒", "file_xxx", false, &client.ResourceMeta{FileName: "../../etc/passwd", ContentType: "text/plain"}, "passwd"},
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.traversal · cmd/skills_test.go:112
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
{"skills", "read", "feishu-cli-docs", "../../go.mod"},
Why
No further detail recorded for this rule.
Fix
—

Audit 0.4.1 · source sha 67f6962450ab · 31 Oct 2026Report an issue or request a re-scan

Provenance

Who published it, and what the verdict is pinned to

  • Publisherriba2534 GitHub userOwner of the repository this skill is read from
  • Source folderriba2534/feishu-cliThe exact folder we audited
  • LicenceMITAs the repository states it
  • Commit pinned for this verdict67f6962450abA new audit runs when the source changes
  • Repository statusNot archivedLast push 22 days ago
  • Sandboxed runNot runSkills are read, not executed; layer L4 is skipped

What it tells the agent

Full source on GitHub ↗

Its description: 飞书电子表格 Sheet 与多维表格 Bitable/Base:按范围读写单元格、类型保真整表读写、样式/合并/冻结/行列增删移动与隐藏、筛选与筛选视图、下拉框、原生单元格图片与浮动图片、Markdown 互转与 XLSX/CSV 导出;Bitable 表、字段、记录(结构化筛选、upsert、批量)、视图、链接解析、角色与成员、仪表盘、表单与分享、工作流和数据聚合,支持 --as bot 的 cron 无人值守。用户给出…

---
name: feishu-cli-data
description: >-
  飞书电子表格 Sheet 与多维表格 Bitable/Base:按范围读写单元格、类型保真整表读写、样式/合并/冻结/行列增删移动与隐藏、筛选与筛选视图、下拉框、原生单元格图片与浮动图片、Markdown 互转与 XLSX/CSV 导出;Bitable 表、字段、记录(结构化筛选、upsert、批量)、视图、链接解析、角色与成员、仪表盘、表单与分享、工作流和数据聚合,支持 --as bot 的 cron 无人值守。用户给出 /sheets/、/base/ 链接或要处理表格数据时使用。不用于:只需通读或总结整张表(feishu-cli-docs)、把本地 XLSX/CSV 文件导入成飞书表格和文档协作者权限(feishu-cli-storage)、图表可视化展示(feishu-cli-visual)、未封装 OpenAPI 透传(feishu-cli-platform)。
compatibility: Requires feishu-cli v1.43.0+ and network access for Feishu API calls.
allowed-tools: Bash(feishu-cli:*) Bash(./feishu-cli:*) Bash(./bin/feishu-cli:*) Bash(jq:*) Read Write
---

# 飞书表格与多维表格

加载工作流后,将其中 `references/`、`scripts/`、`templates/`、`examples/` 相对路径按该
`workflow.md` 所在目录解析;执行脚本时使用解析后的实际路径,不要依赖当前 shell 目录。

## 路由

| 意图 | 读取文件 |
|---|---|
| Sheet 筛选视图与条件、下拉菜单、浮动图片 / 单元格图片、批量样式,以及全部 sheet 命令的决策要点 | `references/workflows/sheet/workflow.md` |
| Sheet 创建与元信息、读写追加、`table-get` / `table-put` 类型保真、行列与子表管理、查找替换、筛选、保护、Markdown 互转 | `references/workflows/sheet/workflow.md`,再读 `references/workflows/sheet/references/basic-commands.md` |
| Bitable/Base 链接解析(resolve、block)、表、字段、记录(含附件、批量、分页)、视图与视图配置、data-query | `references/workflows/bitable/workflow.md` |
| Bitable 角色与协作者、高级权限、工作流、仪表盘与图表块、表单与分享 | `references/workflows/bitable/workflow.md` |

## 执行规则

1. `/wiki/` 链接或类型不明的 token 先 `drive inspect --url` 解析;Bitable 链接用 `bitable resolve`(`?table=` 不一定是数据表,
   `/record/`、表单分享链接也不能直接拆)。`/sheets/` 是 Sheet,`/base/` 是 Bitable。
2. 表格参数与 `--base-token` 都可直接传链接(含 `/spreadsheets/`、知识库 `/wiki/`)。
3. 身份:Sheet 不传 `--as` 时 User 优先、不可用时告警后回退 Bot;Bitable 默认 `--as auto`。cron / 无人值守显式 `--as bot`;
   `--as bot` 报 91403 是 Bot 不是协作者,按工作流把 Bot 加为协作者,不要反复换 token。
4. Sheet 范围前缀可写 sheetId 或子表名(`Sheet1!A1`);多子表时必须带前缀或 `--sheet-id/--sheet-name`。行列命令
   `--range "3:5"` 是 1 起始两端包含,`--start/--end` 是 0 起始且不含 end;删除行列/子表前先 `--dry-run` 核对实际行号。
5. 长 ID、前导零编码写成 JSON 字符串(超过约 15 位的数字会被舍入);`table-put` 数字列 dtype 用 `int64` / `float64`(`number` 不合法,会按文本写入)。
   `sheet find/replace` 必须带 `--range`。
6. Bitable 写入用 base/v3 结构:字段 JSON 顶层 `type`,不要包 `field` / `property`;`record batch-create` 用
   `create_records` 或 `fields`+`rows`,不是 v1 的 `records`。写前先用少量记录验证字段类型与选项。
7. 布尔 flag 写 `--flag` 或 `--flag=false`,不要写 `--flag false`(会被当成 true)。删除表/字段/记录/视图没有确认门禁、
   执行即生效;`form field delete` 默认连字段和整列数据一起删,只移除题目时用 `--keep-field`。
8. Sheet 单元格图片用 `sheet image write-image`(单张)/ `write-batch`(批量),不要用 `=IMAGE()` 公式或 Markdown 图片语法。

删除、覆盖类命令返回退出码 10 时,向用户确认目标与影响后追加全局 `--yes` 重跑,不要自行添加。身份或 scope 报错(如 99991663/99991668/99991672/99991679)读取 `../feishu-cli-platform/references/workflows/auth/references/identity.md`;判断成败、编写脚本或处理确认门禁读取 `../feishu-cli-platform/references/workflows/auth/references/agent-contract.md`。

Excerpt, first 2,721 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.

Install

Pinned to the audited commit 67f6962

git clone https://github.com/riba2534/feishu-cli.git
git clone --depth 1 https://github.com/larksuite/cli /tmp/larksuite-cli
npm i -g @larksuite/whiteboard-cli

Commands as the repository documents them: shown, never run by us. Our verdict covers commit 67f6962450ab only.

Works in which agents?

What its own text says, not a test

AgentStatusMore
Claude CodeMentioned in its text, not testedSkills for Claude Code · About Claude Code
CursorMentioned in its text, not testedSkills for Cursor · About Cursor
“Mentioned” means the skill’s text names the agent. We have not run it there.

Audit history

Every audit, every source change

  1. ✕BLOCK F 44 / 100

    first audit · source 67f6962450ab

README badge

For maintainers · shows the latest audit

ModelsAtlas: BLOCK FMODELSATLASBLOCK · F
[![ModelsAtlas: BLOCK F](https://modelsatlas.com/skills/riba2534/feishu-cli-auth/badge.svg)](https://modelsatlas.com/skills/riba2534/feishu-cli-auth/)

The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.

Similar skills

Add this badge to your README

[![ModelsAtlas: BLOCK F](https://modelsatlas.com/skills/riba2534/feishu-cli-auth/badge.svg)](https://modelsatlas.com/skills/riba2534/feishu-cli-auth/)

Questions about feishu-cli-auth

What does the feishu-cli-auth skill do?
feishu-cli 是一个功能完整的飞书开放平台命令行工具。它将飞书文档、知识库、电子表格、消息、日历、任务等操作封装为简洁的命令行接口,核心能力是 Markdown ↔ 飞书文档双向无损转换。
Is feishu-cli-auth safe to install?
No — not without reading the findings first. The audit graded it F (44/100) and found 7 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What can feishu-cli-auth access on my machine?
The audit observed that it reaches the network and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: none found.
Which assistants does feishu-cli-auth work with?
Its documentation mentions claude-code and cursor. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (67f6962450ab), read on 2026-10-31. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.