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.
Why this conclusion was reached
2/4 dimensions flagged3 undeclared or violating capabilities were inferred.
18 lower-risk artifacts were extracted and still need context.
The report includes 4 attack-chain steps and 3 severe findings.
1 dependency or supply-chain issues need attention.
Attack Chain
Entry · SKILL.md:1
Escalation · log-simple.mjs:13
Escalation · log-simple.mjs:13
Impact · feishu-log.js:1
What drove the risk score up
Multiple files contain real Feishu App ID and App Secret: cli_a93b936aa9391cc7 and aMRJMyi3KSXbSJhRgyx7ycvyT5D3rsrs
config-credentials.js is flagged sensitive but not documented in SKILL.md; it collects and saves credentials to ~/.openclaw/feishu-credentials.json
SKILL.md claims .env-only config but log-work.mjs reads from ~/.openclaw/openclaw.json without disclosure
Scripts use env vars > OpenClaw config > hardcoded defaults chain
Most important evidence
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 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 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 Hardcoded Folder Token in Source
log.js and log-interactive.mjs contain hardcoded ROOT_FOLDER_TOKEN (RdVIffbJxl8HDCdJiULcIpdgnzf) as fallback.
log.js:21 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 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 Declared capability vs actual capability
feishu-log.js:53 writes to ENV_FILE_PATH All scripts make HTTPS POST requests to Feishu API feishu-log.js:57 reads os.homedir(); log-work.mjs:26 reads process.env Suspicious artifacts and egress
https://feishu.cn/drive README-权限设置.md:14
https://feishu.cn/drive/folder/[文件夹 README-权限设置.md:37
https://feishu.cn/drive/folder/MDjAfBJorlqu14dWxBocy7MnnId README-权限设置.md:41
https://open.feishu.cn/document README-权限设置.md:79
https://open.feishu.cn/app/YOUR_APP_ID/auth?q=drive:drive SKILL.md:141
https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal/ SKILL.md:193
https://open.feishu.cn/open-apis/contact/v3/users?user_id_type=open_id&page_size=10 SKILL.md:197
https://feishu.cn/docx/doxxx SKILL.md:228
https://open.feishu.cn/open-apis/drive/v1/permissions/:token/members SKILL.md:343
https://open.feishu.cn/ config-credentials.js:51
https://open.feishu.cn/open-apis feishu-log.js:25
https://feishu.cn/docx/$ feishu-log.js:305
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| @larksuiteoapi/node-sdk | * | npm | No | Official Feishu SDK, version not pinned |
File composition
config-credentials.js feishu-log.js SKILL.md log-work.mjs log-interactive.mjs log-simple.mjs log.js 更新说明.md 修复报告.md