Skill Trust Decision

feishu-log

Skill contains hardcoded Feishu API credentials in multiple files and an undeclared credential collection tool, creating significant credential exposure risk despite no confirmed exfiltration behavior.

Install decision first Source: ClawHub Scanned: 23 days ago
Files 15
Artifacts 18
Violations 3
Findings 6
Most direct threat evidence
01
Skill presents as legitimate Feishu log recording tool through SKILL.md Entry · SKILL.md
02
Attacker gains access to source code repository containing hardcoded credentials Escalation · log-simple.mjs
03
Attacker extracts hardcoded Feishu App ID and App Secret Escalation · log-simple.mjs

Why this conclusion was reached

2/4 dimensions flagged
Block
Declared vs actual capability

3 undeclared or violating capabilities were inferred.

Review
Hidden execution and egress

18 lower-risk artifacts were extracted and still need context.

Block
Attack chain and severe findings

The report includes 4 attack-chain steps and 3 severe findings.

Review
Dependencies and supply chain hygiene

1 dependency or supply-chain issues need attention.

Attack Chain

01
Skill presents as legitimate Feishu log recording tool through SKILL.md

Entry · SKILL.md:1

02
Attacker gains access to source code repository containing hardcoded credentials

Escalation · log-simple.mjs:13

03
Attacker extracts hardcoded Feishu App ID and App Secret

Escalation · log-simple.mjs:13

04
Attacker uses stolen credentials to access victim's Feishu workspace, create/modify documents, and manage folders

Impact · feishu-log.js:1

What drove the risk score up

Hardcoded API credentials in source code +25

Multiple files contain real Feishu App ID and App Secret: cli_a93b936aa9391cc7 and aMRJMyi3KSXbSJhRgyx7ycvyT5D3rsrs

Undeclared credential collection tool +20

config-credentials.js is flagged sensitive but not documented in SKILL.md; it collects and saves credentials to ~/.openclaw/feishu-credentials.json

Documentation mismatch +15

SKILL.md claims .env-only config but log-work.mjs reads from ~/.openclaw/openclaw.json without disclosure

Multiple credential fallback sources +5

Scripts use env vars > OpenClaw config > hardcoded defaults chain

Most important evidence

High Credential Theft

Hardcoded Feishu API Credentials in Source Code

Multiple JavaScript files contain hardcoded Feishu App ID (cli_a93b936aa9391cc7) and App Secret (aMRJMyi3KSXbSJhRgyx7ycvyT5D3rsrs) as fallback values. These credentials appear in: log-simple.mjs:13-14, log-work.mjs:32-36, log.js:19-21, log-interactive.mjs:6-8, config-credentials.js:51-53. Exposing API credentials in source code is a critical security risk.

log-simple.mjs:13
Remove all hardcoded credentials. Use only environment variables or secure credential management.
High Doc Mismatch

Undeclared Credential Collection Tool

config-credentials.js is marked as sensitive but is not mentioned in SKILL.md. This interactive tool collects Feishu credentials from users and saves them to ~/.openclaw/feishu-credentials.json. This hidden functionality is undisclosed.

config-credentials.js:1
Document this tool in SKILL.md or remove it if not needed.
High Doc Mismatch

Undeclared OpenClaw Config Credential Source

log-work.mjs reads Feishu credentials from ~/.openclaw/openclaw.json (lines 14-32) as a fallback source. SKILL.md only mentions .env file configuration, creating a documentation mismatch.

log-work.mjs:14
Document all credential sources in SKILL.md.
Medium Credential Theft

Hardcoded Folder Token in Source

log.js and log-interactive.mjs contain hardcoded ROOT_FOLDER_TOKEN (RdVIffbJxl8HDCdJiULcIpdgnzf) as fallback.

log.js:21
Remove hardcoded folder tokens.
Medium Sensitive Access

Sensitive File Access Not Documented

Skill accesses multiple sensitive paths: ~/.openclaw/workspace/.env, ~/.openclaw/feishu-credentials.json, ~/.openclaw/openclaw.json. SKILL.md does not declare filesystem access to these paths.

feishu-log.js:53
Document all sensitive path accesses in SKILL.md.
Low Credential Theft

config-credentials.js Has Default Credential Fallback

