Back to skill

Security audit

guaikei-douyin-discover-viral-content

Security checks across malware telemetry and agentic risk

Overview

This Douyin research skill is review-worthy because it can route broad search requests to a third-party API, saves results locally by default, and has some conflicting disclosures.

Install only if you are comfortable sending Douyin search terms, target URLs, and your GUAIKEI token to the guaikei API, and if automatic local JSON logs of fetched public data are acceptable in your environment. Use it for explicit Douyin research, not generic web search, and treat returned video URLs as potentially sensitive to platform terms and rights restrictions.

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

Description-Behavior Mismatch

Medium
Confidence
91% confidence
Finding
The schema explicitly documents `video_url` as both playback and download addresses, which conflicts with the skill description stating it is not intended for downloading videos. This creates a capability/contract mismatch that can enable downstream agents or integrators to use the skill for prohibited download workflows, including possible watermark-bypass or unauthorized redistribution depending on the backing API.

Description-Behavior Mismatch

Medium
Confidence
92% confidence
Finding
The CLI persists fetched comment data to a local JSON file after completing a read/query action. This creates an undeclared data-retention side effect: potentially sensitive or regulated user-generated content is stored on disk where other local users, processes, backups, or later tooling could access it, expanding the skill's data exposure beyond the user's immediate request.

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
The CLI writes the full search output to a local log file whose filename includes the user's keyword, and the file contents include the original query and retrieved results. This creates unintended local data retention and can expose potentially sensitive user interests, search terms, or scraped content to other local users, backups, or later processes without explicit user consent.

Vague Triggers

High
Confidence
95% confidence
Finding
The description contains broad trigger phrases such as '帮我搜下', '网上谁在讲这个', and '这个账号更新了啥', and even states the skill should activate when the user does not mention Douyin. This can cause over-broad invocation, routing unrelated user requests into a third-party data-collection workflow and potentially exposing user intent or query content to an external service without sufficiently specific consent.

Vague Triggers

Medium
Confidence
92% confidence
Finding
The generalized activation condition says the skill should trigger for broad content-research intents even without mentioning Douyin, but it does not provide strong scope guards. In context, this increases the chance of accidental cross-platform or generic-search interception, which can mis-handle user requests and send data to a service the user did not intend to use.

Missing User Warnings

Medium
Confidence
84% confidence
Finding
The README explicitly promotes automatic JSON log export of scraped Douyin data but does not clearly warn that comments, account data, URLs, and search terms may be stored locally and persist after execution. This can expose sensitive or regulated data to other local users, backups, or downstream tooling, especially in team or shared environments.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The skill requires a third-party token and operates through an external API service, but the README does not clearly disclose that user queries, target Douyin URLs, and requested content are transmitted off-box to that provider. This creates a data-sharing and privacy risk because users may assume processing is local when it is actually handled by an external service.

Missing User Warnings

Low
Confidence
80% confidence
Finding
The GET request places the token and search parameters into the request query string, which can be exposed via logs, intermediaries, browser history, analytics, or reverse proxies more readily than request bodies or authorization headers. In this skill context, the keyword may reveal user interests or sensitive topics, and the token may be a credential, so using query parameters increases unintended data exposure risk.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill silently writes comment results to a local file without any visible disclosure in the CLI flow. Even if intended for debugging or caching, undisclosed storage of scraped comments can surprise users and increase privacy, compliance, and secondary-access risks because the data remains available after the command exits.

Missing User Warnings

Low
Confidence
83% confidence
Finding
The tool persists fetched Douyin results to a local JSON file without any explicit warning or opt-in at the point of use. Because fetched content and queried account identifiers may be sensitive or reveal user interests, silent local storage can leak data to other local users, backup systems, or later processes that inspect the filesystem.

Missing User Warnings

Low
Confidence
96% confidence
Finding
Search results are silently written to a local file without any clear user warning or consent flow. Because the output includes the keyword and returned content, this can leak private or sensitive search activity through filesystem artifacts even when the user only expected transient console output.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

No suspicious patterns detected.