Back to skill

Security audit

GUAIKEI TikTok社媒数据复盘

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent read-only TikTok data skill that discloses its GUAIKEI API use and local result logging.

Install only if you are comfortable sending your GUAIKEI API token and TikTok search targets, URLs, or video IDs to www.guaikei.com. The skill stores fetched public results in temp JSON logs, so delete those logs or avoid sensitive research targets if local retention is a concern.

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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
Findings (34)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

声明描述的是一个面向 TikTok 社媒数据采集与分析的技能,而实际代码仅是 scripts/utils/args.js 中的通用 CLI 参数解析器。它不包含任何网络请求、TikTok 资源访问、数据抓取、评论提取、作品列表获取、结构化社媒数据输出或分析逻辑。虽然这类参数解析器可能作为更大系统的辅助组件存在,但就该代码块本身而言,其行为与声明的核心能力明显不一致,属于实质性描述-行为不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The declared description presents a full TikTok data collection and analysis capability. However, the supplied code chunk contains only utility functions for printing a banner and colored log messages to stderr/console. It does not access TikTok, perform searches, retrieve creator works, scrape comments, analyze engagement data, or generate structured JSON outputs. While logging utilities could be a supporting component of a larger tool, this code chunk by itself does not implement the declared functionality, so the description does not accurately represent the actual behavior shown.

Content

No source excerpt is available for this finding.

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.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

This JSON schema contains user-facing title and description strings in Chinese throughout, which effectively forces a specific language for consumers of the skill metadata. The file does not indicate that the skill is region-specific or provide any opt-in or alternative locale, which matches the language/locale policy violation criteria.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The description states the skill will '输出复盘内容表现' and otherwise describes behavior entirely in Chinese, implying a fixed language/locale for interaction or output. This can violate language/locale policy when no user choice or opt-in is offered.

Content

No source excerpt is available for this finding.

Whitespace Padding

Medium
Category
Prompt Injection
Confidence
70% confidence
Finding

Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Content

Scanner excerpt · references/options.md (reported line 14)May include surrounding context.

node scripts/tiktok/search-cli.js --keyword <关键词> [--sort <排序>] [--time <时间>] [--limit <数量>]

text

| 参数        | 缩写 | 作用       | 可选值                                                                                      | 必填 | 默认 |
| ----------- | :--: | ---------- | ------------------------------------------------------------------------------------------- | :--: | :--: |
| `--keyword` | `-k` | 搜索关键词 | 2–100 字符;不可含 `< > " ' &`,不可含 http 链接                                            |  是  |  —   |
| `--sort`    | `-s` | 排序方式   | `0` 相关度 / `1` 最多点赞                                                                   |  否  | `0`  |

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The documentation explicitly describes collecting author and commenter identifiers, profile data, and engagement metadata, but provides no privacy, retention, or handling guidance. In a social-media scraping context, this increases the risk of unnecessary collection, downstream misuse, or noncompliant processing of personal data.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The options documentation does not warn users that commands send keywords, usernames, URLs, and video IDs to external TikTok-related services over the network. Without this disclosure, users may unknowingly transmit sensitive research targets or internal investigation terms to third parties, creating confidentiality and compliance risk.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The CLI persists fetched TikTok comment results to a local JSON file after printing them, which creates an additional undeclared storage channel for potentially sensitive or regulated data. Because comments, usernames, links, and interaction metadata may contain personal data, silent local retention increases exposure to unauthorized access, accidental sharing, or later misuse on multi-user systems.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The tool writes comment results to a local file without explicit user consent, warning, or a dedicated output parameter, which can surprise users and create unintended data retention. In this skill context, the stored output may include public comments plus commenter identifiers and engagement metadata, making silent persistence more privacy-relevant than a transient console display.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The CLI writes the full fetched TikTok results to a local JSON file after execution, which creates unintended data persistence beyond the tool's stated fetch/analyze/output behavior. Because the results may contain user-generated content, account metadata, or engagement data, this increases exposure through residual local files, shared workspaces, backups, or later unauthorized access.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

Fetched results are saved to disk without any explicit user warning, consent, or prominent disclosure in the CLI flow. Silent storage is risky because users may assume the tool only prints results, while the saved file can retain potentially sensitive or regulated content and create compliance, privacy, and data handling issues.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This file presents descriptions, help text, and status/error messages in Chinese only, such as the flag descriptions and runtime output. That forces a specific language on all users without offering a locale choice or documenting a justified region-specific constraint.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The CLI writes the full search output to a local JSON file named with the user-provided keyword, without any explicit consent, redaction, or retention controls. In this skill context, results can include public content metadata, comments, commenter identifiers, and links, so silent local persistence increases the risk of privacy leakage, unintended data retention, and exposure through shared machines, backups, or insecure log directories.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This utility emits user-facing errors, warnings, and help output entirely in Chinese, such as parameter errors and usage text. That forces a specific language for all users without any opt-in or indication that the tool is intentionally limited to a Chinese-speaking context, which matches the locale-policy violation criteria.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

This code emits all visible error messages in Chinese, which forces a specific language on users without any opt-in or documented justification. The same pattern continues in the success and failure messages, indicating a file-wide locale policy issue rather than a one-off string.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The success and failure log messages are also hardcoded in Chinese, so users receive operational feedback only in that language. This violates the language-choice policy unless the skill explicitly states a justified Chinese-only scope.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This file includes multiple natural-language strings such as error messages and comments in Chinese (for example at L037, L042, L049, L052, L059, L073, L075, L082, L094, L097, L100, and L142-L149). Because the skill does not offer a language opt-in or document a justified locale restriction, it appears to enforce a specific language, which matches the language/locale policy violation criteria.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

This code emits all user-visible messages in Chinese across multiple validation paths, which imposes a specific language on users without opt-in. Under the language/locale policy, hard-coding a single language is a natural-language policy concern unless the tool is explicitly documented as region-specific or provides language selection.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
98% confidence
Finding

L224-L225 的示例元数据位于当前 tiktok-performance-review 技能文档中,但 skill_name 被写成 tiktok-creator-videos,与本文件前部声明的技能名不一致。这会让调用方误以为实际执行的是另一个技能,构成文档与意图表达的直接矛盾。

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 description are written only in Chinese, which can impose a language constraint on users or downstream tooling without any opt-in or justification. The policy allows locale constraints when explicitly justified or optional, but that is not indicated here.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

This manifest-style JSON describes the skill only as obtaining TikTok comments, but it does not define any explicit trigger phrases, activation boundaries, or exclusion conditions. In manifest-like files, such broad description can contribute to ambiguous invocation because it is unclear when the skill should or should not be selected.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The schema title and description are written only in Chinese, which can impose a specific language context without any stated opt-in or justification. Under the policy rule for natural-language violations, this may be a locale/language constraint that is not documented as intentional or region-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

This JSON schema includes natural-language title and description fields exclusively in Chinese, such as the schema title and multiple property descriptions. Because the file does not document that the skill is China-specific or offer a language choice, it may violate language/locale policy expectations for user-facing skill content.

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 is a manifest-type file, so natural-language policy checks apply. The title and multiple field descriptions are entirely in Chinese, which imposes a specific language presentation without any indication of user opt-in or a documented region-specific limitation.

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