T01 · Skill Instruction Hijacking
- Location
src/utils/request.js:51- Finding
Authentication Errors Inject Promotional Contact Information into Agent-Visible Output
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill mostly matches its Douyin public-data purpose, but it under-discloses important token, logging, and runtime contact-output behavior users should review before installing.
Review this before installing if your searches, target accounts, or API token are sensitive. Running it sends Douyin queries or URLs and the token to www.guaikei.com, may save collected public results locally under logs/, and may print provider contact/promotional text on auth failures despite the stated policy.
src/utils/request.js:51Authentication Errors Inject Promotional Contact Information into Agent-Visible Output
src/api/search.js:59API Credentials Are Exposed in URL Query Parameters
src/config/constants.js:21Query Operations Can Retry Up to Twenty Times Contrary to the Documented Limit
声明描述的是一个面向抖音公开数据检索与分析的技能,其核心行为应涉及抖音相关数据访问或处理。实际代码仅实现通用参数解析和帮助文本构建,属于基础设施/辅助模块,没有任何抖音平台访问、内容检索、评论读取、热榜获取或相关业务逻辑。根据评估标准,虽然辅助实现细节本身不必单独判定为不匹配,但这里提供的代码片段完全不体现声明中的主要目的,呈现出的实际行为与声明能力存在实质性偏差,因此应判定为不匹配。
声明描述的是一个面向抖音公开数据抓取/查询的技能,而代码片段实际实现的是本地日志写入辅助工具,与抖音数据搜索、作品抓取、评论读取、热榜查看等核心能力无直接对应关系。虽然日志记录可能是支持性实现细节,但当前提供的代码片段本身只展示了文件写入能力,且涉及本地文件系统访问,这在声明中未体现,也不是所述技能的直接行为。因此该代码与声明用途存在明显不匹配。
The description presents a user-facing Douyin analysis/data-retrieval skill. The supplied code chunk does not implement any of those capabilities: it neither accesses Douyin nor performs search, comment reading, hot-list retrieval, or creator-work collection. Instead, it is a simple internal helper that reads package.json from the local filesystem to obtain the package name. This is materially different from the declared purpose, so the description is not accurately represented by this code chunk.
The skill explicitly depends on an environment variable (GUAIKEI_API_TOKEN) but does not declare any tool scope or permissions metadata for environment access. This creates a transparency and least-privilege problem: orchestrators or reviewers cannot accurately constrain or audit what sensitive runtime capabilities the skill needs.
The skill is configured to trigger on broad, generic research requests even when the user does not explicitly mention Douyin. This can cause unintended invocation in unrelated contexts, leading to unnecessary external data access, token use, and possible leakage of user intent to a third-party API.
Several trigger phrases such as generic terms for search, comments, trends, or rankings are common in everyday requests and may collide with unrelated user tasks. Over-broad activation increases the chance of misrouting conversations into this skill, causing unnecessary API calls and exposing contextual data beyond user intent.
This JSON schema uses Chinese-only natural-language titles and descriptions throughout, such as the title at L04 and property descriptions across the file. For a general-purpose skill artifact, that imposes a specific language/locale without any visible opt-in or justification, which matches the language-policy violation criteria.
The schema explicitly describes video_url as both playback and download addresses, which conflicts with the skill metadata stating it must not be used for downloading videos. Even though this file is only a schema, documenting download-capable outputs can enable downstream clients or agent logic to expose prohibited functionality and bypass the intended product restriction.
The schema title and nearly all descriptions are written exclusively in Chinese, which imposes a specific language/locale on consumers of the skill metadata. The file does not provide any user opt-in, alternative locale, or documented reason that this skill is intentionally limited to Chinese-language usage.
The schema exposes a direct media playback/download field (play_addr) even though the skill metadata says it should not be used for downloading videos. This creates a capability-policy mismatch: downstream agents or consumers may rely on the schema and use the field to retrieve media content, bypassing the stated restriction and increasing the risk of unauthorized downloading or policy noncompliance.
The package description is entirely in Chinese and provides no indication that other languages are supported or that the skill is intentionally limited to Chinese-speaking users. Under the stated policy, a language-specific constraint without user opt-in or explicit justification is a natural-language policy concern.
The README explicitly promotes exporting scraped Douyin data and automatic JSON log generation, but it does not give a clear privacy/data-minimization warning about storing public comments, author data, or other potentially sensitive personal data. In a scraping skill, persistent local logs increase the risk of unintended retention, sharing, or secondary misuse of collected data, especially in marketing and sentiment-analysis workflows.
The quick-start commands cause network requests to a third-party service and retrieval of Douyin data, yet the workflow does not prominently disclose that data, queries, URLs, and the API token will be transmitted to external infrastructure. In the context of a scraping/data-collection skill, this matters because users may unknowingly send potentially sensitive search terms, target account URLs, or business intelligence queries to a third-party provider.
The natural-language comments and API parameter descriptions in this file are exclusively in Chinese, with no indication of language choice or opt-in. Under the stated policy, forcing a specific language/locale without user choice is a natural-language policy violation.
This code performs an outbound API request that includes a skill token and user-provided search keyword, which constitutes transmission of potentially sensitive user or system data. Although the functions are documented for developers, there is no visible confirmation prompt, user-facing log, or comment/disclosure warning users that their inputs and token are being sent to an external API.
This GET request sends the token along with keyword and filter parameters to a remote API endpoint. The file lacks any user-facing notice, confirmation, or warning about this outbound data transmission, and the existing JSDoc comments only describe the function for developers.
The CLI writes the full fetched comment results to a local JSON file automatically after successful execution, without any explicit user consent, warning, or opt-in control in this file. Because comment data can contain personal data, sensitive opinions, or account-identifiable information, silently persisting it increases privacy and data-retention risk if the host system is shared, monitored, or later compromised.
The CLI writes the full fetched results to a local JSON file without clearly disclosing that persistence behavior to the user. Even if the data is public Douyin content, local retention can expose query history, monitored accounts, and collected content to other local users, backup systems, or downstream processes, which is a privacy and data-handling risk inconsistent with a read-only/query-oriented tool.
This code presents its command descriptions, help text, warnings, and runtime messages exclusively in Chinese. The policy requires flagging language or locale constraints when the skill forces a specific language without offering the user a choice or documenting a justified region-specific limitation.
The CLI writes full search outputs to a local log file using a filename derived from user-controlled input (keyword). Even though the skill is described as a read/query tool for public Douyin data, persisting results locally expands the data-handling surface, can unexpectedly retain queried content, and may expose search history or collected results to other local users/processes. The risk is contextual rather than overtly malicious, but it is still a real privacy/data-minimization issue.
The authentication failure message is written only in Chinese and includes support instructions in that language, which imposes a specific language on users without offering a choice. This matches the natural-language policy category for language or locale policy violations.
The statement "纯中文界面" indicates a fixed language constraint. The file does not offer the user a language choice or explain a necessary compliance reason for enforcing Chinese-only output.
This JSON schema uses Chinese-only natural-language titles and descriptions for the command-line parameters. Because no locale scope, opt-in, or alternative language is provided, it may violate a language/locale policy that requires user choice or explicit justification.
This JSON schema contains human-readable titles and descriptions exclusively in Chinese, such as the title and field descriptions. For a general-purpose skill asset, that constitutes a locale/language constraint in natural-language content without any indication that users can choose another language or that the schema is intentionally region-specific.
This JSON schema uses Chinese-only natural-language titles and descriptions throughout, such as the title and property descriptions. Under the policy, forcing a specific language is a violation unless the locale constraint is explicitly documented and justified or the user is given a choice.