Back to skill

Security audit

guaikei·小红书内容监控器

Security checks for vulnerabilities and agentic risk

Overview

The skill appears to do what it claims, but it should be reviewed because it sends a service token and Xiaohongshu targets to a third-party API and automatically saves unredacted results locally.

Install only if you are comfortable sending Xiaohongshu keywords, links, and your GUAIKEI_API_TOKEN to Guaikei, and with retrieved content being saved locally under logs/. Avoid using it in shared workspaces for sensitive research, clear generated logs when finished, and rotate the API token if it may have appeared in logs or terminal captures.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (2)

T09 · Insecure Skill Coding Practices

Warning
Location
src/utils/request.js:76
Finding

API Credential Exposed in HTTPS Query Strings

Content
View full analysis
{ return await postJson( "/api/xiaohongshu/note-search/keyword", { _: Date.now(), token: token }, { keyword, type, sort, time, limit }, ); }, ``` The corresponding polling request also places the token in its query parameters: ```js async function getSearchTask(token, keyword, type, sort, time, limit) { return await withRetry( async () => { const res = await getJson("/api/xiaohongshu/note-search/info", { _: Date.now(), token: token, keyword, type, sort, time, limit, }); ``` The shared request implementation serializes every parameter, including `token`, into the URL: ```js async function postJson(path, params, data) { if (!path || typeof path !== "string") { throw new Error("path must be a non-empty string"); } if (!params || typeof params !== "object") { throw new Error("params must be an object"); } if (!data || typeof data !== "object") { throw new Error("data must be an object"); } params.skill_name = skillName(); const fullPath = `${path}?${querystring.stringify(params)}`; const jsonData = JSON.stringify(data); const options = { host: constants.BASE_URL, path: fullPath, method: "POST", headers: { "Content-Type": "application/json", "Content-Length": Buffer.byteLength(jsonData ...[truncated 3128 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Note
Location
src/xiaohongshu/detail-cli.js:140
Finding

Xiaohongshu URL Tokens and Retrieved Content Persisted Without Redaction

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (50)

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The skill states that every execution automatically archives results to logs/...json, but it does not prominently disclose that user-supplied links, keywords, and retrieved content may be written to local disk. Silent persistence of potentially sensitive research targets or third-party content creates privacy and data-handling risk, especially in shared or multi-tenant environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill states that every execution automatically archives results to logs/...json, but it does not prominently disclose that user-supplied links, keywords, and retrieved content may be written to local disk. Silent persistence of potentially sensitive research targets or third-party content creates privacy and data-handling risk, especially in shared or multi-tenant environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The skill states that every execution automatically archives results to logs/...json, but it does not prominently disclose that user-supplied links, keywords, and retrieved content may be written to local disk. Silent persistence of potentially sensitive research targets or third-party content creates privacy and data-handling risk, especially in shared or multi-tenant environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The skill states that every execution automatically archives results to logs/...json, but it does not prominently disclose that user-supplied links, keywords, and retrieved content may be written to local disk. Silent persistence of potentially sensitive research targets or third-party content creates privacy and data-handling risk, especially in shared or multi-tenant environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill states that every execution automatically archives results to logs/...json, but it does not prominently disclose that user-supplied links, keywords, and retrieved content may be written to local disk. Silent persistence of potentially sensitive research targets or third-party content creates privacy and data-handling risk, especially in shared or multi-tenant environments.

Content

No source excerpt is available for this finding.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 39)May include surrounding context.

md
- "看看这篇小红书笔记讲了什么、数据怎么样: node src/xiaohongshu/detail-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy'"

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 53)May include surrounding context.

md
- "看看这篇小红书笔记讲了什么、数据怎么样: node src/xiaohongshu/detail-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy'"

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 80)May include surrounding context.

md
- "看看这篇小红书笔记讲了什么、数据怎么样: node src/xiaohongshu/detail-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy'"

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 85)May include surrounding context.

md
- "看看这篇小红书笔记讲了什么、数据怎么样: node src/xiaohongshu/detail-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy'"

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 40)May include surrounding context.

md
- "分析这条小红书笔记评论区的主要观点: node src/xiaohongshu/comment-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy' --limit 100"

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 53)May include surrounding context.

md
- "分析这条小红书笔记评论区的主要观点: node src/xiaohongshu/comment-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy' --limit 100"

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 98)May include surrounding context.

md
- "分析这条小红书笔记评论区的主要观点: node src/xiaohongshu/comment-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy' --limit 100"

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 103)May include surrounding context.

