Back to skill

Security audit

TikTok官方-达人API

Security checks across malware telemetry and agentic risk

Overview

The skill has a coherent TikTok creator-data purpose, but it also includes account onboarding, token issuance, billing/payment flows, endpoint overrides, and broad local storage that users should review before installing.

Install only if you are comfortable with this skill sending TikTok creator tokens and LinkFox API keys to LinkFox services, storing raw API responses on disk, and potentially guiding users through LinkFox account signup and paid-plan purchase flows. Confirm the endpoint environment variables are trusted and avoid using the onboarding/payment commands unless the user explicitly asks for them.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Taint TrackingDirect Taint Flow, Variable-Mediated Taint Flow, Credential Exfiltration Chain
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (24)

Tainted flow: 'req' from os.environ.get (line 72, credential/environment) → urllib.request.urlopen (network output)

Critical
Category
Data Flow
Content
method="POST",
    )
    try:
        with urlopen(req, timeout=120) as response:
            return json.loads(response.read().decode("utf-8"))
    except HTTPError as e:
        body = e.read().decode("utf-8") if e.fp else ""
Confidence
95% confidence
Finding
with urlopen(req, timeout=120) as response:

Tainted flow: 'url' from os.environ.get (line 235, credential/environment) → requests.post (network output)

Critical
Category
Data Flow
Content
except RuntimeError as e:
        return {"_error": str(e)}
    try:
        r = requests.post(url, json=body or {}, headers=headers, timeout=timeout)
        return r.json()
    except Exception as e:
        body_text = ""
Confidence
95% confidence
Finding
r = requests.post(url, json=body or {}, headers=headers, timeout=timeout)

Tainted flow: 'req' from os.environ.get (line 244, credential/environment) → urllib.request.urlopen (network output)

Critical
Category
Data Flow
Content
headers["Content-Type"] = "application/json"
        req = Request(url, method=method, data=body_bytes, headers=headers)
        try:
            with urlopen(req, timeout=30) as resp:
                return json.loads(resp.read().decode())
        except urllib.error.HTTPError as e:
            status = e.code
Confidence
94% confidence
Finding
with urlopen(req, timeout=30) as resp:

Lp3

Medium
Category
MCP Least Privilege
Confidence
92% confidence
Finding
The skill describes capabilities that access environment variables, write files, and make network calls, but it does not explicitly declare or constrain those permissions. This reduces transparency and weakens reviewability, making it easier for the skill to perform sensitive actions without clear user or platform awareness.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding
The documented purpose is limited to TikTok creator data and shoppable-video operations, but the analyzed behavior reportedly includes SMS login, account/API-key handling, subscription-plan listing, payment-order creation, QR-code payment generation, and order-status checks. That mismatch is dangerous because it expands the trust boundary into authentication, billing, and account-management flows users did not request or consent to.

Intent-Code Divergence

Medium
Confidence
95% confidence
Finding
The skill says requests consume credits earlier, then later states '不消耗积分' (does not consume credits). Inconsistent billing semantics can mislead users into authorizing actions they would otherwise avoid, creating financial and trust risks.

Description-Behavior Mismatch

Medium
Confidence
86% confidence
Finding
The skill claims to exclude authorization-related functionality, yet instructs the agent to automatically call a Feedback API for broad unrelated situations, including praise, dissatisfaction, or any perceived improvement point. This creates undisclosed secondary network activity and possible exfiltration of user interaction metadata beyond the core creator-data task.

Context-Inappropriate Capability

Medium
Confidence
88% confidence
Finding
The skill is described as a TikTok creator data/video integration, but this file embeds unrelated account onboarding and billing purchase procedures for the LinkFox gateway. That expands the skill's operational scope into credential acquisition, payment guidance, and account creation, increasing the chance an agent solicits sensitive data or drives users into unintended account and purchase flows.

Intent-Code Divergence

High
Confidence
94% confidence
Finding
The metadata explicitly says this skill does not include creator authorization, yet the document instructs the agent to handle auth failures by acquiring API keys and driving scripted registration/login. This contradiction can cause the skill to bypass intended separation of duties and steer users through unauthorized credential recovery or account provisioning paths that should belong to a dedicated auth component.

Description-Behavior Mismatch

Medium
Confidence
93% confidence
Finding
The docstring promises that writing to /tmp is forbidden and that an unwritable current directory should cause an error, but the implementation silently falls back to home and temporary directories. This mismatch can cause sensitive API responses to be persisted in locations with different retention, sharing, or visibility properties than users and reviewers expect.