If user provides empty input during credential collection, config-credentials.js uses hardcoded defaults.

config-credentials.js:51
Remove default credential fallbacks in interactive prompts.

Declared capability vs actual capability

Filesystem Block
Declared READ
→
Inferred WRITE
feishu-log.js:53 writes to ENV_FILE_PATH
Network Block
Declared READ
→
Inferred WRITE
All scripts make HTTPS POST requests to Feishu API
Environment Block
Declared NONE
→
Inferred READ
feishu-log.js:57 reads os.homedir(); log-work.mjs:26 reads process.env

Suspicious artifacts and egress

Medium External URL
https://feishu.cn/drive

README-权限设置.md:14

Medium External URL
https://feishu.cn/drive/folder/[文件夹

README-权限设置.md:37

Medium External URL
https://feishu.cn/drive/folder/MDjAfBJorlqu14dWxBocy7MnnId

README-权限设置.md:41

Medium External URL
https://open.feishu.cn/document

README-权限设置.md:79

Medium External URL
https://open.feishu.cn/app/YOUR_APP_ID/auth?q=drive:drive

SKILL.md:141

Medium External URL
https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal/

SKILL.md:193

Medium External URL
https://open.feishu.cn/open-apis/contact/v3/users?user_id_type=open_id&page_size=10

SKILL.md:197

Medium External URL
https://feishu.cn/docx/doxxx

SKILL.md:228

Medium External URL
https://open.feishu.cn/open-apis/drive/v1/permissions/:token/members

SKILL.md:343

Medium External URL
https://open.feishu.cn/

config-credentials.js:51

Medium External URL
https://open.feishu.cn/open-apis

feishu-log.js:25

Medium External URL
https://feishu.cn/docx/$

feishu-log.js:305

Dependencies and supply chain

PackageVersionSourceKnown vulnNotes
@larksuiteoapi/node-sdk * npm No Official Feishu SDK, version not pinned

File composition

15 files · 3172 lines
JavaScript 6 files · 1752 linesMarkdown 7 files · 1390 linesShell 1 files · 25 linesJSON 1 files · 5 lines
Files of concern · 9
config-credentials.js JavaScript · 93 lines
Undeclared Credential Collection Tool · config-credentials.js Has Default Credential Fallback · https://open.feishu.cn/
feishu-log.js JavaScript · 737 lines
Sensitive File Access Not Documented · https://open.feishu.cn/open-apis · https://feishu.cn/docx/$
SKILL.md Markdown · 451 lines
https://open.feishu.cn/app/YOUR_APP_ID/auth?q=drive:drive · https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal/ · https://open.feishu.cn/open-apis/contact/v3/users?user_id_type=open_id&page_size=10 · https://feishu.cn/docx/doxxx · https://open.feishu.cn/open-apis/drive/v1/permissions/:token/members
log-work.mjs JavaScript · 285 lines
Undeclared OpenClaw Config Credential Source
log-interactive.mjs JavaScript · 208 lines
https://wcnh9mbykuay.feishu.cn/docx/$
log-simple.mjs JavaScript · 223 lines
Hardcoded Feishu API Credentials in Source Code · https://bytedance.feishu.cn/docx/$
log.js JavaScript · 206 lines
Hardcoded Folder Token in Source
更新说明.md Markdown · 139 lines
https://open.feishu.cn/document/ukTMukTMukTM/uEjNwUjLxYDM14SM2gTN · https://open.feishu.cn/document/ukTMukTMukTM/ucDM54SOy4DNL4SM2gTN · https://open.feishu.cn/document/ukTMukTMukTM/uYjNwUjL2YDM14iN2gTN
修复报告.md Markdown · 102 lines
https://wcnh9mbykuay.feishu.cn/docx/Z463dNM4EoBOvOxNGIhcQEdbn0d
Other files · 技能规范检查.md · 规范符合性总结.md · README.md

Security positives

No evidence of data exfiltration or C2 communication
No reverse shell or remote code execution detected
No base64 obfuscation or suspicious encoding patterns
No credential harvesting beyond the documented API use
Uses HTTPS for all network requests to official Feishu API endpoints
No evidence of supply chain attacks or malicious dependencies
Dependencies (@larksuiteoapi/node-sdk) appear legitimate