Back to skill

Security audit

guaikei-kuaishou-creator-work-fetcher

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed Kuaishou public-data CLI that calls a third-party API and saves results locally; I found no hidden execution, privilege escalation, or destructive behavior.

Install only if you are comfortable sending Kuaishou search terms, profile/video URLs, request parameters, and your GUAIKEI_API_TOKEN to guaikei.com. Review and delete the generated logs when they are no longer needed, especially if fetched comments or creator data should not remain on the machine.

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 Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (27)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

代码片段仅实现了通用 CLI 参数解析器(parseArgs、readValueAfterFlag、buildHelp),用于处理命令行选项、默认值、必填检查、警告和帮助信息。这属于基础工具层代码,不体现任何与快手/Kwai 数据助手、热榜、内容研究、作品/评论/达人分析相关的实际业务行为。根据给定代码,其实际主要用途与声明的业务能力明显不一致,因此应判定为描述与行为不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description promises substantial Kuaishou/Kwai analysis and research capabilities, but the supplied code chunk is merely a helper that reads package.json from the local filesystem and returns the package name. This behavior does not implement or directly reflect the described research features. While utility code can be supportive, this snippet alone is materially unrelated to the declared primary purpose, so it should be flagged as a mismatch for this code chunk.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The description is written as an instruction-facing manifest field entirely in Chinese, and the rest of the skill documentation also assumes Chinese-language operation. There is no indication that users may choose another language or that the Chinese-only constraint is required for a region-specific compliance reason, which can violate language/locale choice policy.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The command description, examples, and runtime messages are all presented only in Chinese, with no option for the user to select another language or locale. This is a natural-language policy concern because the skill imposes a specific language by default rather than offering opt-in or configurability.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The script writes the full fetched comment payload to a local JSON file after completing its primary research function. Because comments can contain personal data, handles, or sensitive text, silent persistence increases privacy and data-retention risk, especially on shared systems or in automated environments where users may not expect local copies to be created.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The script saves comment results to a local JSON file without any clear user-facing warning in the normal execution flow. This can surprise users and create untracked copies of potentially sensitive third-party content, expanding the attack surface for local disclosure, accidental sharing, or policy noncompliance.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
81% confidence
Finding

The calls to post.createPostTask and post.getPostTask transmit the provided URL and related parameters to an external service, which is a network operation involving user-supplied data. This file shows status messages about task progress, but it does not clearly disclose that the input will be sent to a remote API.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

This code persists the full task output to disk via log.taskWrite(...), which is a file-write operation affecting user/system data. While the script logs progress for task creation and completion, there is no visible disclosure here that results will also be saved locally, and this file itself contains no comment or prompt warning about that behavior.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

This code persists the full search output to disk via log.taskWrite, which may include user-provided keywords and returned result data. Although the operation is visible in code, there is no confirmation prompt or user-facing disclosure near the write, and the help text does not warn that a file will be created.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The file contains hard-coded Chinese user-facing status and error messages, such as the validation errors at L07 and L11, with no indication that the skill is intended only for Chinese-speaking users or that language selection is configurable. This creates a natural-language locale policy issue because the skill implicitly forces one 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
93% confidence
Finding

The success and failure messages at L35-L37 are also hard-coded in Chinese, reinforcing that the skill presents all user-visible output in a single language. Without configurable localization or documented region-specific justification, this is a policy-relevant locale constraint.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

This code performs outbound HTTPS GET and POST requests and sends both query parameters and JSON bodies to a remote host. Within this file there is no confirmation prompt, user-visible logging, or comment/docstring disclosing that user or system data may be transmitted over the network.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This code emits all validation and error messages in Chinese only, such as at L05, L10, L14, L18, and L22-L24. The rule requires flagging language or locale policy violations when a skill forces a specific language without user opt-in, and there is no indication here of language selection or a documented locale-specific justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
76% confidence
Finding

SQP-3 covers natural-language policy violations such as forcing a specific language without user opt-in. The entire skill documentation is presented only in Chinese and does not indicate any language choice or that the locale restriction is intentional and justified.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

The README states that all task results are automatically saved to a local logs/ directory, but it does not clearly warn users about data persistence, retention, or the sensitivity of collected output such as account, content, and comment-analysis data. In a data-collection skill, silent local storage increases the risk of unintended disclosure on shared machines, backups, or later redistribution.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

The file title and all operational instructions are written exclusively in Chinese, with no indication that other languages are supported or that Chinese is an intentional opt-in requirement. Under the policy, 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
92% confidence
Finding

The retry/error messages at L19 and L45 are hard-coded in Chinese, which indicates a fixed language choice in user-facing output. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale constraint is clearly documented and justified, which is not evident in this file.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

This code sends user-supplied data (url, sort, limit) and an authentication token via postJson, but the file does not include a confirmation prompt, user-facing notice, or explanatory comment/docstring about that transmission. Because this is a code file and the network operation is safety-relevant, it should include some form of disclosure unless that warning is clearly provided elsewhere.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

The function makes a network call with the provided url, sort, limit, and token, but there is no visible confirmation prompt, explanatory comment, or notice to the user in this file. Under the code-file warning criteria, network operations that transmit user or system data should have some disclosure when none is otherwise evident.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

The skill's stated purpose is Kuaishou research and comment/work analytics, but this file reads process.env.GUAIKEI_API_TOKEN to obtain credentials. While external API access may be expected for this domain, direct environment-based credential access is an additional capability not justified by the manifest text itself.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The manifest describes Kuaishou/Kwai data and content research capabilities, but does not mention credential or environment access. At L098 the script reads GUAIKEI_API_TOKEN from process.env, which is a separate capability beyond the user-facing research function and may expose secret-handling behavior not implied by the description.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The command descriptions, examples, notes, and runtime messages are written only in Chinese, which imposes a specific language on users without any opt-in or locale selection mechanism. This is a natural-language policy concern because the skill does not provide a language choice or document a justified locale restriction.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
98% confidence
Finding

This code file contains user-facing natural-language strings in Chinese, beginning with the file header and continuing throughout errors and help text. The skill does not provide any user opt-in, language selection, or justification that it is intentionally limited to a Chinese-speaking locale, which matches the language/locale policy violation criteria.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

The thrown error string is hardcoded in Chinese (重试${maxAttempts}次后失败), which imposes a specific language choice in user-visible text. For a general retry utility, this creates a locale policy issue unless the skill explicitly documents that it is Chinese-only or offers language selection.

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