安全决策报告

guaikei-douyin-trending-videos-and-rankings

文档-行为严重不符:SKILL.md明确禁止运行时输出联系方式,但token.js和request.js在认证失败时输出微信号和官网链接用于引流;存在未声明的外部API端点。

安装决策优先 来源: ClawHub 扫描时间: 20 天前
文件 34
IOC 12
越权项 1
发现 3
最直接的威胁证据
高危 文档欺骗
运行时输出禁止的联系方式

SKILL.md明确声明'令牌无效时仅输出中性错误信息,不输出任何联系方式、官网链接或推广内容',但代码在认证失败时输出微信ID和网站链接,用于商业引流。

src/utils/token.js:21

为什么得出这个结论

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

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

复核
隐藏执行与外联

提取到 12 个一般风险产物,需要结合上下文判断。

阻止
攻击链与高危发现

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

复核
依赖与供应链卫生

没有完整依赖信息,供应链判断需要保留弹性。

风险分是怎么被拉高的

文档-行为不符(文档欺骗) +25

SKILL.md明确禁止运行时输出联系方式,但src/utils/token.js:21输出'www.guaikei.com',src/utils/request.js:57输出'联系微信:13395823479'

未声明的外部API端点 +10

src/config/constants.js定义BASE_URL为'www.guaikei.com'但SKILL.md未声明此第三方服务

日志文件写入 +5

src/utils/log.js写入logs/目录,虽文档注明'日志除外'但最小权限声明未明确filesystem:WRITE

最关键的证据

高危 文档欺骗

运行时输出禁止的联系方式

SKILL.md明确声明'令牌无效时仅输出中性错误信息,不输出任何联系方式、官网链接或推广内容',但代码在认证失败时输出微信ID和网站链接,用于商业引流。

src/utils/token.js:21
删除此行,或将获取通道信息移至readme.md(用户文档)而非运行时输出
高危 文档欺骗

AuthError中输出微信号码

认证错误时输出完整联系方式,与SKILL.md禁止运行时输出联系方式的规定冲突。

src/utils/request.js:57
将错误信息改为中性描述,如'令牌无效,请检查环境变量配置'
中危 敏感访问

未声明的外部API服务

技能连接至www.guaikei.com第三方服务,但SKILL.md仅声明'仅联网 API 服务地址'而未指明具体域名。

src/config/constants.js:6
在SKILL.md环境与权限部分明确声明使用的API服务域名

声明能力 vs 实际能力

文件系统 通过
声明 NONE
推断 WRITE
src/utils/log.js:34 写入logs/目录;SKILL.md:48仅声明'不写入文件系统(日志除外)'但最小权限部分未明确
网络访问 阻止
声明 READ
推断 READ+WRITE
src/utils/request.js:89 postJson方法向www.guaikei.com发送POST请求;SKILL.md未声明此第三方服务
环境变量 通过
声明 READ
推断 READ
src/utils/token.js:17 仅读取GUAIKEI_API_TOKEN,未遍历敏感环境变量

可疑产物与外联

中危 外部 URL
https://www.douyin.com/user/MS4wLjABxxx

SKILL.md:108

中危 外部 URL
https://www.douyin.com/video/xxx

SKILL.md:111

中危 外部 URL
http://json-schema.org/draft-07/schema#

assets/comment_cli_req.schema.json:2

中危 外部 URL
https://v.douyin.com/xxx

references/options.md:48

中危 外部 URL
https://clawhub.ai/user/engheng-art

skill-card.md:9

中危 外部 URL
https://clawhub.ai/engheng-art/skills/guaikei-douyin-trending-videos-and-rankings

skill-card.md:43

中危 外部 URL
https://www.douyin.com/user/$

src/api/comment.js:16

中危 外部 URL
https://www.douyin.com/note/xxx

src/douyin/comment-cli.js:37

中危 外部 URL
https://www.douyin.com/note/

src/validate/comment.js:10

中危 外部 URL
https://www.douyin.com/video/

src/validate/comment.js:12

中危 外部 URL
https://www.douyin.com/user/

src/validate/post.js:10

中危 外部 URL
https://v.douyin.com/

src/validate/post.js:12

依赖与供应链

没有结构化依赖告警。

文件构成

34 个文件 · 2676 行
JavaScript 21 个文件 · 1803 行Markdown 5 个文件 · 452 行JSON 8 个文件 · 421 行
需关注文件 · 5
src/utils/token.js JavaScript · 36 行
运行时输出禁止的联系方式
SKILL.md Markdown · 143 行
https://www.douyin.com/user/MS4wLjABxxx · https://www.douyin.com/video/xxx
src/utils/request.js JavaScript · 173 行
AuthError中输出微信号码
src/douyin/comment-cli.js JavaScript · 168 行
https://www.douyin.com/note/xxx
references/options.md Markdown · 86 行
https://v.douyin.com/xxx
其他文件 · search-cli.js · readme.md · post-cli.js · keyword.js · args.js · search_cli_resp.schema.json +1

安全亮点

仅使用Node.js内置模块,无外部npm依赖,避免供应链攻击风险
未发现凭证收割、环境变量遍历或敏感路径访问行为
未发现base64编码、eval执行或代码混淆等恶意技术
未发现反向shell、C2通信或数据外泄行为
日志文件名使用白名单过滤,防止路径遍历攻击
令牌通过环境变量传入,代码中无硬编码凭证