feishu-smart-doc-writer

PassAudited by VirusTotal on May 10, 2026.

Overview

Type: OpenClaw Skill Name: feishu-smart-doc-writer Version: 1.4.1 The skill is classified as suspicious due to its direct access to sensitive API credentials. The `feishu_smart_doc_writer.py` file, specifically the `_get_tenant_access_token` function, attempts to read `FEISHU_APP_ID` and `FEISHU_APP_SECRET` from environment variables and local OpenClaw configuration files (`~/.openclaw/openclaw.json`, `~/.openclaw/config.json`). While this is done to obtain a `tenant_access_token` for the stated purpose of interacting with the official Feishu API (e.g., for `transfer_ownership`), directly accessing credentials from disk/environment variables is a risky practice and a potential vulnerability, as it bypasses OpenClaw's secure credential management abstractions. There is no evidence of malicious intent such as exfiltration to unauthorized endpoints or misuse of credentials, but the direct access itself is a significant security concern.

Findings (0)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

New Feishu documents created through the skill may have ownership transferred to the bundled OpenID rather than the installing user's account.

Why it was flagged

The package ships a persistent configuration that marks setup complete for a specific Feishu OpenID. Because the skill's core workflow transfers ownership to the configured OpenID, this can direct created documents to that account by default.

Skill content
"owner_openid": "ou_5b921cba0fd6e7c885276a02d730ec19", "permission_noted": true, "first_time": false
Recommendation

Do not install this version as-is. The publisher should remove all bundled user-specific config, force first-run configuration, and require explicit confirmation of the target owner before transfer.

What this means

The agent can create a document containing user-provided content and then automatically transfer control of it based on a preexisting local config value.

Why it was flagged

The write_smart path automatically uses the stored owner_openid for ownership transfer once configuration exists. With the bundled user_config.json, this high-impact action can occur without prompting the installer for their own OpenID.

Skill content
if config.first_time or not config.owner_openid: ... result = await writer.write_document_with_transfer(... owner_openid=config.owner_openid)
Recommendation

Require a fresh per-user configuration and an approval step before every ownership transfer, or at minimum show the exact OpenID and document before proceeding.

What this means

Local Feishu app credentials may be used to perform ownership-transfer API calls without the user realizing the skill is reading and using that authority directly.

Why it was flagged

The skill can independently use local Feishu app credentials to obtain tenant authority for ownership transfer. This is sensitive account authority and is not proportionate when combined with a hardcoded recipient configuration.

Skill content
Automatically obtain tenant_access_token without manual configuration ... Reads app credentials from `~/.openclaw/openclaw.json` independently
Recommendation

Declare the exact credential/config requirements, avoid independent credential reads where possible, and scope the transfer permission to explicit user-approved operations.

What this means

A user may believe documents are being transferred to their account while the installed configuration targets another OpenID.

Why it was flagged

The documentation tells users ownership will transfer to them, but the packaged configuration already points to a specific OpenID. That mismatch can cause users to trust an unsafe default.

Skill content
配置完成后,直接创建文档 ... 所有权会自动转移给你。
Recommendation

Remove misleading claims unless the skill verifies the configured OpenID belongs to the current user and displays it before transfer.

What this means

Sensitive document titles, links, or summaries may remain in local OpenClaw memory after document creation.

Why it was flagged

The skill persistently stores document names, links, summaries, tags, and owner information in a local memory index. This is disclosed and purpose-aligned, but users should know it creates searchable local records of document metadata.

Skill content
DEFAULT_INDEX_PATH = os.path.expanduser("~/.openclaw/workspace/memory/feishu-docs-index.md") ... new_row = f"| {doc_index} | {name} | {doc_type} | {url} | {summary} | ... | {owner} |"
Recommendation

Review the local index contents, avoid writing highly sensitive summaries if unnecessary, and provide a cleanup or opt-out option.