Back to skill

Security audit

Temu全球站-定价

Security checks across malware telemetry and agentic risk

Overview

This skill is not clearly malicious, but it bundles broad Temu API proxying, local token handling, file download, payment onboarding, and live price changes into a pricing skill.

Install only after reviewing whether you need the generic proxy, file download, local token store, and billing/onboarding features. Use least-privilege Temu tokens, avoid unmasked token listing or raw token output, keep token files private, verify gateway environment variables, and require explicit user confirmation before any batch price changes or payment/order actions.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Taint TrackingDirect Taint Flow, Variable-Mediated Taint Flow, Credential Exfiltration Chain
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (36)

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
93% 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
90% confidence
Finding
with urlopen(req, timeout=30) as resp:

Lp3

Medium
Category
MCP Least Privilege
Confidence
92% confidence
Finding
The skill exposes environment-variable access, local file writes, and network calls but does not declare permissions or clearly bound those capabilities. In a token-handling integration, this weakens reviewability and increases the chance that secrets or API data are accessed or persisted in ways users and operators do not expect.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
The documented purpose is a narrow five-endpoint global pricing skill, but the file describes substantially broader behavior: arbitrary proxying, file download, local token management, and account onboarding/payment flows. This mismatch defeats user consent and least-privilege expectations, making it easier to use the skill for actions far outside pricing tasks, including handling credentials and payment-related operations.

Description-Behavior Mismatch

Medium
Confidence
93% confidence
Finding
Claiming only five integrated APIs while also exposing a generic proxy for arbitrary Temu API types is a scope-expansion issue. Even if intended for convenience, it bypasses the documented boundary and can enable unreviewed or riskier operations through the same trusted interface.

Context-Inappropriate Capability

Low
Confidence
79% confidence
Finding
Local storage, retrieval, and listing of Temu access tokens are broader than necessary for a price-query/change wrapper and increase the chance of credential exposure on disk. While token helpers can be operationally useful, combining them with an unrelated business API skill expands the attack surface and normalizes persistent credential handling.

Description-Behavior Mismatch

Medium
Confidence
91% confidence
Finding
The file embeds authorization guidance for multiple Temu token acquisition flows that extend beyond the skill's declared scope of Global pricing APIs. In a pricing-only skill, providing broad instructions for obtaining reusable access tokens for unrelated capabilities increases the chance of over-privileged credential collection and misuse if the skill or operator later uses those tokens against non-pricing endpoints.

Context-Inappropriate Capability

Medium
Confidence
95% confidence
Finding
The code explicitly supports 'order-shipping' and 'product-inventory' token-purpose flows even though the skill is described as pricing-only. That mismatch can lead users to grant credentials with broader operational access than necessary, creating a larger blast radius if the token is exposed or if downstream components invoke unrelated APIs.

Description-Behavior Mismatch

Medium
Confidence
93% confidence
Finding
The helper unconditionally writes full API responses to disk under a persistent session directory. For a pricing/auth integration, responses can reasonably contain business-sensitive data, identifiers, and potentially tokens or error payloads, so this expands data exposure beyond simple API forwarding and creates local retention risk.

Context-Inappropriate Capability

Medium
Confidence
95% confidence
Finding
This script retrieves a stored Temu access token and emits the raw credential in JSON to stdout. In an agent-skill context, stdout is often captured by orchestrators, logs, chat transcripts, or downstream tools, so this creates a direct secret-exfiltration path beyond the stated price-query purpose of the skill.

Context-Inappropriate Capability

Medium
Confidence
95% confidence
Finding
This script exposes a capability to enumerate locally stored Temu access tokens, and even supports disabling masking via a user-controlled parameter. That functionality is not aligned with the stated purpose of a Temu price API skill, so it increases the risk of credential discovery, insider misuse, and post-compromise token harvesting from the local environment.

Description-Behavior Mismatch

High
Confidence
98% confidence
Finding
This file implements account onboarding, SMS login, API key generation, subscription discovery, order creation, and payment-status querying, which are outside the declared scope of a Temu Global pricing/repricing skill. Scope divergence is dangerous because it expands the skill from business API access into credential handling and payment workflows, increasing the chance of abuse, phishing-like behavior, and unauthorized billing operations.

Context-Inappropriate Capability

