Back to skill

Security audit

快手关键词搜索助手

Security checks for vulnerabilities and agentic risk

Overview

This skill coherently retrieves public Kuaishou search, creator-post, and comment data through a disclosed third-party API, with local result logging users should be aware of.

Before installing, confirm you are comfortable sending Kuaishou keywords, profile/video URLs, limits, and your GUAIKEI_API_TOKEN to the GuAikei service. Treat generated logs as retained datasets: delete or protect them if searches, URLs, comments, or competitive research topics are sensitive.

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
  • 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
Findings (29)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description says this skill should retrieve real-time Kuaishou public data such as search results, creator works, and comments. However, the provided code is an unrelated utility module for parsing CLI arguments (parseArgs, readValueAfterFlag) and generating help text (buildHelp). It contains no network requests, no Kuaishou-specific logic, no scraping or API access, and no data output beyond parsed arguments/help text. This is a material mismatch in primary purpose and actual capabilities, not merely a supporting implementation detail, because the chunk does not implement any of the advertised Kuaishou data functions.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description says the skill retrieves Kuaishou public data such as search results, creator works, and comments. However, this code chunk only implements a helper function to write log content to a local file using Node.js fs/path APIs. It accesses the local filesystem, which is not mentioned in the declared purpose, and it does not show any Kuaishou-related networking, scraping, API calls, or structured data retrieval. While logging can be a supporting detail in a larger skill, this supplied chunk by itself does not match the declared primary purpose and instead demonstrates an undeclared local file-writing capability.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description promises Kuaishou public data access capabilities such as keyword search, creator post listing, and comment retrieval. The supplied code chunk does none of that. It merely uses Node.js fs/path modules to locate and read a local package.json file, then returns its name field. This is a materially different purpose from the declared behavior. While utility code can be supportive, this specific chunk shows only unrelated package metadata access and no evidence of the advertised Kuaishou operations, so the description does not accurately represent the actual code shown.

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.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

Automatically saving all task results to logs/ can expose searched keywords, target profile/video URLs, comments, and returned datasets on disk without explicit user warning or consent. On shared machines, CI runners, or synced workspaces, these files can leak competitive intelligence, sensitive research targets, or personal data contained in public comments.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The CLI writes the full fetched comment dataset to a local JSON file after printing results, but this persistence is not apparent from the skill description or from an explicit user consent flow in the script. Because comments may contain personal data or sensitive content, undisclosed local storage increases the risk of unintended retention, later exfiltration, or access by other local users/processes.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The script saves comment data to a local JSON file without a user-facing warning in this workflow, creating silent data retention beyond the immediate command output. This is risky because comment payloads can include usernames, text, timestamps, or other metadata that users may not expect to be stored on disk.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The script persists the full creator-post response to a local JSON file after printing results, which creates undisclosed data retention beyond the stated interactive output behavior. If the returned data contains personal data, identifiers, or sensitive business intelligence, it can remain on disk and be accessed later by other local users, processes, or backup systems.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

This code performs outbound HTTPS GET and POST requests and includes a TOKEN header plus serialized request data, which can transmit user or system data to a remote service. The file contains no confirmation prompt, logging, comments, or docstring warning users that data and authentication material are being sent over the network.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
85% confidence
Finding

The functions require a token string and then place it into the outbound HTTP header as TOKEN. Although the code validates presence and reports invalid-token errors, it does not include any warning or documentation that a credential is being consumed and sent to an external endpoint.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

This file contains user-facing natural-language text only in Chinese, including warnings and informational output. The policy explicitly flags language or locale restrictions when the skill forces a specific language without user opt-in, and there is no indication here that the skill is region-specific or that users can choose another language.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This JavaScript file contains multiple user-facing string literals in Chinese for validation errors. Because the skill does not indicate that it is China/Chinese-specific or provide any user opt-in for language selection, it appears to force a specific language, 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
86% confidence
Finding

The package description and keywords are entirely in Chinese, which presents the skill in a single language with no indication of user choice or locale scoping. Under the policy rule for natural-language violations, this can be treated as a language/locale constraint that is neither explicitly optional nor justified as region-specific in the file.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

Natural-language policy violations include forcing a specific language without user opt-in. This README presents all instructions and operational guidance solely in Chinese, with no indication of language options or an explicit justification that the skill is intended only for Chinese-speaking users.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
73% confidence
Finding

The documentation emphasizes '无需部署服务' and lightweight one-click Node.js execution, which suggests minimal external setup. But later sections require contacting the developer or visiting a website to obtain an API token and explicitly require network access, indicating reliance on an external service for core functionality. This is a documentation-level contradiction about operational independence, not merely an omitted detail.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

The README frames the skill as a public-data Kuaishou analysis tool that does not require logging into Kuaishou or involve user privacy data. However, the usage instructions also require obtaining a GUAIKEI_API_TOKEN from an external vendor service, meaning operation depends on a third-party data/API backend beyond direct public-data access. This is a mild description-behavior mismatch because the dependency is disclosed elsewhere, but the summary claims can lead users to expect a more self-contained public scraping tool.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

This markdown file is entirely written in Chinese, including headings, parameter descriptions, and examples, and it does not indicate that the user can choose another language. Under the policy rule for natural-language violations, forcing a specific language without user opt-in can be a violation unless the locale constraint is clearly justified.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
76% confidence
Finding

The manifest frames the skill as a Kuaishou data retrieval tool and does not mention handling credentials or environment-based secret access. Reading process.env.GUAIKEI_API_TOKEN adds a credential-access capability that is operationally useful but not justified by the stated purpose alone.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

The stated purpose focuses on searching Kuaishou public data and returning structured results. This file also depends on a credential loaded from process.env, which introduces secret access not mentioned in the manifest and is not evident from the user-facing purpose alone.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The code reads process.env.GUAIKEI_API_TOKEN, which is a sensitive credential access. While the script logs URLs and status messages, this file does not include a user-facing disclosure, confirmation, or comment/docstring warning that credentials will be consumed during execution.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

The script writes fetched result data to a predictable local JSON log file without explicit user consent or notice in this file. Silent persistence increases the chance of unintended retention and secondary exposure of scraped creator data through local access, shared workspaces, or log collection systems.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The CLI sends user-provided keywords and search parameters to a remote API but does not clearly warn the user that their query data will leave the local environment. In a data-collection/search skill, this is a genuine privacy/transparency issue because operators may input sensitive names, brands, or investigation terms without realizing they are transmitted externally.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

The script persists the full search output to a local JSON file using a filename derived from the keyword, but this behavior is not clearly disclosed to the user. That can expose potentially sensitive search terms and collected results to other local users, backups, or monitoring tools, especially on shared systems.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
98% confidence
Finding

This JavaScript file contains natural-language comments, error messages, and help output exclusively in Chinese, such as the module description, thrown errors, and generated CLI help text. The policy requires flagging language or locale constraints when a skill forces a specific language without offering user choice or documenting a justified regional scope.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
98% confidence
Finding

The code emits user-facing error messages in Chinese only (and also a success message later), with no indication that the skill is limited to Chinese-speaking users or that another locale is supported. This is a natural-language policy concern because it imposes a specific language without user opt-in.

Content

No source excerpt is available for this finding.