md
- "分析这条小红书笔记评论区的主要观点: node src/xiaohongshu/comment-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy' --limit 100"

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 41)May include surrounding context.

md
- "看这个小红书博主最近 20 条作品都在发什么: node src/xiaohongshu/post-cli.js --url 'https://www.xiaohongshu.com/user/profile/xxx?xsec_token=yyy' --limit 20"

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 54)May include surrounding context.

md
- "看这个小红书博主最近 20 条作品都在发什么: node src/xiaohongshu/post-cli.js --url 'https://www.xiaohongshu.com/user/profile/xxx?xsec_token=yyy' --limit 20"

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 113)May include surrounding context.

md
- "看这个小红书博主最近 20 条作品都在发什么: node src/xiaohongshu/post-cli.js --url 'https://www.xiaohongshu.com/user/profile/xxx?xsec_token=yyy' --limit 20"

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 118)May include surrounding context.

md
- "看这个小红书博主最近 20 条作品都在发什么: node src/xiaohongshu/post-cli.js --url 'https://www.xiaohongshu.com/user/profile/xxx?xsec_token=yyy' --limit 20"

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
92% confidence
Finding

The skill requires access to a secret environment variable (GUAIKEI_API_TOKEN) but does not declare an explicit tool scope or permissions boundary. That increases the chance of overbroad secret exposure and makes it harder for the host to enforce least privilege when invoking the skill.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger guidance is very broad: it says to use the skill whenever a user mentions Xiaohongshu and wants to understand content, even if they do not explicitly ask for data or search. Overbroad routing can cause unintended invocation, unnecessary transmission of user input to a third-party API, and surprise data collection or logging.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The document says results are automatically archived to log files, but it does not clearly warn users that their inputs and retrieved content may be persisted locally. This creates a real privacy and compliance risk because search terms, profile URLs, note URLs, comments, and derived outputs may contain sensitive business or personal information.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
85% confidence
Finding

The documentation instructs users to pass external Xiaohongshu note URLs into CLI tools that will fetch third-party content, but it does not clearly warn that doing so triggers outbound network access and transmits user-supplied links to an external service. In a skill ecosystem, that omission can cause users to unknowingly disclose targets of interest or initiate collection from third-party resources without informed consent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

This section promotes collecting and analyzing comments and account content from third parties, including opinion clustering and sentiment analysis, but provides no warning about privacy, lawful use, or handling of personal data contained in comments and profiles. That increases the risk of over-collection, misuse of personal content, or deployment in ways that violate platform rules or privacy expectations.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The environment section tells users to configure a credential-like token but gives no guidance on secret handling, storage, or non-disclosure. In practice, users may paste tokens into prompts, logs, screenshots, or shell histories, leading to credential leakage and unauthorized use of the associated external service.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

This code sends an API token and a user-provided note URL to a remote endpoint via HTTP, which is a safety-relevant data transmission. While the comments describe parameters, there is no confirmation prompt or user-facing disclosure in the code indicating that sensitive or user-supplied data will be transmitted externally.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

This function performs a network request that includes the API token and target URL, which can affect user privacy and should be disclosed. The code contains internal error logging but no user-facing warning or confirmation about the outbound transmission of these values.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.exposed_secret_literal

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
SKILL.md:17