T09 · Insecure Skill Coding Practices
- Location
src/utils/request.js:87- Finding
API Credential Exposed in HTTPS URL Query Parameters
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill appears purpose-built for Xiaohongshu public-data collection, but it handles tokens and saved results in ways users should review before installing.
Install only if you are comfortable sending Xiaohongshu query inputs and signed URLs to guaikei.com and storing returned results locally. Treat GUAIKEI_API_TOKEN as sensitive, rotate it if logs or request traces may be shared, and delete the generated logs directory when results should not persist.
src/utils/request.js:87API Credential Exposed in HTTPS URL Query Parameters
声明将技能限定为“小红书公开数据处理”,资源范围也应与小红书语义一致。但实际代码片段仅定义配置常量,并将 BASE_URL 指向 www.guaikei.com,这与声明的平台范围不一致。虽然仅凭该片段看不到完整行为,但已能确认其当前体现的资源指向和功能重心都不符合“仅处理小红书公开数据”的描述,因此构成描述与行为不匹配。
声明描述的是一个面向小红书公开数据处理的专用技能,但实际代码只是通用的命令行参数解析器与帮助文本构建器,没有任何与小红书、公开数据抓取、搜索、详情、评论或博主作品相关的行为。虽然这类工具代码可能作为整体项目的辅助模块存在,但就该代码片段本身而言,其实际功能与声明的主要用途明显不一致,因此应判定为描述与行为不匹配。
声明描述的是面向小红书公开内容的数据处理技能,但提供的代码片段并未体现任何与小红书、公开数据访问、笔记/评论/博主作品相关的逻辑。相反,它执行的是通用本地日志写入功能,涉及 fs/path 文件系统访问与目录创建。这属于与声明主用途明显不同的能力,并且声明中也未提及此类本地持久化行为。虽然日志可能是辅助实现细节,但当前代码片段本身唯一可见行为就是文件写入,和所声明的平台专用数据处理目的不一致,因此应判定为描述与行为不匹配。
The declared description says the skill is specifically for public Xiaohongshu data retrieval and related content tasks. However, the supplied code chunk does not perform any Xiaohongshu-specific logic, network access, content retrieval, search, comment handling, or note parsing. Instead, it accesses the local filesystem to read package.json and returns the package name. This is a materially different behavior from the declared primary purpose, so it should be flagged as a mismatch.
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"
Without declared permissions the skill's intent is opaque and cannot be validated.
The manifest description is entirely written in Chinese and defines the skill's activation and use conditions in that language, with no indication that users may interact in another language or choose their preferred locale. This creates a natural-language policy concern because the skill effectively imposes a specific language without user opt-in.
The documentation claims a narrow, public-data-only, no-login/no-privacy scope, yet the documented usage relies on signed Xiaohongshu URLs with xsec_token query parameters and a third-party GUAIKEI_API_TOKEN. That creates a meaningful mismatch between the simple 'public data only' description and the actual operational model, which depends on externally provisioned access tokens and signed resource URLs rather than plainly public browsing alone.
The README states that all task results are automatically saved to the logs/ directory, but does not clearly warn users that scraped content, URLs, identifiers, or comment data may persist on disk. This creates avoidable data exposure risk on shared systems, CI runners, or developer workstations, especially given the skill's focus on bulk collection and competitor monitoring.