Back to skill

Security audit

guaikei·小红书评论舆情分析

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent Xiaohongshu public-data analysis tool, with some credential and local-log handling risks users should understand.

Install only if you are comfortable sending Xiaohongshu keywords, URLs, and retrieved public-data requests to Guaikei's API. Set --sort and --time explicitly when you need genuinely recent results, and avoid running it in shared or archived workspaces unless you can protect or clean the generated logs. Treat the Guaikei API token as sensitive and consider rotation if it may have appeared in logs.

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 Transmitted in URL Query Strings

Content
View full analysis
{ return await postJson( "/api/xiaohongshu/note-search/keyword", { _: Date.now(), token: token }, { keyword, type, sort, time, limit }, ); }, constants.CREATE_MAX_ATTEMPTS, (attempt, err) => { utils.printError( `【创建任务重试】 ${attempt + 1}/${constants.CREATE_MAX_ATTEMPTS} 次 - ${err.message}`, ); }, ); } ``` The same pattern also occurs in result-polling requests: ```js const res = await getJson("/api/xiaohongshu/note-search/info", { _: Date.now(), token: token, keyword, type, sort, time, limit, }); ``` ### Technical Analysis The `GUAIKEI_API_TOKEN` is serialized into the request URL as a `token` query parameter. Althoug ...[truncated 1842 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

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

Automatic Plaintext Persistence of Tokenized URLs and Retrieved Data

Content
View full analysis
|]/g, "_") .replace(/\.\.+/g, "_") .replace(/^\.+|\.+$/g, ""); if (safeFilename.length > 200) { safeFilename = safeFilename.substring(0, 200); } if (safeFilename === "") { safeFilename = `log_${Date.now()}`; } const outputFilename = path.join( path.dirname(__filename), "..", "..", "logs", safeFilename, ); try { await fs.promises.mkdir(path.dirname(outputFilename), { recurs ...[truncated 2526 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (80)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The description promises 'latest-sorted' and 'recent' note retrieval, but the documented defaults are broader (sort defaults to comprehensive ranking and time defaults to unrestricted). This is a capability/behavior mismatch that can mislead users about freshness and selection criteria, though its direct security impact is lower than hidden data-collection features.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The description promises 'latest-sorted' and 'recent' note retrieval, but the documented defaults are broader (sort defaults to comprehensive ranking and time defaults to unrestricted). This is a capability/behavior mismatch that can mislead users about freshness and selection criteria, though its direct security impact is lower than hidden data-collection features.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The description promises 'latest-sorted' and 'recent' note retrieval, but the documented defaults are broader (sort defaults to comprehensive ranking and time defaults to unrestricted). This is a capability/behavior mismatch that can mislead users about freshness and selection criteria, though its direct security impact is lower than hidden data-collection features.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The description promises 'latest-sorted' and 'recent' note retrieval, but the documented defaults are broader (sort defaults to comprehensive ranking and time defaults to unrestricted). This is a capability/behavior mismatch that can mislead users about freshness and selection criteria, though its direct security impact is lower than hidden data-collection features.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The description promises 'latest-sorted' and 'recent' note retrieval, but the documented defaults are broader (sort defaults to comprehensive ranking and time defaults to unrestricted). This is a capability/behavior mismatch that can mislead users about freshness and selection criteria, though its direct security impact is lower than hidden data-collection features.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The description promises 'latest-sorted' and 'recent' note retrieval, but the documented defaults are broader (sort defaults to comprehensive ranking and time defaults to unrestricted). This is a capability/behavior mismatch that can mislead users about freshness and selection criteria, though its direct security impact is lower than hidden data-collection features.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The description promises 'latest-sorted' and 'recent' note retrieval, but the documented defaults are broader (sort defaults to comprehensive ranking and time defaults to unrestricted). This is a capability/behavior mismatch that can mislead users about freshness and selection criteria, though its direct security impact is lower than hidden data-collection features.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The description promises 'latest-sorted' and 'recent' note retrieval, but the documented defaults are broader (sort defaults to comprehensive ranking and time defaults to unrestricted). This is a capability/behavior mismatch that can mislead users about freshness and selection criteria, though its direct security impact is lower than hidden data-collection features.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The description promises 'latest-sorted' and 'recent' note retrieval, but the documented defaults are broader (sort defaults to comprehensive ranking and time defaults to unrestricted). This is a capability/behavior mismatch that can mislead users about freshness and selection criteria, though its direct security impact is lower than hidden data-collection features.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The description promises 'latest-sorted' and 'recent' note retrieval, but the documented defaults are broader (sort defaults to comprehensive ranking and time defaults to unrestricted). This is a capability/behavior mismatch that can mislead users about freshness and selection criteria, though its direct security impact is lower than hidden data-collection features.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The description promises 'latest-sorted' and 'recent' note retrieval, but the documented defaults are broader (sort defaults to comprehensive ranking and time defaults to unrestricted). This is a capability/behavior mismatch that can mislead users about freshness and selection criteria, though its direct security impact is lower than hidden data-collection features.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The description promises 'latest-sorted' and 'recent' note retrieval, but the documented defaults are broader (sort defaults to comprehensive ranking and time defaults to unrestricted). This is a capability/behavior mismatch that can mislead users about freshness and selection criteria, though its direct security impact is lower than hidden data-collection features.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
93% confidence
Finding

The description promises 'latest-sorted' and 'recent' note retrieval, but the documented defaults are broader (sort defaults to comprehensive ranking and time defaults to unrestricted). This is a capability/behavior mismatch that can mislead users about freshness and selection criteria, though its direct security impact is lower than hidden data-collection features.

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' --limit 100"

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
- "分析这条小红书笔记评论区的主要观点和负面反馈: node src/xiaohongshu/detail-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 40)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 130)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 136)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 41)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 110)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 118)May include surrounding context.

md
- "拉这条笔记的评论做观点聚类: node src/xiaohongshu/comment-cli.js --url 'https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy' --limit 100"

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The manifest describes a skill for retrieving recent Xiaohongshu notes by keyword to monitor hot topics and recent trends. This file instead creates and fetches comment-collection tasks for a specific note URL, which is a materially different capability centered on comment retrieval rather than keyword-based recent note discovery.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The implementation materially diverges from the declared skill purpose: instead of retrieving recent notes for a keyword trend, it creates and queries tasks for posts by a specific blogger/profile URL. This kind of scope mismatch is dangerous because it can cause the agent to collect profile-centric data when users expect topic monitoring, enabling unintended surveillance or over-collection beyond disclosed functionality.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The manifest describes a skill for obtaining recently sorted Xiaohongshu notes under a keyword to observe recent topic activity. This file instead requires a specific note URL and creates/gets a comment task, returning comment results for that note, which is a materially different capability from keyword-based recent-note trend discovery.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The manifest says the skill is for obtaining recent Xiaohongshu notes under a keyword sorted by newest to monitor recent topic trends, and explicitly says it is not for historical lookup or other use cases. This file instead requires a specific note URL, creates a detail task, and returns that note's details/comments, which is a different capability centered on per-note inspection rather than keyword trend monitoring.

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