Back to skill

Security audit

GUAIKEI快手需求挖掘评论分析

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed Kuaishou public-data collection tool that uses a GUAIKEI API token and saves results locally, with no evidence of deception, privilege escalation, or destructive behavior.

Install only if you are comfortable sending your requested Kuaishou keywords, URLs, limits, and GUAIKEI_API_TOKEN to www.guaikei.com. Treat the saved logs as retained research data: review or delete artifact/logs when the task is complete, especially after collecting comments at high volume.

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 (26)

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

从该代码片段看,其实际功能仅限于“按视频URL/ID抓取评论数据并输出结果”,这与声明中的第三项能力“视频评论分析,按视频链接获取评论内容与互动数据”部分吻合。但声明把技能的主要用途描述为评论聚类、情感分析、痛点/需求抽取和机会清单生成,而此代码没有任何文本分析、聚类、情感判断或需求提取逻辑;同时,声明中的另外两项能力(关键词搜视频、达人作品抓取)在该代码片段中也完全未体现。因此该描述相对于所给代码片段明显夸大了能力范围,属于描述与实际行为不一致。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

代码内容仅为 scripts/utils/args.js,一个与业务无关的基础工具模块。它处理命令行参数读取、重复参数检查、数值校验、位置参数、帮助文本生成等通用 CLI 功能。根据给定代码片段,完全看不到任何与快手社媒平台、视频搜索、主页作品抓取、评论获取、互动数据处理、文本聚类或情感分析相关的实现。因此,代码的实际行为与声明描述的核心用途存在明显不一致,属于实质性描述-行为不匹配。

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
88% confidence
Finding

The skill requires access to the environment variable GUAIKEI_API_TOKEN but does not declare an explicit tool scope such as permissions or allowed-tools. In agent ecosystems, missing scope declarations can lead to over-broad runtime access or make it unclear to reviewers and orchestrators what sensitive capabilities the skill needs, increasing the risk of unintended secret exposure.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The package description explicitly advertises large-scale collection of real-time user comments and downstream analysis, but it does not document activation boundaries, user consent expectations, rate limits, or data-minimization constraints. In a skill designed to scrape social-media content, vague collection scope increases the risk of over-collection, misuse of personal data, and deployment in ways that exceed what operators or users may reasonably expect.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% 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 scraped comment data and related metadata will persist on disk. Because this skill collects social-media content for analysis, automatic retention can expose potentially sensitive business research, user-generated content, and operational artifacts to other local users, backups, or later exfiltration if the host is compromised.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The CLI writes the full fetched comment payload to a local JSON file after completing the request, creating persistent storage of potentially sensitive or regulated user-generated content. In the context of a data-mining skill, silent persistence increases privacy, retention, and data-handling risk because users may expect analysis/output only, not archival logging of raw comments.

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 fetched comment data to disk without an explicit warning or consent mechanism in the CLI flow, which can surprise users and create unintended local copies of third-party content. This is more concerning here because the skill is designed to collect and analyze social-media comments at scale, so the stored file may contain substantial raw data with possible personal information.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The manifest frames the skill primarily as collecting Kuaishou comments for clustering, sentiment analysis, and unmet-need extraction, while also listing creator-work crawling as a supported capability. This file implements the creator-work retrieval path and additionally writes the fetched post results to a local JSON log file, which is not described in the manifest's user-facing behavior.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The CLI writes fetched creator data to a local JSON file automatically after success, but does not clearly obtain consent for persistence or provide a way to disable it. This can create unintended local data retention of scraped public-content datasets, which increases privacy, compliance, and workstation exposure risk if the output directory is shared or insecure.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The CLI writes full search output to a local JSON file using a filename derived from user-controlled input (keyword) without any explicit user consent, disclosure at runtime, or visible retention controls. In this skill's context, search terms and returned social-media data may be sensitive research material or contain personal data, so silently persisting them increases the risk of unintended disclosure through shared workstations, backups, or logs.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This JavaScript file contains natural-language comments and user-visible strings exclusively in Chinese, including errors and help output. Because the skill does not offer a language/locale choice or justify a Chinese-only constraint, it creates a language policy concern under the locale-choice rule.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

This code constructs and sends HTTPS requests containing serialized request data and a TOKEN header, which may transmit user or system data to an external service. There is no confirmation prompt, user-facing log, or inline warning indicating that outbound network transmission and credential use will occur.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The GET helper attaches a TOKEN header and performs an outbound HTTPS request, but the code provides no user-visible warning that credentials are being used and transmitted. For safety-sensitive operations involving network access and credentials, some form of disclosure is expected unless documented elsewhere.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

The manifest description is entirely Chinese and does not indicate that the skill is intended only for Chinese-speaking users or offer any language/locale choice. This can create a language-policy issue if the skill effectively forces a specific language without user opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

The heading uses Chinese-only naming ("GUAIKEI快手需求挖掘评论分析 更新日志"), which suggests a language-specific constraint in the skill documentation without indicating user opt-in or a justified region-specific scope. The policy requires avoiding forced language or locale constraints unless they are optional or explicitly justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

The file presents all instructions and parameter descriptions exclusively in Chinese. Under the policy rule for language/locale constraints, this can be a natural-language policy issue when no user opt-in, alternative language, or justification for the locale restriction is provided.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

The manifest frames the skill as a Kuaishou comment search and analysis tool, but this file also depends on reading process.env.GUAIKEI_API_TOKEN for authentication. While this may be an implementation detail, credential access is not part of the user-facing stated capability and is not directly disclosed by the manifest.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

The CLI descriptions and runtime messages are written in Chinese throughout the file, which effectively forces a specific language for interaction. There is no indication of user opt-in, locale selection, or documentation that this is intentionally limited to a Chinese-only audience.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
71% confidence
Finding

The manifest describes search, creator-work crawling, and comment analysis capabilities, but does not mention credential handling or dependence on external service authentication. Reading GUAIKEI_API_TOKEN from the environment introduces a hidden capability outside the stated functional scope, even though it may be operationally convenient.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
75% confidence
Finding

The script sends the supplied profile URL, sort, and limit to remote API functions to create and fetch a task. While network activity is inherent in this tool's purpose, the code does not explicitly disclose that the provided input will be transmitted to an external service, which may matter for privacy-sensitive usage.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

Multiple user-facing strings, including argument descriptions and help output, are fixed to Chinese. Under the policy, forcing a specific language without user opt-in can be a natural-language policy violation unless the locale restriction is explicitly justified.

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 user-facing error text in Chinese, and later success/error messages are also fixed to that language. Under the policy, forcing a specific language without user opt-in or a documented locale-specific justification 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
95% confidence
Finding

Multiple hard-coded error strings are written only in Chinese, which imposes a specific language on users without offering a language choice or documenting a locale-specific constraint. This is a natural-language policy concern because the file gives no indication that Chinese-only output is intentional and limited to a region-specific skill.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
96% confidence
Finding

The thrown error string is hard-coded in Chinese ("重试...次后失败"). This imposes a specific language in user-visible output without any indication of user choice or documented region-specific constraint, 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
92% confidence
Finding

This JavaScript file contains natural-language strings and comments in Chinese, including the banner text shown to users. The file does not indicate that Chinese is optional, user-selected, or justified as a region-specific constraint, which can violate language/locale policy requirements.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.