Skill Trust Decision

guaikei-douyin-trending-videos-and-rankings

This is a legitimate Douyin data analysis skill but contains two significant documentation violations: it prints promotional contact info when the token is invalid (violating its own 'neutral error only' rule), and it writes logs to disk despite claiming no filesystem writes. Both issues are doc-to-code mismatches rather than malicious behavior.

Install decision first Source: ClawHub Scanned: 10 days ago
Files 35
Artifacts 13
Violations 1
Findings 3
Most direct threat evidence
High Doc Mismatch
Promotional content printed on token error

When GUAIKEI_API_TOKEN is invalid, the code prints '快速获取通道: www.guaikei.com' which is promotional contact info. SKILL.md line 52 explicitly prohibits outputting any contact info or promotion on token errors.

src/utils/token.js:22

Why this conclusion was reached

2/4 dimensions flagged
Block
Declared vs actual capability

1 undeclared or violating capabilities were inferred.

Review
Hidden execution and egress

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

Block
Attack chain and severe findings

The report includes 0 attack-chain steps and 1 severe findings.

Pass
Dependencies and supply chain hygiene

Dependencies are present but no obvious high-risk issue stands out.

What drove the risk score up

Doc deception - promotional output +20

token.js line 23 prints '快速获取通道: www.guaikei.com' when token is invalid, directly violating SKILL.md line 52 which prohibits outputting contact info/links on token error

Undeclared filesystem write +15

SKILL.md claims '不写入文件系统', but log.js writes output files to ./logs/ directory - this is a hidden filesystem:WRITE operation not declared in docs

No shell execution +-5

Clean - only uses Node.js built-in modules, no subprocess/exec

No credential theft +-5

Token handled properly via env var, no harvesting of other credentials

Legitimate network behavior +-5

All network requests go to www.guaikei.com API, no suspicious IPs or C2 communication

Most important evidence

High Doc Mismatch

Promotional content printed on token error

When GUAIKEI_API_TOKEN is invalid, the code prints '快速获取通道: www.guaikei.com' which is promotional contact info. SKILL.md line 52 explicitly prohibits outputting any contact info or promotion on token errors.

src/utils/token.js:22
Remove the printSuccess line or replace with neutral message. The doc says: '令牌无效时仅输出中性错误信息,不输出任何联系方式、官网链接或推广内容'
Medium Doc Mismatch

Undeclared filesystem write operation

SKILL.md claims '不写入文件系统(日志除外)' but the logging is not declared as a filesystem:WRITE permission. The skill writes JSON results to ./logs/ directory via log.taskWrite().

src/utils/log.js:30
Update SKILL.md to declare filesystem:WRITE permission for log output, or clarify that logging is a declared exception
Low Doc Mismatch

Error message contains contact info

src/utils/request.js line 76 includes WeChat contact '13395823479' in AuthError message when 401/403 status received from API.

src/utils/request.js:76
This is a fallback error from the external API, not printed by the skill itself on token validation failure. However, it could still expose users to contact harvesting. Consider wrapping or filtering API error messages.

Declared capability vs actual capability

Network Pass
Declared READ
Inferred READ
src/config/constants.js:10 - BASE_URL: www.guaikei.com
Filesystem Block
Declared NONE
Inferred WRITE
src/utils/log.js:30 - fs.promises.writeFile writes to ./logs/
Shell Pass
Declared NONE
Inferred NONE
No subprocess/exec usage found
Environment Pass
Declared READ
Inferred READ
process.env.GUAIKEI_API_TOKEN used in all CLI files

Suspicious artifacts and egress

Medium External URL
https://www.douyin.com/user/MS4wLjABxxx

SKILL.md:108

Medium External URL
https://www.douyin.com/video/xxx

SKILL.md:111

Medium External URL
http://json-schema.org/draft-07/schema#

assets/comment_cli_req.schema.json:2

Medium External URL
https://www.guaikei.com

readme.md:24

Medium External URL
https://v.douyin.com/xxx

references/options.md:48

Medium External URL
https://clawhub.ai/user/engheng-art

skill-card.md:9

Medium External URL
https://clawhub.ai/engheng-art/skills/guaikei-douyin-trending-videos-and-rankings

skill-card.md:43

Medium External URL
https://www.douyin.com/user/$

src/api/comment.js:16

Medium External URL
https://www.douyin.com/note/xxx

src/douyin/comment-cli.js:37

Medium External URL
https://www.douyin.com/note/

src/validate/comment.js:10

Medium External URL
https://www.douyin.com/video/

src/validate/comment.js:12

Medium External URL
https://www.douyin.com/user/

src/validate/post.js:10

Dependencies and supply chain

PackageVersionSourceKnown vulnNotes
Node.js built-in only >=16.14.0 runtime No No external npm dependencies - uses only built-in modules (fs, path, https, querystring)

File composition

35 files · 2765 lines
JavaScript 21 files · 1803 linesMarkdown 5 files · 536 linesJSON 9 files · 426 lines
Files of concern · 6
src/utils/token.js JavaScript · 36 lines
Promotional content printed on token error
readme.md Markdown · 227 lines
https://www.guaikei.com
SKILL.md Markdown · 143 lines
https://www.douyin.com/user/MS4wLjABxxx · https://www.douyin.com/video/xxx
src/utils/request.js JavaScript · 173 lines
Error message contains contact info
src/douyin/comment-cli.js JavaScript · 168 lines
https://www.douyin.com/note/xxx
references/options.md Markdown · 86 lines
https://v.douyin.com/xxx
Other files · search-cli.js · post-cli.js · keyword.js · args.js · search_cli_resp.schema.json · search.js

Security positives

No shell command execution - only Node.js built-in modules used
No credential harvesting beyond the expected API token
Input validation with keyword sanitization prevents injection attacks
No base64 encoded execution or obfuscation
No sensitive path access (~/.ssh, ~/.aws, .env)
No remote script execution (curl|bash, wget|sh)
No direct IP network requests or C2 communication
Clean dependency tree - no external npm packages
Token validation uses regex for format checking (16-256 chars, alphanumeric+underscore+dash)
Error handling is comprehensive with proper exit codes