Back to skill

Security audit

TikTok竞品分析与品牌对比

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed read-only TikTok data tool that sends queries to guaikei.com and saves local result logs, with no hidden install hooks or destructive behavior found.

Install only if you are comfortable sending your API token and TikTok search terms, profile URLs, video IDs, and related request metadata to guaikei.com. Treat exported comments and user identifiers as personal/public-platform data, keep the temp log directory private, and delete logs you no longer need.

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

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

声明描述的是一个面向 TikTok 的数据采集与分析技能,核心能力应涉及访问 TikTok 相关资源、拉取作品/评论/互动数据、按条件筛选排序,并进行品牌对比分析。但提供的代码仅是一个通用参数解析模块:解析命令行选项、校验参数类型、处理默认值/别名/帮助文本等。这类代码最多只是其他脚本的辅助基础设施,不构成声明中的任何核心业务能力。根据评估标准,这不是“支持性实现细节”与描述一致的情况,因为当前代码块本身的实际行为与声明的主要用途明显不符,应判定为描述与代码行为不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

该代码片段的功能与声明描述严重不一致。声明描述的是一个面向 TikTok 内容表现、互动数据和讨论趋势分析的技能,核心能力应涉及网络数据获取、搜索、抓取、结构化输出和分析处理。然而实际代码仅是一个本地日志工具:校验参数、清洗文件名、防止非法路径/保留名、创建临时目录并写入文件。它既没有体现任何 TikTok 数据访问、搜索、抓取、分析逻辑,也没有返回声明中的结构化业务结果。虽然日志记录可能是辅助实现细节,但当前提供的代码片段本身唯一可见能力是本地写文件,这属于未声明的资源访问能力,且与所述核心用途无关。因此应判定为描述与行为不匹配。

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

The description is written as a direct behavioral instruction in Chinese and does not indicate that other languages are supported or that the user may choose a preferred language. Under the policy, forcing a specific language without opt-in is a natural-language policy violation unless a locale restriction is clearly documented and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The skill's usage examples, routing rules, and operational instructions are entirely in Chinese, but the document does not say the skill is intentionally Chinese-only or region-specific. This creates an implicit language restriction without user choice, 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

This manifest file contains user-facing natural-language titles and descriptions entirely in Chinese, such as the title and parameter descriptions. For a generally applicable search schema, that imposes a specific language/locale without offering a choice or documenting that the skill is intentionally region-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

This manifest contains natural-language user-facing metadata in a single language, which can impose a language constraint on users without opt-in. The file does not indicate that the skill is intended only for a Chinese-speaking audience or provide any alternative language option.

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

The skill explicitly supports bulk collection of public profile content and comment data, including user identifiers and engagement metadata, but provides no warning or handling guidance for privacy, retention, lawful basis, or downstream use. In a competitive-intelligence context, this increases the risk of misuse, over-collection, and noncompliant processing of personal data, especially when comments and user IDs are exported as structured JSON.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
82% confidence
Finding

The code sends a token plus user-supplied URL and query parameters through an API request, which is a network operation involving potentially sensitive user or system data. In this file there is no confirmation prompt, user-facing log/print, or explanatory comment/docstring disclosing that this transmission occurs.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
82% confidence
Finding

This request transmits an authentication token together with URL and task query data to a remote endpoint. The file contains no visible confirmation prompt, user-facing logging, or explanatory comment/docstring to warn users that their data is being sent over the network.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The tool performs network retrieval and then writes the resulting dataset locally without a clear up-front warning or explicit consent for persistence. In this skill context, the results include comment content, commenter identifiers, and interaction metadata, so silent collection and storage materially increases privacy, compliance, and operational risk.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The CLI writes full search output to a local JSON file that includes the queried keyword, result data, and metadata, but gives no explicit notice, retention policy, or opt-out. In a competitor-intelligence/social-media analysis context, this can unintentionally persist potentially sensitive research terms and collected public-content data on disk, increasing exposure to local compromise, accidental sharing, or over-retention.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This JavaScript file presents all user-facing messages, errors, and generated help text in Chinese, including thrown errors and CLI help output. That enforces a specific language for all users without offering a locale selection or documenting a justified region-specific constraint, 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

Multiple user-visible error and documentation strings are written only in Chinese, such as error messages and parameter descriptions, with no indication that the user can choose another language. This creates a locale/language policy concern because the skill appears to force a specific language rather than offering opt-in or documenting a justified locale restriction.

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 file contains natural-language strings that force a specific language for warnings and status messages. Under the policy, language constraints should offer user choice or be clearly justified as locale-specific, neither of which is present here.

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 natural-language comments and user-visible error strings exclusively in Chinese, such as the validation errors emitted via utils.printError. Under the policy, forcing a specific language without user opt-in or a documented locale 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
88% confidence
Finding

This JSON schema contains user-facing titles and descriptions entirely in Chinese, such as the title and field descriptions, with no indication that the skill is China-specific or that other language/localization options are available. That can violate a language/locale policy when a skill implicitly forces one language without user opt-in or documented justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The schema title and description are written only in Chinese, which imposes a specific language in the skill artifact without any stated user opt-in or documented locale constraint. Under the policy, language-specific behavior should either offer a choice or clearly justify the locale restriction.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

This manifest-style JSON file contains all human-facing title and description fields in Chinese only, including the schema title and parameter descriptions. Under the policy rule, this is a language/locale constraint presented without any explicit opt-in, alternative language, or documented region-specific justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The schema title and description are written only in Chinese, which creates a natural-language locale constraint in the skill artifact. There is no indication that the skill is region-specific or that users can choose the language, so this appears to impose a fixed locale without documented justification.

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 titles and descriptions exclusively in Chinese, such as the title and multiple field descriptions. Under the language/locale policy rule, forcing a single language without opt-in or documented regional justification can be a policy issue.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

SQP-3 applies to all file types and covers language or locale policy violations. This file's user-facing instructions, parameter descriptions, warnings, and examples are exclusively in Chinese, with no indication that the skill is region-specific or that users may opt into another language.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

文档上下文明确是在说明名为 tiktok-competitor-radar 的技能,但统一输出示例中的 metadata.skill_name 写成了 tiktok-creator-videos。这会让调用方对技能实际身份和输出来源产生混淆,属于文档说明与实际技能意图不一致。

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

The CLI persists fetched TikTok comments to a local JSON file, which creates an unintended data-at-rest copy of potentially sensitive or regulated user-generated content. Even if the data is public, local persistence increases exposure through later unauthorized access, retention beyond user expectations, or accidental inclusion in backups, logs, or source-controlled directories.

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