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.
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 flagged1 undeclared or violating capabilities were inferred.
13 lower-risk artifacts were extracted and still need context.
The report includes 0 attack-chain steps and 1 severe findings.
Dependencies are present but no obvious high-risk issue stands out.
What drove the risk score up
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
SKILL.md claims '不写入文件系统', but log.js writes output files to ./logs/ directory - this is a hidden filesystem:WRITE operation not declared in docs
Clean - only uses Node.js built-in modules, no subprocess/exec
Token handled properly via env var, no harvesting of other credentials
All network requests go to www.guaikei.com API, no suspicious IPs or C2 communication
Most important evidence
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 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 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 Declared capability vs actual capability
src/config/constants.js:10 - BASE_URL: www.guaikei.com src/utils/log.js:30 - fs.promises.writeFile writes to ./logs/ No subprocess/exec usage found process.env.GUAIKEI_API_TOKEN used in all CLI files Suspicious artifacts and egress
https://www.douyin.com/user/MS4wLjABxxx SKILL.md:108
https://www.douyin.com/video/xxx SKILL.md:111
http://json-schema.org/draft-07/schema# assets/comment_cli_req.schema.json:2
https://www.guaikei.com readme.md:24
https://v.douyin.com/xxx references/options.md:48
https://clawhub.ai/user/engheng-art skill-card.md:9
https://clawhub.ai/engheng-art/skills/guaikei-douyin-trending-videos-and-rankings skill-card.md:43
https://www.douyin.com/user/$ src/api/comment.js:16
https://www.douyin.com/note/xxx src/douyin/comment-cli.js:37
https://www.douyin.com/note/ src/validate/comment.js:10
https://www.douyin.com/video/ src/validate/comment.js:12
https://www.douyin.com/user/ src/validate/post.js:10
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| 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
src/utils/token.js readme.md SKILL.md src/utils/request.js src/douyin/comment-cli.js references/options.md