T09 · Insecure Skill Coding Practices
- Location
src/utils/request.js:85- Finding
API Credential Exposed in URL Query Strings
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill appears purpose-aligned, but it sends an API token in URL parameters and automatically saves retrieved social-media data locally, so users should review it before installing.
Install only if you are comfortable sending your Guaikei token, Xiaohongshu URLs, keywords, and retrieved public-content data to guaikei.com. Treat the token as sensitive, avoid sharing logs/, and delete or protect saved result files because they may include research history, commenter/author data, and xsec_token-bearing URLs.
src/utils/request.js:85API Credential Exposed in URL Query Strings
src/utils/log.js:24Automatic Plaintext Storage of API Results and Access-Bearing URLs
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 description explicitly says the skill should be used even when the user only says broad phrases like '最近什么火' or '帮我找热门内容' as long as the context seems related to social-media mining. This makes the trigger scope overly broad and can cause the agent to invoke an external data-collection skill for vague requests that may only be asking for general advice, increasing the chance of unintended tool use and unnecessary data disclosure to the third-party API.
This markdown file instructs users to pull comment data and analyze public posts, which can affect privacy expectations and involve handling user-generated data. The document provides operational steps and examples but does not include any warning or disclosure about reviewing public content responsibly, handling personal data, or ensuring authorization before collecting/analyzing it.
This code sends the provided API token as part of outbound HTTP request parameters when creating a search task. Although the function comments document the token parameter technically, there is no confirmation prompt, user-facing warning, or explicit disclosure that credentials are being transmitted over the network.
The code performs an HTTP GET request that transmits the token and user-supplied search parameters such as keyword, type, sort, time, and limit. For a code-file warning review, this is a data-transmitting network operation with no visible confirmation prompt or user-facing disclosure in the file.
This JavaScript file contains its user-facing natural-language content exclusively in Chinese, including doc comments, error messages, and generated help output. Under the policy rule, forcing a specific language without offering user choice or documenting a justified locale restriction is a natural-language policy violation.
Multiple error messages are hard-coded in Chinese, including the credential-help message and other request failures. This enforces a specific language for user-visible output without opt-in, which is a natural-language locale policy concern.
This code constructs and sends HTTPS GET/POST requests using caller-supplied params and data, which may include user or system data. There is no confirmation prompt, logging, comment, or docstring in this file disclosing that data will be transmitted over the network.
This code emits multiple user-facing error messages only in Chinese, such as at L08, L13, L17, L21, L25-L26, L54, L59, L64, and L68. Per the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale constraint is explicitly justified, which is not shown in this file.