Back to skill

Security audit

Guaikei Kuaishou Public Post Fetcher

Security checks for vulnerabilities and agentic risk

Overview

This appears to be a legitimate Kuaishou public-data tool, with expected third-party API use and local result logging.

Install only if you are comfortable sending Kuaishou search terms, profile/video URLs, and the GUAIKEI_API_TOKEN to guaikei.com, and remember that fetched public data is saved locally in logs unless you delete it afterward.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (23)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The README states that all task results are automatically saved to the logs directory, but it does not warn users that collected URLs, comments, keywords, and analysis outputs may persist on disk. In a data-collection tool, silent persistence increases the risk of unintended retention, local disclosure, and secondary misuse of scraped data, especially on shared systems or when logs are later exfiltrated.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
85% confidence
Finding

The CLI writes the full retrieved comment dataset to a local JSON file after successful execution, which creates a persistence side effect beyond simply displaying results. Comments may contain personal data or sensitive content, and storing them without explicit notice, opt-in, retention controls, or output path safeguards increases privacy and data-handling risk on shared or monitored systems.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

Writing retrieved comments to a local JSON file without an explicit warning or consent path can surprise users and silently create a data at rest exposure. In the context of a scraping/comment-retrieval skill, this is more concerning because the tool collects third-party content at scale, making unintended retention and later disclosure more likely.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

No manifest is available, so the skill's intended scope is unknown. This CLI directly accesses process.env.GUAIKEI_API_TOKEN to obtain credentials for backend operations, which is a sensitive capability not justified by any stated purpose in the provided context.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The CLI automatically persists the full fetched results to a local JSON file without explicit opt-in or warning. If the returned data contains sensitive account information or is run in shared environments, this creates an unnecessary local data exposure risk and leaves recoverable artifacts on disk.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The command descriptions, help text, warnings, and runtime messages are presented in Chinese only, with no indication that users may opt into another language or locale. Under the stated policy, forcing a specific language without user choice is a natural-language policy violation unless the locale restriction is clearly documented and justified.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

This code constructs outbound HTTPS requests that send request parameters, JSON payload data, and a TOKEN header to a remote host. In this file there is no confirmation prompt, logging, comment, or docstring disclosing that user or system data and credentials may be transmitted off-system.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The GET helper appends params to the query string and includes a TOKEN header before calling the shared request function, which transmits them to an external service. This code file contains no user-facing notice, confirmation, or explanatory comment warning that potentially sensitive parameters and credentials are sent over HTTPS.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This file contains user-facing natural-language strings and comments in Chinese, including the warning and info messages emitted at runtime. Because the skill does not offer the user a language/locale choice or document that it is intended only for a Chinese-language context, it may violate the policy against forcing a specific language without user opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

This code emits all user-visible error messages in Chinese, which forces a specific language on users without any opt-in or fallback. Under the policy, locale or language constraints should either offer user choice or be clearly justified as region-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

The manifest description includes substantial Chinese content followed by an English summary, but the skill does not state whether responses or interaction language will follow user preference. This can violate language/locale policy expectations when a skill implicitly defaults to a language without explicit opt-in or choice.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The package description is entirely in Chinese, which imposes a single language choice in user-facing metadata without indicating any language options or opt-in. Under the stated policy, language-specific presentation can be a natural-language policy issue when no choice or justification is provided.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
75% confidence
Finding

The skill documentation appears to assume Chinese as the required language without offering an alternative or stating that the skill is region/language-specific. Under the language/locale policy, forcing a specific language without user opt-in can be a natural-language policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

This markdown file contains user-facing natural language entirely in Chinese, but does not state that the skill is China-specific or that the language is optional. Under the policy criteria, forcing a specific language without user opt-in can be a locale-policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The title and the entire usage guidance are written in Chinese, and the parameter constraints explicitly require Chinese characters or words for keywords. This imposes a specific language/locale expectation without any stated user opt-in or alternative language support.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

The code reads process.env.GUAIKEI_API_TOKEN and uses it to authenticate remote API calls, but this file does not explain to the user that a credential will be consumed from the environment. Under the rule, access to sensitive environment variables should have some visible disclosure, comment, or documented warning unless already clearly covered elsewhere.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The message 获取评论任务创建成功, 正在查询中... is immediately followed by a later call to getCommentTask, but the final success message at line 89 includes wording implying the comment-fetch task itself succeeded rather than only task creation. This is an intent/behavior mismatch in user-facing inline messaging because the actual retrieval has not completed yet.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

The code persists the full search output to disk via log.taskWrite(...), which is a file-write operation covered by this rule. While the script documents token configuration and prints status messages, there is no visible disclosure near the write operation that results will be saved locally, and no confirmation prompt before doing so.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

This JavaScript file contains user-facing help text, comments, and error messages exclusively in Chinese, including CLI usage output and validation errors. That creates a language/locale constraint for end users without any visible opt-in, fallback, or documentation that the tool is intentionally limited to Chinese-speaking users.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The user-facing error messages are hard-coded in Chinese, and the success/error output later in the file follows the same pattern. This imposes a specific language on all users without any visible opt-in, configuration, or documented justification, which matches the locale policy violation criteria.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

Multiple error messages are hard-coded in Chinese, including operational and credential-related guidance, with no indication that users can choose another language. That creates a locale policy concern because the skill enforces one language in user-visible text without documented opt-in or justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The thrown error string at L21 is written only in Chinese (重试${maxAttempts}次后失败). This imposes a specific language in user-visible output without offering a language choice or documenting a justified locale constraint.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

This file contains user-facing text in Chinese in both the module comment and printed banner, with no indication that the user can choose a different language or locale. Under the stated policy, forcing a specific language without opt-in is a natural-language policy concern.

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:15