安全决策报告

x-daily-report

Skill implements X/Twitter monitoring with undeclared browser cookie access, a hardcoded API key, and undocumented Feishu API communication—all not mentioned in SKILL.md.

安装决策优先 来源: 手动上传 扫描时间: 2026/4/4
文件 5
IOC 2
越权项 2
发现 5
最直接的威胁证据
高危 凭证窃取
Hardcoded API Key in Source Code

A plaintext X API key is embedded in scripts/x-monitor.js at line 11. While the value appears to be a placeholder/test string, hardcoding credentials in source code is a serious anti-pattern that risks exposure through version control.

scripts/x-monitor.js:11

为什么得出这个结论

3/4 个维度触发
阻止
声明与实际能力

发现 2 项声明之外的能力或越权行为。

阻止
隐藏执行与外联

提取到 1 个高危 IOC 或外联信号。

阻止
攻击链与高危发现

报告包含 0 步攻击链,另有 2 项高危或严重发现。

复核
依赖与供应链卫生

发现 2 项需要关注的依赖或供应链线索。

风险分是怎么被拉高的

Undeclared browser cookie access +15

x-scraper-free.js uses useCookiesFromBrowser('chrome') to extract authenticated X sessions — not declared in SKILL.md

Hardcoded API key +15

x-monitor.js:11 contains X_API_KEY hardcoded as plaintext; also constitutes doc deception since SKILL.md says free mode requires no keys

Undeclared external API communication +10

x-monitor.js calls open.feishu.cn API with BITABLE_APP_TOKEN — not mentioned in SKILL.md

Unpinned dependencies +5

@the-convocation/twitter-scraper and axios have version ranges (^0.22.1, ^1.6.0) without pinning

Doc-to-code mismatch on API mode +3

SKILL.md claims zero-cost free mode but includes x-monitor.js which requires API credentials

最关键的证据

高危 凭证窃取

Hardcoded API Key in Source Code

A plaintext X API key is embedded in scripts/x-monitor.js at line 11. While the value appears to be a placeholder/test string, hardcoding credentials in source code is a serious anti-pattern that risks exposure through version control.

scripts/x-monitor.js:11
Remove hardcoded credentials. Use environment variables (process.env.X_API_KEY) and document required env vars in SKILL.md.
高危 文档欺骗

Undeclared Browser Cookie Access

x-scraper-free.js calls scraper.useCookiesFromBrowser('chrome') to extract live Chrome browser cookies for X authentication. This is a significant capability not declared anywhere in SKILL.md. An agent with this skill could harvest authenticated sessions for any site stored in Chrome.

scripts/x-scraper-free.js:90
Declare browser:READ permission in SKILL.md and document why Chrome cookie reuse is necessary.
中危 文档欺骗

Undeclared Feishu/Bitable API Communication

x-monitor.js communicates with open.feishu.cn to fetch account lists from a Feishu Bitable. This external data source integration is not documented in SKILL.md, which only describes free and API modes without mentioning Feishu.

scripts/x-monitor.js:8
Document Feishu Bitable integration in SKILL.md if intentional, or remove the code if unnecessary.
中危 供应链

Unpinned Dependency Versions

@the-convocation/twitter-scraper (^0.22.1) and axios (^1.6.0) are listed with caret ranges, allowing automatic minor/patch updates. This creates supply chain risk where a compromised upstream release could be silently installed.

package.json:10
Pin exact versions (e.g., "0.22.1") to ensure reproducible and auditable builds.
低危 文档欺骗

SKILL.md Misleading Zero-Cost Claim

SKILL.md prominently advertises '零成本运行' and '无需X开发者账号' but includes x-monitor.js which explicitly requires X_API_KEY. While x-scraper-free.js is the recommended path, the presence of x-monitor.js with a hardcoded key contradicts the zero-cost messaging.

SKILL.md:1
Clarify that an API-requiring mode exists alongside the free mode, or remove x-monitor.js if it's not a supported feature.

声明能力 vs 实际能力

文件系统 通过
声明 NONE
推断 WRITE
x-scraper-free.js:9 — writeFile() used for local report output, documented in SKILL.md
网络访问 阻止
声明 NONE
推断 READ
x-scraper-free.js:7 — Scraper fetches X/Twitter; x-monitor.js:8 — Feishu API calls, both undeclared
浏览器 阻止
声明 NONE
推断 READ
x-scraper-free.js:90 — scraper.useCookiesFromBrowser('chrome') extracts live X session cookies, completely undeclared
命令执行 通过
声明 NONE
推断 NONE
No subprocess, exec, or shell command execution found
环境变量 通过
声明 NONE
推断 NONE
No env iteration for secrets; FEISHU_ACCESS_TOKEN read only when used

可疑产物与外联

高危 API 密钥
API_KEY = 'THp2c1V4bW5JQVJ1S09IY1BzN1NubDoxaXJpUQ'

scripts/x-monitor.js:11

中危 外部 URL
https://open.feishu.cn/open-apis

scripts/x-monitor.js:8

依赖与供应链

包名版本来源漏洞备注
@the-convocation/twitter-scraper ^0.22.1 npm Version not pinned — minor updates auto-installed
axios ^1.6.0 npm Version not pinned — minor updates auto-installed

文件构成

5 个文件 · 609 行
JavaScript 2 个文件 · 445 行Markdown 2 个文件 · 147 行JSON 1 个文件 · 17 行
需关注文件 · 4
scripts/x-monitor.js JavaScript · 235 行
Hardcoded API Key in Source Code · Undeclared Feishu/Bitable API Communication · API_KEY = 'THp2c1V4bW5JQVJ1S09IY1BzN1NubDoxaXJpUQ' · https://open.feishu.cn/open-apis
scripts/x-scraper-free.js JavaScript · 210 行
Undeclared Browser Cookie Access
SKILL.md Markdown · 93 行
SKILL.md Misleading Zero-Cost Claim
package.json JSON · 17 行
Unpinned Dependency Versions
其他文件 · account-list.md

安全亮点

No shell command execution or subprocess usage detected
No base64-encoded strings or obfuscated code found
No network exfiltration or C2 communication observed
No credential harvesting loops or suspicious environment variable iteration
No reverse shell, eval(), or dynamic code execution
File writes are scoped to report output and are documented behavior
No cron, startup hooks, or persistence mechanisms found