High
Confidence
97% confidence
Finding
The code can create orders and render payment QR codes, enabling real-money purchase flows that are not justified by a price-query/repricing integration. In the context of an agent skill, this is especially risky because it could be invoked unexpectedly to initiate charges or socially engineer users into paying for unrelated services.

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
This script adds a credential-storage capability that is outside the stated scope of a Temu Global pricing API skill. Scope expansion matters because a component advertised for pricing queries and repricing can also collect and persist reusable access tokens locally, increasing the attack surface and enabling later unauthorized API use if the store is compromised.

Context-Inappropriate Capability

Medium
Confidence
94% confidence
Finding
The script accepts a high-value access token and persists it for reuse even though that capability is not clearly necessary for the stated pricing-query/repricing purpose. Unnecessary credential retention increases the blast radius of any local compromise, log exposure, backup leakage, or misuse by other tools that can read the same token store.

Description-Behavior Mismatch

High
Confidence
96% confidence
Finding
This script exposes a Temu signed file download capability even though the skill is described as a pricing/supply-price integration. That scope mismatch is dangerous because it grants access to a different class of operation—retrieving arbitrary signed resources via a user-supplied URL—which can expand data access beyond what users and reviewers would reasonably expect from the manifest.

Intent-Code Divergence

Medium
Confidence
87% confidence
Finding
The docstring and usage example explicitly reference US-site behavior, while the skill metadata says this skill is for Temu Global (non-US/EU). This inconsistency increases the risk of accidental cross-region API use, operator confusion, and misuse of credentials or data paths outside the intended environment, especially in an agent setting where metadata is used to decide when to invoke the skill.

Description-Behavior Mismatch

High
Confidence
95% confidence
Finding
This script exposes a generic file-download path via `global_file_download_call(params)` and accepts a caller-supplied `url`, but the skill metadata declares a Temu Global pricing-focused capability set. That scope mismatch is dangerous because users or downstream agents may invoke an undeclared network/file retrieval primitive that can fetch arbitrary remote resources, expanding the skill beyond pricing operations and potentially enabling data exfiltration, SSRF-style gateway abuse, or retrieval of sensitive documents through the LinkFox/Temu backend.

Intent-Code Divergence

Medium
Confidence
82% confidence
Finding
The module docstring says `US site file download` while the code sets `site=global` by default and imports global-specific helpers. This inconsistency is not just a documentation issue: it can cause operators, reviewers, or calling agents to misunderstand which environment is being accessed, leading to incorrect trust decisions, misrouted requests, or accidental use of the wrong market's credentials/data paths.

Description-Behavior Mismatch

High
Confidence
98% confidence
Finding
The script is implemented as a generic Temu API proxy: it accepts an arbitrary 'type' and forwards caller-supplied 'params' and 'accessToken' to a shared proxy endpoint. That exceeds the skill's declared price-only Global API scope and enables use of unrelated Temu APIs, creating a capability-expansion vulnerability that can be abused to access or modify data outside the intended price-management domain.

Intent-Code Divergence

Medium
Confidence
92% confidence
Finding
The module docstring and usage example explicitly present this file as a general-purpose Temu proxy rather than a price-specific Global skill. That mismatch is dangerous because operators, reviewers, and downstream agents may trust the manifest's narrow scope while the implementation advertises and supports broader API usage, increasing the chance of unintended or unauthorized operations.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill states that complete API responses are always written to disk without explicit warning or opt-in, even though those responses may contain business-sensitive pricing data, identifiers, or tokens. Silent persistence increases the risk of data leakage through local filesystem access, backups, logs, or later accidental sharing.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The documentation explicitly instructs users to save a live Temu access token locally in a predictable file path and shows an example containing an accessToken field, but it does not warn about local credential exposure, file permissions, shell history leakage, backups, or multi-user host risks. Because these tokens authorize business API actions such as price queries and bulk repricing, insecure local storage can lead to unauthorized API use or account abuse if the workstation or home directory is compromised.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
This documentation exposes a batch live-price modification operation for SKU base prices, including exact request structure and executable examples, but does not prominently warn that it changes production pricing data or require explicit confirmation safeguards. In an agent skill context, that increases the chance of accidental or overly broad invocation, which could cause unauthorized or mistaken mass price changes affecting many SKUs and triggering financial, operational, or marketplace compliance impact.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The onboarding instructions explicitly tell the agent to collect a user's phone number and use it for script-based registration, but they do not include any privacy notice, consent language, data-handling limits, or retention guidance. In a support workflow, collecting personal data without clear disclosure increases the risk of unnecessary PII exposure, mishandling, or non-compliant processing.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

No suspicious patterns detected.