Back to skill

Security audit

Guaikei Kuaishou Public Content Collector

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed Kuaishou public-data collection tool that uses a third-party API and local result logs, with no evidence of hidden execution, destructive behavior, or privilege escalation.

Install only if you are comfortable sending Kuaishou keywords, profile/video URLs, limits, and your GUAIKEI_API_TOKEN to the Guaikei API. Be aware that successful outputs, including returned public comments and analysis data, are saved locally under logs; keep that directory out of source control and delete it when no longer needed.

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
  • 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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (21)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The README states that all task results are automatically saved to a local logs/ directory, but it does not clearly warn users that collected public-data exports, URLs, keywords, comments, and analysis outputs may persist on disk. This creates a data-handling and privacy risk because operators may unknowingly retain sensitive business intelligence or regulated content locally, where it could later be exposed through backups, shared workstations, or source-control mistakes.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

This code persists the full command output, including the requested URL and fetched comment results, to a local file via log.taskWrite. Although the script prints progress messages, there is no explicit user-facing warning at the write site, comment/docstring disclosure, or visible indication in this file that results will be saved to disk.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The code reads process.env.GUAIKEI_API_TOKEN and uses it in post.createPostTask and post.getPostTask, which are network-facing operations that likely transmit user-supplied URL/ID and authentication data. This file does not provide a specific warning or comment explaining that external requests will be made using an environment token.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The script persists the full task output to disk via log.taskWrite(...), which is a file write affecting user/system data. Although the script logs progress for network activity, there is no visible disclosure near this operation that results will be saved locally, and this file itself contains no comment or prompt warning about the write.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The CLI descriptions, examples, warnings, and status output are all presented in Chinese, with no indication that the tool is region-specific or that users may choose another language. This is a natural-language policy concern because the file enforces a specific language without opt-in or justification.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The help text states '所有参数都会自动清洗和验证' ('all parameters will be automatically cleaned and validated'). In the implementation, only the keyword is explicitly cleaned and validated at L96-L99, while sort/time/duration/limit are passed through optionFormat without any clear validation or rejection path shown here, making the documentation stronger than the demonstrated behavior.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The CLI performs an additional side effect beyond searching: it persists the full search output to a local file, including the user's keyword and returned results. In a search-oriented skill, silent local storage can expose sensitive queries or retrieved content to other local users, backup systems, or later processes, especially because the filename itself embeds user input.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The code emits user-facing error messages in Chinese only, such as the validation errors on L07 and L11, without offering a language choice or documenting that this skill is intentionally Chinese-only. This is a natural-language locale policy issue because the skill imposes a specific language on users by default.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The success and failure messages on L35-L37 are presented only in Chinese, again forcing a specific language for operational feedback. Without explicit documentation or user opt-in, this violates the language/locale policy described in SQP-3.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The code sends JSON data over HTTPS and includes a TOKEN header in both POST and GET requests, which can transmit user or system data to a remote service. In this file there is no confirmation prompt, user-visible logging, or comment/docstring warning that outbound network transmission and token use will occur.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

The package description is written entirely in Chinese and presents the skill as a general-purpose analytics tool, but it does not indicate that the language/locale is optional or restricted to a China-specific audience. Under the policy, language constraints should either offer user choice or be clearly documented as region-specific and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The file title and all user-facing instructions are written exclusively in Chinese, with no indication that other languages are supported or that the Chinese-only constraint is intentional. Under the policy, forcing a specific language without user opt-in can be a natural-language policy violation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

This code sends a user-provided URL and an authentication token via postJson to a remote API, which is a network operation involving potentially sensitive data. The file includes retry logging for failures, but no user-facing warning, confirmation, or explanatory comment/docstring disclosing that this data is transmitted.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

The getJson call sends the provided URL, limit, and token to a remote endpoint, which is a network operation that may expose user or system data. Although retry errors are logged, there is no visible notice, comment, or docstring explaining that these values are transmitted off-process.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
76% confidence
Finding

The script reads process.env.GUAIKEI_API_TOKEN, which is access to a sensitive credential source. Although the help text mentions that the environment variable must be configured, this file does not clearly disclose at runtime that the token will be read and used for remote API requests.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

Search results are written to disk without an explicit user-facing warning at the point of execution, which reduces user awareness of data persistence. While overlapping with the broader hidden side-effect issue, this specifically creates a privacy risk because users may assume a transient search operation when their query and results are actually retained locally.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

This JavaScript file contains natural-language comments and user-facing CLI messages exclusively in Chinese, including thrown errors and help output. Under the stated policy, forcing a specific language without offering the user a language or locale choice is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
96% confidence
Finding

Multiple error strings are presented only in Chinese, such as request failures and token guidance, which imposes a specific language on users. The file does not provide any opt-in language selection or indicate that the skill is intentionally limited to a Chinese-speaking or region-specific context.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The thrown error string is hard-coded in Chinese: 重试${maxAttempts}次后失败. This introduces a language-specific user-facing message without any indication that the skill supports locale choice or that Chinese-only output is required by context.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

This JavaScript file contains natural-language strings and comments in Chinese, including the banner text shown to users. Because the skill does not indicate that it is region-specific or provide an opt-in language choice, it may violate the language/locale policy for skills expected to support user choice.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
97% confidence
Finding

This code emits multiple user-facing validation errors exclusively in Chinese, such as at L05, L10, L14, L18, L23, L50, L54, L59, and L64. Under the natural-language policy rule, forcing a specific language without user opt-in is a locale-policy issue unless the constraint is explicitly documented and justified.

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