Back to skill

Security audit

guaikei-kuaishou-public-video-fetcher

Security checks for vulnerabilities and agentic risk

Overview

This skill coherently retrieves public Kuaishou data through a disclosed third-party API, with the main caution that results are automatically saved locally.

Install only if you are comfortable sending Kuaishou keywords, profile/video URLs, and the GUAIKEI_API_TOKEN to guaikei.com. Review or delete the local logs directory when results may include comments, usernames, URLs, or other public data you do not want retained.

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

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

If the implementation performs local filesystem writes for logging while advertising only remote public-data retrieval, users and operators may unknowingly allow broader host-side effects than expected. Hidden or undocumented file writes create a security boundary mismatch: they can persist sensitive request contents, tokens, URLs, or user queries to disk, increasing exposure on shared or managed systems.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the implementation performs local filesystem writes for logging while advertising only remote public-data retrieval, users and operators may unknowingly allow broader host-side effects than expected. Hidden or undocumented file writes create a security boundary mismatch: they can persist sensitive request contents, tokens, URLs, or user queries to disk, increasing exposure on shared or managed systems.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

If the implementation performs local filesystem writes for logging while advertising only remote public-data retrieval, users and operators may unknowingly allow broader host-side effects than expected. Hidden or undocumented file writes create a security boundary mismatch: they can persist sensitive request contents, tokens, URLs, or user queries to disk, increasing exposure on shared or managed systems.

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
89% confidence
Finding

The README states that all task results are automatically saved to a local logs/ directory, but it does not warn users that scraped public data, queried keywords, profile/video URLs, and comment content may be retained on disk. In a data-collection skill, this increases the risk of unintended data exposure through shared machines, backups, source control, or weak filesystem permissions, even if the source data is public.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The CLI help text and runtime messages are consistently presented in Chinese, with no mechanism for the user to select a language or confirm that locale. This can violate language/locale policy when a skill forces a specific language without offering user choice or documenting a justified locale restriction.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The script persists fetched comment data to a local JSON file after successful retrieval, even though the skill is framed as public-data lookup. Comments can still contain personal data, sensitive opinions, or identifiers, and silent retention increases privacy and data-handling risk, especially on shared hosts or agent environments where logs may be broadly accessible.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The script writes full comment results to a local JSON file without any user-facing warning or consent in this execution path. Silent storage of retrieved comments can surprise users and create unauthorized data accumulation, which is risky in automation systems, CI runners, or shared machines where artifacts may persist beyond the session.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The script persists the full command output to disk via log.taskWrite, which is a file-write operation covered by the warning requirement for code files. Although the script logs progress messages, this file does not clearly disclose beforehand that results will be saved locally, and the saved payload includes request details and returned data.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The script persists full search output to a local JSON file using a filename partially derived from user input, without any opt-in, warning, or control. In this skill’s context, results may include scraped public-content metadata and comments that can still be sensitive from a privacy/compliance perspective, and automatic local retention increases the risk of unintended disclosure on shared hosts or downstream misuse.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

This code sends request parameters/body and a TOKEN header over network calls via getJson/postJson, which is a safety-relevant operation under the audit criteria. The file contains no confirmation prompt, user-facing log/print, or explanatory comment/docstring disclosing that user or system data and credentials are transmitted.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The code attaches the provided token to outbound HTTPS headers, which constitutes use of sensitive credentials. There is no nearby comment, docstring, prompt, or user-visible notice explaining that a credential is being sent to an external service.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

This JavaScript file contains multiple user-facing validation errors exclusively in Chinese, such as at L05, L10, L14, and L18. Per the policy, forcing a specific language without user opt-in or documented 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
96% confidence
Finding

The file consistently presents operational instructions, trigger guidance, and user-facing usage information in Chinese, which can impose a language requirement on users or downstream agents without explicit opt-in. The policy allows locale constraints only when clearly documented and justified or when users are offered a choice, neither of which appears here.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

The manifest description and capability-boundary section restrict the skill to searching videos, listing creator posts, and fetching comments. However, the '核心优势' section additionally claims '多格式导出' and '日志自动归档', which are distinct operational behaviors not reflected in the stated three-capability scope and suggest extra output/storage behavior beyond simple structured retrieval.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

The package description is written entirely in Chinese, which can amount to a language-specific requirement for users discovering or using the skill metadata. There is no accompanying bilingual text or indication that users may choose another language, so this may violate a language/locale policy requiring opt-in or broader accessibility.

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 title is presented primarily in Chinese (with an English gloss), which suggests a fixed language choice in the skill's user-facing documentation. Under the language/locale policy rule, forcing a specific language without user opt-in can be a policy concern when no alternative or choice is documented.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

This markdown file presents all operational instructions, parameter descriptions, and examples in Chinese only. Under the policy criteria, forcing a specific language without user opt-in or documented justification is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

This code posts a supplied URL to an external API and includes a token, which is a data-transmitting network operation covered by the missing-warning rule for code files. While retry errors are logged, there is no confirmation prompt, user-facing disclosure, or explanatory comment/docstring in this file describing that user/system data will be transmitted.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
72% confidence
Finding

The manifest emphasizes retrieval of public Kuaishou data, but this CLI depends on an environment-provided API token to operate. Using credentials may be implementation-specific, but it is not justified by the stated public-data-only purpose from the manifest alone.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

The code reads GUAIKEI_API_TOKEN from the environment to authenticate requests, but provides only a setup note and no warning about sensitive credential usage or handling. For a CLI that consumes secrets, users should be informed that authentication tokens are required and treated as sensitive data.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

This code hard-codes all user-facing strings in Chinese, including errors, help text, and descriptions. Because the file provides no user opt-in, locale selection, or documented justification for a Chinese-only interface, it creates a natural-language locale policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

Multiple thrown error messages are hardcoded in Chinese, including operational and credential-related failures. Under the policy criteria, forcing a specific language without user choice can be a natural-language policy violation unless the locale constraint is documented and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
97% confidence
Finding

The thrown error string at L21 is written only in Chinese, which imposes a specific language in user-visible output without offering a language choice or documenting a justified locale restriction. This matches the policy category for language or locale violations in natural-language content embedded in code.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

This file contains user-facing Chinese text in the banner and emits timestamps using the environment locale via toLocaleString(), but provides no indication that language or locale is configurable or user-selected. Under the 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