Description-Behavior Mismatch

High
Confidence
99% confidence
Finding
This file implements LinkFox account onboarding, SMS login, API-key issuance, plan listing, ordering, and payment workflows, which are materially outside the declared TikTok creator/profile/video operations in the manifest. Such hidden scope expansion increases the chance of credential capture, unauthorized account actions, and user deception because operators may invoke functionality the user did not intend to grant.

Description-Behavior Mismatch

High
Confidence
99% confidence
Finding
The manifest explicitly says this skill does not include creator authorization, yet the code performs login and API-token retrieval/generation. That mismatch is dangerous because it conceals credential-handling behavior from reviewers and users, making secret issuance appear as a benign TikTok data skill operation.

Context-Inappropriate Capability

High
Confidence
98% confidence
Finding
The skill can fetch purchasable plans, create orders, and render payment QR codes even though billing is unrelated to TikTok creator data and shoppable-video management. Embedding purchase flows in an unrelated skill creates risk of unauthorized charges, social engineering, and abuse of the agent as a payment funnel.

Vague Triggers

Medium
Confidence
81% confidence
Finding
The trigger conditions are intentionally broad, causing the skill to activate whenever a request loosely involves TikTok creator data or shoppable-video workflows. Overbroad activation increases the chance of unintended invocation, unnecessary data handling, and accidental use of sensitive creator tokens in contexts where a narrower tool would be more appropriate.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill mandates writing full API responses to local JSON files but does not clearly warn users that creator/account-related data may be stored on disk. Local persistence of API payloads increases the exposure window for sensitive data through filesystem access, backups, logs, or later reuse by other tools.

Missing User Warnings

Medium
Confidence
88% confidence
Finding
These examples document outbound calls carrying creator access tokens and user-supplied content to external services, but they do not include an explicit warning about handling secrets, minimizing logged content, or obtaining user consent. In an agent setting, that omission increases the chance that tokens or sensitive media metadata are exposed in logs, transcripts, debugging artifacts, or sent without adequate notice.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The documentation describes publishing shoppable videos to TikTok without a clear user-facing warning that this action has irreversible external side effects, including public posting and product association. In an autonomous or semi-autonomous agent workflow, that omission can cause accidental publication, reputational harm, or unauthorized commerce actions if the user did not fully understand that content would be posted externally.

Vague Triggers

Medium
Confidence
79% confidence
Finding
The file tells the agent to invoke onboarding whenever broad auth/billing error text appears, including generic strings like 'unauthorized' or quota-related messages. Loose trigger criteria can cause the skill to activate outside its intended context and start account-recovery or payment workflows based on ambiguous errors, leading to over-collection of data or confusing, unsafe actions.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The instructions direct the agent to ask users for a phone number and then use it in a scripted registration/login flow, but provide no privacy disclosure, data-handling limits, or consent language. Collecting personal contact data in a support workflow without clear safeguards creates privacy and social-engineering risk, especially in a skill whose primary purpose is unrelated to user identity enrollment.

Missing User Warnings

Medium
Confidence
84% confidence
Finding
The script transmits arbitrary user-supplied parameters together with session/app metadata to a remote API without an execution-time warning or consent checkpoint. In this skill context, those parameters likely include TikTok creator access tokens or identifiers, so silent forwarding increases privacy and secret-handling risk.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The script caches and stores full API responses on disk, including under fallback locations such as the home directory or temp directory, without an execution-time warning. Because this skill handles creator profile, shop product, and shoppable-video operations, stored responses may contain tokens, account data, or business-sensitive content that persists beyond the immediate task.

Missing User Warnings

Medium
Confidence
88% confidence
Finding
The code retrieves or generates API tokens and sends authentication credentials over the network without any user-facing disclosure in this file that token minting is occurring. In the context of a mislabeled skill, silent credential handling is especially risky because users may believe they are only accessing TikTok creator data, not provisioning LinkFox API access.

Missing User Warnings

Medium
Confidence
83% confidence
Finding
The order flow writes QR payment images to disk in a session directory without clearly warning the user or documenting retention. Payment artifacts on disk can expose transaction links or order metadata to other local users, later processes, or workspace sync tools, especially in shared agent environments.

Ssd 3

Medium
Confidence
95% confidence
Finding
Automatically storing full API responses in session-linked local files can capture sensitive creator profile data, commerce details, and possibly authentication artifacts in plaintext workflows. Session-linked filenames also make correlation easier, increasing privacy and lateral-access risk if the project directory is shared or compromised.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

No suspicious patterns detected.