Back to skill

Security audit

guaikei-douyin-videos-for-research

Security checks for vulnerabilities and agentic risk

Overview

The skill is a Douyin research tool, but its trigger rules are too broad and it can send vague user requests to a third-party API while saving fetched results locally by default.

Review before installing. Use this skill only when you intentionally want Douyin public-data research through the GUAIKEI service, avoid submitting confidential research targets or sensitive monitoring subjects, and periodically delete the generated logs directory if retained comments, account URLs, or search topics should not remain on disk.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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 (10)

Description-Behavior Mismatch

Medium
Confidence
93% confidence
Finding
The CLI persists fetched comment results to a local JSON file after completing a read/query operation, even though the skill is described as research-only and not as storing harvested data. Comment content may contain personal data or sensitive text, and writing it to disk creates unnecessary retention, expanding the exposure surface to other local users, backups, or later exfiltration.

Description-Behavior Mismatch

Medium
Confidence
90% confidence
Finding
The CLI writes the full fetched results to a local JSON file after completing the query, even though the skill description presents the capability as search/research rather than local persistence. This creates an unnecessary data-retention surface: creator data, video metadata, and potentially other returned fields remain on disk where other local users, processes, backups, or later tooling may access them without the user's awareness.

Description-Behavior Mismatch

Medium
Confidence
87% confidence
Finding
The CLI persists full search results to a local JSON file, including user query parameters and returned content, without any visible consent or retention controls. In a research/search-only skill, silent persistence expands the data footprint and can expose potentially sensitive queries or results to other local users, backups, or downstream tooling.

Vague Triggers

High
Confidence
95% confidence
Finding
The description says the skill should be used for generic phrases like '查一下' or '帮我看看' even when the user does not mention Douyin. That creates over-broad invocation scope, making it easier for the agent to trigger external data collection unexpectedly and route unrelated user requests into this skill without clear consent or platform specificity.

Vague Triggers

Medium
Confidence
96% confidence
Finding
The usage section reinforces that the skill should be used even if the user did not mention 'Douyin', which increases ambiguity in intent resolution. In practice, this can cause unintended third-party querying, unnecessary disclosure of user interests to an external service, and incorrect tool selection when a user meant a different platform or a general web lookup.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The README states that JSON logs are automatically generated and stored locally, but this behavior is not surfaced as a prominent user warning near the quick-start usage. Because the skill collects public but potentially sensitive research targets, comments, and account URLs at scale, silent local persistence can expose browsing targets, research subjects, and collected content to other local users, backup systems, or downstream tooling without the operator realizing it.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill requires a GUAIKEI_API_TOKEN and directs users to obtain access from a third-party service, which strongly implies that search keywords, account identifiers, video URLs, and comment requests are sent to an external backend. The README does not present a prominent privacy warning before use, so users may disclose sensitive investigation targets, internal research topics, or monitoring subjects to a third party without informed consent.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The code saves the full fetched comment results to a local file without any explicit warning or consent flow in this file, which can surprise users who believe the skill only performs transient lookup/research. Silent data persistence is risky because it turns remote content retrieval into local data collection, potentially retaining user-generated content beyond the immediate task.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The skill silently saves result data to a local JSON file without any explicit notice in this file or an obvious user-consent mechanism. In a research-oriented skill, undisclosed storage is more concerning because users may expect transient lookup behavior, while the saved file can persist data beyond the session and broaden exposure through local access, syncing, or backups.

Missing User Warnings

Low
Confidence
84% confidence
Finding
The tool writes search results to a local log file without explicit user warning at runtime or in the primary flow, which creates a transparency and privacy issue. Even if the data is not highly sensitive by default, saved queries and fetched content may reveal research interests or monitored accounts.

Static analysis

No suspicious patterns detected.