Back to skill

Security audit

guaikei-douyin-comments-to-insight-data

Security checks for vulnerabilities and agentic risk

Overview

The skill largely matches its Douyin research purpose, but it needs Review because it overbroadly triggers, auto-saves scraped user data, exposes its API token in URL query strings, and can show runtime promotional contact information contrary to its own instructions.

Install only if you are comfortable sending Douyin research requests and a GUAIKEI_API_TOKEN to guaikei.com, and with scraped public comments/account metadata being saved under the skill's logs directory. Review logs before sharing workspaces or committing files, and treat the token as potentially exposed because this version sends it in request URLs.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T01 · Skill Instruction Hijacking

Error
Location
src/utils/request.js:50
Finding

Authentication Errors Inject Promotional Contact Information into Agent-Visible Output

Content
View full analysis
process.exit(exitCode), ); return; } ``` ### Technical Analysis The Skill specification requires authentication failures to produce neutral messages and explicitly prohibits runtime contact details, promotional content, or onboarding links. The implementation violates that requirement in two separate authentication-failure paths: 1. Local token validation ...[truncated 1760 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
src/utils/request.js:100
Finding

API Authentication Token Is Transmitted in URL Query Strings

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • 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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (51)

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding

This mismatch is more security-relevant because the skill claims minimal file-system interaction while also documenting automatic log/output writes under logs/. Unexpected local writes can leak collected data, create retention/privacy issues, and violate least-surprise expectations for a data-collection skill.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

This mismatch is more security-relevant because the skill claims minimal file-system interaction while also documenting automatic log/output writes under logs/. Unexpected local writes can leak collected data, create retention/privacy issues, and violate least-surprise expectations for a data-collection skill.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

This mismatch is more security-relevant because the skill claims minimal file-system interaction while also documenting automatic log/output writes under logs/. Unexpected local writes can leak collected data, create retention/privacy issues, and violate least-surprise expectations for a data-collection skill.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

This mismatch is more security-relevant because the skill claims minimal file-system interaction while also documenting automatic log/output writes under logs/. Unexpected local writes can leak collected data, create retention/privacy issues, and violate least-surprise expectations for a data-collection skill.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

This mismatch is more security-relevant because the skill claims minimal file-system interaction while also documenting automatic log/output writes under logs/. Unexpected local writes can leak collected data, create retention/privacy issues, and violate least-surprise expectations for a data-collection skill.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

This mismatch is more security-relevant because the skill claims minimal file-system interaction while also documenting automatic log/output writes under logs/. Unexpected local writes can leak collected data, create retention/privacy issues, and violate least-surprise expectations for a data-collection skill.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

This mismatch is more security-relevant because the skill claims minimal file-system interaction while also documenting automatic log/output writes under logs/. Unexpected local writes can leak collected data, create retention/privacy issues, and violate least-surprise expectations for a data-collection skill.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
81% confidence
Finding

The skill explicitly relies on the environment variable GUAIKEI_API_TOKEN, but the manifest does not declare a corresponding tool scope or permission boundary. That makes secret access implicit rather than auditable, increasing the risk of over-broad environment exposure and making review of least-privilege guarantees harder.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The activation guidance says the skill should be used even when the user does not explicitly mention Douyin, for broad research and benchmarking requests. Over-broad triggers can cause unintended execution, unnecessary external data access, and collection of third-party content in contexts where the user did not request this platform-specific action.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The generalized trigger for multi-step workflows is vague enough that the skill may activate during unrelated research tasks. In a skill that performs network collection and local logging, accidental invocation increases both privacy risk and the chance of violating user expectations or policy boundaries.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The document says the skill does not write to the filesystem except logs, but elsewhere states outputs are automatically saved to logs/ with query parameters in filenames. That contradiction matters because harvested data and user queries may persist locally without clear user consent, creating privacy, retention, and possible secret-spillage risks.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The statement '纯中文界面' indicates a hard language constraint. Under the policy, forcing a specific language without user choice or clear justification is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

This JSON schema uses Chinese-only natural-language titles and descriptions throughout, including the top-level title/description and property descriptions. Because the file does not indicate that the skill is intentionally region-specific or provide any language choice, it presents a natural-language locale policy concern under the rule for forced language without user opt-in.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The schema explicitly exposes a video playback/download address (play_addr) even though the skill description says it is not intended for downloading materials. That mismatch can enable downstream agents or users to retrieve media directly, expanding the skill from analytics into content acquisition and creating policy/compliance risk. In this skill context, the issue is more concerning because the declared scope is commentary/insight gathering, so media download capability is unnecessary and increases misuse potential.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The README explicitly promotes automatic export of scraped Douyin data to local JSON files, including comments and account-related data, but does not warn about retention, access control, minimization, or deletion. Because comment data and account identifiers can contain personal or sensitive information, storing them by default on disk increases the risk of unintended disclosure through shared machines, backups, source-control commits, or later reuse outside the original purpose.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The document explicitly enables bulk collection of Douyin search results, creator works, comments, and hot-list data at scales up to 10,000 items, but provides no guidance on privacy expectations, lawful basis, platform terms, retention, or downstream handling. In a skill focused on trend discovery and comment analysis, that omission increases the risk of users scraping personal or user-generated content in ways that violate platform rules or create privacy/compliance exposure.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The program silently writes fetched comments to a local file without warning, confirmation, or an explicit output argument, which can surprise users and leave behind data artifacts containing user-generated content. Because comment data may include personal information, opinions, or identifiers, this behavior raises confidentiality and compliance concerns, especially on multi-user systems or managed agent runners.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This code emits user-facing status/error messages in Chinese and formats timestamps with toLocaleString() without any user opt-in or documented locale selection. That creates a natural-language/locale policy issue because the skill effectively forces a specific language/locale experience on all users.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The CLI persists the full fetched Douyin post results to a local JSON file after printing them, but this behavior is not disclosed in the interface shown here. Silent retention increases data exposure because scraped content, metadata, or potentially sensitive research targets remain on disk and may be accessible to other local users, backup systems, or later processes.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The script writes fetched results to disk without explicit warning in this file, which creates an unexpected persistence channel. In the context of an insight/scraping skill, saved output can include harvested content and analysis targets, creating privacy, confidentiality, and compliance risks if users assume the tool is transient.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

Multiple user-visible error strings are hard-coded in Chinese, including authentication and network failure messages, with no indication that users can choose another language. This is a natural-language policy concern because the skill enforces a specific language/locale in its surfaced messages without opt-in or documented justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The user-facing comments and error/output strings are entirely in Chinese, including validation errors and formatted result messages. This imposes a specific language on users without any visible mechanism for language selection or documented locale restriction, which matches the language/locale policy concern.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
73% confidence
Finding

L037-L038 require only a neutral error message and forbid contact information or promotional content in runtime output, yet L087 says the skill should stop and ask the user to check the environment variable. While not a direct security issue by itself, this diverges from the stricter wording that runtime output should be limited to a neutral invalid-token message.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

Natural-language policy checks apply to all file types. The visible strings in this schema force a specific language for user-facing metadata, and there is no indication that the skill is Chinese-only by design or that users can opt into this locale.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

This is a manifest-style JSON file, so vague-trigger checks apply. The title and descriptions explain the input format and purpose, but they do not define specific invocation conditions, scope limits, or exclusion cases, which can make activation ambiguous in systems that rely on manifest text for routing.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.