Back to skill

Security audit

GUAIKEI抖音需求挖掘评论分析

Security checks for vulnerabilities and agentic risk

Overview

This skill coherently fetches public Douyin data through a disclosed third-party API, but users should be aware that some results are automatically saved as local JSON logs.

Use this skill only when it is acceptable to send Douyin search terms, links, IDs, and token-authenticated API requests to Guaikei. Treat the API token as a secret, and remember that search/post/comment results are saved locally under the skill logs directory, so avoid collecting targets or comments that your workspace should not retain.

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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • 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
Findings (36)

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

该代码块的实际功能是“按视频/图文链接或 aweme_id 获取评论内容”的一个命令行入口,这与声明中的第(4)项能力部分一致。但声明把技能整体描述为一个面向评论分析与需求洞察的工具,并列出四大能力;而本代码没有任何聚类、情感分析、需求抽取、机会清单生成逻辑,也没有搜索、热榜、博主作品抓取相关实现。从该代码块看,实际行为明显比声明狭窄,且缺失声明中的核心分析能力,因此描述不能准确代表此代码块实际做的事情。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

声明描述的是一个面向抖音社媒分析的技能,核心应涉及网络请求、平台数据访问、评论处理、分析与结果输出。但提供的代码片段仅是 src/utils/args.js,一个与业务无关的通用命令行参数解析器。它负责读取 flag 值、校验参数、处理 boolean/default/required 规则并生成帮助文本。该代码没有出现任何抖音相关 API、页面抓取、评论数据结构、聚类算法、情感分析、文本挖掘或热榜/作品/评论查询逻辑。因此,代码行为与声明用途存在明显且实质性的不一致。尽管这类工具函数可能作为完整技能的辅助组件存在,但就该代码片段本身而言,无法支撑声明的主要功能,且实际能力与声明能力明显不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

This code does not implement any of the declared end-user Douyin analysis capabilities. Its actual function is a generic filesystem logging helper: validate inputs, sanitize a filename, create a logs directory, and write content to disk. While logging can be a supporting detail in a larger system, this chunk by itself is unrelated to the declared primary purpose and instead performs an undeclared local file-write capability. Therefore the description does not accurately represent what this supplied code chunk actually does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description promises substantial Douyin data collection and analysis capabilities, but this code chunk implements only a utility function that reads package.json from the local filesystem to obtain the skill/package name. That behavior is unrelated to the declared end-user functionality. While this could be a small supporting helper within a larger project, based on the supplied code chunk alone it does not match the described capabilities and instead accesses a different resource (local files) than the description suggests.

Content

No source excerpt is available for this finding.

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/changelog.md (reported line 76)May include surrounding context.

md
## 1.0.2 - 2026-03-24

- 在SKILL.md中添加了openclaw元数据、使用帮助、许可证、标签和示例,以实现更好的集成与文档化。
- 移除了两个本地文件(.env 和 scripts/last-search.json),以优化代码结构并提升安全性。
- 文档现已更加简洁且以用户为中心,重点在于提供清晰的使用说明和数据字段解释。
- 突出技能特性、合规要点及技术流程。

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

The calls to createCommentTask and getCommentTask transmit user-supplied data and use an API token, indicating network activity involving user input. The file includes status messages but no clear disclosure that input URLs and related parameters will be sent to an external service.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The CLI persists fetched comment data to a local JSON file automatically after successful execution, and the output may contain user-generated content and interaction metadata that can be sensitive or regulated depending on downstream use. Because this storage happens without explicit user consent, retention controls, or a visible warning, it increases the risk of unintended local data exposure, over-retention, and accidental inclusion in backups, logs, or shared workspaces.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This code emits multiple user-visible status and error messages exclusively in Chinese, such as the authentication error and success outputs. That creates a language/locale policy concern because the skill forces a specific language without offering the user a choice or documenting an opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The CLI help, errors, and status messages are presented in Chinese throughout the file, with no indication that users can select another language or that the skill is intentionally limited to a Chinese-speaking audience. This creates a natural-language locale policy concern because the skill enforces a specific language without opt-in or justification in the file.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The command sends a user-supplied URL/sec_uid and an API token to external API functions (createPostTask/getPostTask) without an explicit warning or consent step. In this skill context, external transmission is expected for data collection, but the lack of clear disclosure can still surprise users and lead to inadvertent sharing of targets, query terms, or credentials in environments with strict data-handling requirements.

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 fetched Douyin results to a local JSON file via log.taskWrite(...), including request metadata and potentially collected public profile/post data, but this behavior is not apparent from the skill description or CLI interface. Undisclosed local persistence creates a data-handling risk because operators may assume the tool is ephemeral while it silently leaves recoverable artifacts on disk.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

This JavaScript file contains multiple user-facing error strings in Chinese, such as the messages printed when validation fails. Because the skill forces a specific language in its natural-language output without offering a language or locale choice, it violates the language/locale policy criterion.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

The schema title and description are written only in Chinese, which can imply a fixed language/locale for the skill without any documented user opt-in or region-specific justification. Under the policy rules, language constraints should either offer a choice or clearly document why a specific locale is required.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

This JSON schema contains user-facing natural-language fields such as the title and descriptions exclusively in Chinese. Under the stated 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
89% confidence
Finding

This JSON schema contains user-facing natural-language fields such as the title and descriptions only in Chinese, which can impose a specific language/locale without user opt-in. The file does not document that the schema is intentionally limited to a Chinese-language or region-specific context.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

The title and descriptions in this schema are entirely Chinese, which imposes a specific language on users or integrators without any indication of opt-in or justification. Under the policy, locale or language constraints should either be optional for the user or clearly documented as intentionally region-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

This JSON schema contains natural-language title and description text exclusively in Chinese, including the top-level metadata and property descriptions. Because the file does not indicate that the skill is region-specific or provide an opt-in language choice, it can be read as imposing a specific language/locale by default.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

This JSON schema uses Chinese titles and descriptions throughout, such as the title and property descriptions, which effectively imposes a specific language on users. The file does not indicate that the skill is region-specific or provide any user opt-in or alternative locale, which matches the language/locale policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

This JSON schema uses Chinese-only natural-language metadata in the top-level title and description, and the same pattern continues throughout the file. Because the file provides no opt-in, alternative locale, or justification that it is intended only for a Chinese-language/regional context, it may violate the language/locale policy for skills that should not force a specific language by default.

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 only in Chinese, which imposes a specific language choice in user-facing metadata without offering any alternative or opt-in. This can violate language/locale policy expectations when skills are expected to accommodate user language choice or document locale constraints.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

L05 明确写到“增加获取抖音博主互动数据的功能”,而给定清单描述的四大能力只包括关键词搜索、热榜、博主作品抓取和视频评论分析,并未包含博主互动数据获取。作为面向能力边界的文档,这会造成技能声明范围与实际/宣称能力之间的不一致。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

This markdown file contains user-facing instructions only in Chinese, which can amount to a language/locale constraint without user opt-in. The policy allows locale constraints when they are clearly documented and justified, but this file does not state that the skill is intentionally limited to Chinese-speaking users or a China-specific audience.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

Comments and operation labels such as the module description and task strings are written exclusively in Chinese, which can indicate a language-specific constraint without user opt-in. Under the policy, forcing a specific language is a concern unless the locale limitation is explicitly justified or users are given a choice.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

This code sends user-provided URL data and an authentication token to remote API endpoints via requestApi, which is a network operation covered by the warning requirement for code files. Although the functions have developer-facing docstrings, there is no user-facing confirmation, warning, or visible disclosure in this file about transmitting that data.

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:16