T09 · Insecure Skill Coding Practices
- Location
src/utils/request.js:83- Finding
API credentials and link tokens are transmitted in URL query strings
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill appears to perform the advertised Xiaohongshu public-data lookup, but it needs review because it sends tokens and token-bearing links through query strings and automatically saves retrieved data locally.
Install only if you are comfortable sending Xiaohongshu keywords, full supplied links, and the Guaikei API token to the Guaikei service. Avoid using sensitive or private links, treat xsec_token-bearing URLs as sensitive, review or delete the generated logs/ files, and prefer a version that moves credentials out of query strings and makes logging redacted or opt-in.
src/utils/request.js:83API credentials and link tokens are transmitted in URL query strings
src/utils/log.js:27Token-bearing API results are automatically persisted without restrictive file permissions
声明描述的是一个面向小红书公开内容检索与抓取的数据技能,但提供的代码片段仅是通用参数解析与帮助文本生成功能,属于底层 CLI 辅助模块。该代码没有任何网络请求、站点识别、链接处理、小红书数据提取、评论获取、博主作品抓取或结构化分析逻辑。因此,当前代码行为与声明的核心目的明显不一致,应判定为不匹配。
声明描述的是小红书公开数据检索与分析能力,而代码片段实际只是一个本地日志写入辅助模块,没有体现任何小红书搜索、笔记抓取、评论获取、博主作品抓取或结构化数据分析逻辑。虽然日志功能可能是配套实现细节,但就该代码片段本身而言,其行为与声明的核心用途明显不一致,并且涉及未声明的本地文件系统写入能力。
The declared purpose describes a network/data-extraction skill for Xiaohongshu public content analysis. However, the supplied code chunk is only a small utility that reads package.json from the local filesystem to obtain the package name. This behavior is materially unrelated to the described end-user functionality. While utility code can be a supporting detail, this chunk on its own does not implement or reflect the declared scraping/search capabilities, and it accesses a local file resource that is not part of the declared behavior.
Referenced artifact was not completely inspected
- "分析这条小红书笔记评论区的主要观点和负面反馈: node src/xiaohongshu/detail-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy' --limit 100"
Referenced artifact was not completely inspected
- "分析这条小红书笔记评论区的主要观点和负面反馈: node src/xiaohongshu/detail-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy' --limit 100"
Referenced artifact was not completely inspected
- "分析这条小红书笔记评论区的主要观点和负面反馈: node src/xiaohongshu/detail-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy' --limit 100"
Referenced artifact was not completely inspected
- "分析这条小红书笔记评论区的主要观点和负面反馈: node src/xiaohongshu/detail-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy' --limit 100"
Referenced artifact was not completely inspected
- "分析这条小红书笔记评论区的主要观点和负面反馈: node src/xiaohongshu/detail-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy' --limit 100"
Referenced artifact was not completely inspected
- "分析这条小红书笔记评论区的主要观点和负面反馈: node src/xiaohongshu/detail-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy' --limit 100"
Referenced artifact was not completely inspected
- "看这个小红书博主最近 20 条作品都在发什么: node src/xiaohongshu/post-cli.js --url 'https://www.xiaohongshu.com/user/profile/xxx?xsec_token=yyy' --limit 20"
Referenced artifact was not completely inspected
- "看这个小红书博主最近 20 条作品都在发什么: node src/xiaohongshu/post-cli.js --url 'https://www.xiaohongshu.com/user/profile/xxx?xsec_token=yyy' --limit 20"
Referenced artifact was not completely inspected
- "看这个小红书博主最近 20 条作品都在发什么: node src/xiaohongshu/post-cli.js --url 'https://www.xiaohongshu.com/user/profile/xxx?xsec_token=yyy' --limit 20"
Referenced artifact was not completely inspected
- "看这个小红书博主最近 20 条作品都在发什么: node src/xiaohongshu/post-cli.js --url 'https://www.xiaohongshu.com/user/profile/xxx?xsec_token=yyy' --limit 20"
Referenced artifact was not completely inspected
- "看这个小红书博主最近 20 条作品都在发什么: node src/xiaohongshu/post-cli.js --url 'https://www.xiaohongshu.com/user/profile/xxx?xsec_token=yyy' --limit 20"
Referenced artifact was not completely inspected
- "只拉这条笔记的评论做观点归纳: node src/xiaohongshu/comment-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy' --limit 100"
Referenced artifact was not completely inspected
- "只拉这条笔记的评论做观点归纳: node src/xiaohongshu/comment-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy' --limit 100"
Referenced artifact was not completely inspected
- "只拉这条笔记的评论做观点归纳: node src/xiaohongshu/comment-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy' --limit 100"
Referenced artifact was not completely inspected
- "只拉这条笔记的评论做观点归纳: node src/xiaohongshu/comment-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy' --limit 100"
Referenced artifact was not completely inspected
- "只拉这条笔记的评论做观点归纳: node src/xiaohongshu/comment-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy' --limit 100"
Referenced artifact was not completely inspected
- "只拉这条笔记的评论做观点归纳: node src/xiaohongshu/comment-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy' --limit 100"
The skill declares use of a sensitive environment variable (GUAIKEI_API_TOKEN) but does not define any explicit tool scope or permission boundary. In agent environments, missing scope increases the chance the skill is invoked more broadly than intended and that secrets are exposed to commands without clear least-privilege controls.
The trigger description is intentionally broad, allowing activation even when the user does not explicitly mention Xiaohongshu, based on loose synonyms or links. Overbroad routing can cause unintended third-party data transmission or execution of the skill in contexts where the user did not clearly consent to using this integration.
The documentation mentions reliance on a third-party API, but it does not present a prominent, up-front warning that user-supplied URLs and query parameters may be transmitted externally. This creates a privacy and consent risk, especially because example links include xsec_token query parameters that users may not realize are being shared.
The document instructs users to collect public posts, note details, comments, and creator output at scale, but it does not include any privacy, consent, retention, or compliant-use guidance. Even when data is publicly accessible, aggregating comments and profiling creators for KOL screening or competitor monitoring can create privacy and platform-policy risks, making misuse easier in downstream workflows.
This code sends the provided API token as part of an HTTP request when creating a comment task, but the file only documents parameters and errors, not that sensitive credential material is being transmitted. Under the code-file criteria, network transmission of credentials should have some visible disclosure such as a user-facing log, warning comment, or external skill documentation mention.