Back to skill

Security audit

爆款商品图复刻专家

Security checks across malware telemetry and agentic risk

Overview

The skill mostly matches its image-replication purpose, but it needs review because it can publish local images, use paid external APIs, handle account/payment setup, and persist response data with limited confirmation.

Install only if you are comfortable with product/reference images being uploaded to public URLs, Amazon listing data and generated images being saved locally, and LinkFox API credentials being used for paid external calls. Use a clean environment with trusted LINKFOX_* endpoint variables, avoid sensitive/proprietary images unless public exposure is acceptable, and prefer self-service account setup over sharing phone/SMS codes through the agent.

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

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:

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

Lp3

Medium
Category
MCP Least Privilege
Confidence
90% confidence
Finding
The skill orchestrates network access, file writes, environment-dependent behavior, and local script execution, but does not declare permissions or capability boundaries. That makes the real trust surface larger than the metadata suggests, increasing the chance that a host agent or reviewer will approve execution without understanding that it uploads files, reads/writes local artifacts, and depends on API credentials.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding
The documented purpose is image replication, but the behavior surface includes account login/payment flows, OSS upload, direct Amazon-detail retrieval, and local caching/landing of large responses. This mismatch is dangerous because users and calling agents may authorize a simple creative workflow while the skill can exfiltrate files, interact with billing or credentials, and persist third-party data locally beyond what the description implies.

Description-Behavior Mismatch

High
Confidence
88% confidence
Finding
The file implements a full account onboarding and commerce workflow—SMS login, API-key issuance, plan listing, ordering, and payment QR generation—which is materially broader than the declared image-generation skill purpose. This scope expansion increases the attack surface and creates opportunities to collect credentials, billing data, and account tokens under the guise of a different feature.

Context-Inappropriate Capability

Medium
Confidence
84% confidence
Finding
Embedding subscription purchase and payment QR creation inside an image-generation skill introduces monetization behavior that users may not expect from the stated functionality. In context, this is risky because it couples content-generation tooling with billing actions and payment artifacts, broadening the possible abuse surface if the skill is invoked automatically or opaquely.

Description-Behavior Mismatch

High
Confidence
95% confidence
Finding
The referenced API documentation is for Amazon product-detail scraping/retrieval and feedback submission, but the skill metadata claims an image-generation/replication purpose. This capability mismatch is dangerous because it can cause the agent to access unrelated external data sources and perform unintended network actions under the guise of a different skill, increasing the risk of data misuse, unauthorized collection, or deceptive behavior.

Context-Inappropriate Capability

Medium
Confidence
90% confidence
Finding
The file includes a generic feedback-posting endpoint unrelated to the advertised image-generation workflow. An agent could use this to transmit user-derived content to a separate external service without clear user awareness, creating an unnecessary exfiltration and integrity risk even if the endpoint appears benign.

Description-Behavior Mismatch

Medium
Confidence
92% confidence
Finding
The script persistently stores full API responses, cache entries, and session metadata on local disk, even though the stated skill metadata describes an image-generation workflow and does not disclose this data retention behavior. If API responses contain product data, account-linked metadata, or other sensitive business information, this creates an unexpected local data exposure surface and retention risk.

Intent-Code Divergence

High
Confidence
97% confidence
Finding
The module documentation promises that writing to /tmp is forbidden and that failure to write to the current directory should raise an error, but the implementation silently falls back to the home directory and then to the system temp directory. This mismatch can cause sensitive API responses and session metadata to be written to less trusted or more broadly accessible locations than operators expect, undermining security assumptions and auditability.

Description-Behavior Mismatch

High
Confidence
95% confidence
Finding
This onboarding script performs phone-based login, token retrieval, subscription browsing, ordering, and payment QR generation, which are materially broader than the stated image-generation purpose. The mismatch increases the chance that users grant credentials and payment actions they would not expect from an image replication skill, making the capability set unusually dangerous in context.

Context-Inappropriate Capability

High
Confidence
96% confidence
Finding
The code can fetch or generate an API token for a group after SMS login, effectively turning a phone verification flow into long-lived credential issuance. In the context of an image-generation skill, this is over-privileged and creates a strong account-compromise primitive if the token is exposed, reused, or obtained through redirected endpoints.

Context-Inappropriate Capability

High
Confidence
92% confidence
Finding
The script implements package purchase and payment QR generation, capabilities unrelated to the manifest’s image-replication description. While not inherently malicious, hidden billing flows are risky because they can trigger unexpected purchases or socially engineer users into payment under the guise of normal skill setup.

Missing User Warnings

Medium
Confidence
88% confidence
Finding
The skill documentation explicitly routes user-uploaded product and reference images to S3 and later writes generated media files to disk, but it provides no disclosure, retention limits, access controls, or user-consent guidance. This creates a real privacy and data-governance risk because users may submit proprietary product assets or sensitive commercial images without being informed how long they are stored or who can access them.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The workflow explicitly instructs the model to output text in whatever language appears in the reference image, without any user confirmation or validation. This can cause unintended language switching, confuse users, and amplify prompt-injection-like control from untrusted reference content because text rendered in images is being allowed to steer output behavior.

Vague Triggers

Medium
Confidence
92% confidence
Finding
The trigger phrases are broad enough to match common user requests like '生成图片' or '帮我画', increasing the chance this skill activates unintentionally. Because the skill can make network calls and write files, accidental invocation can cause unintended external data transmission and local persistence without clear user intent.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill documents that generated images and full API responses are saved under local session directories, including raw API response data with task IDs, status, and temporary URLs, but does not clearly present this as a user-facing warning. This creates a privacy and data-handling risk because users may not realize their inputs and returned artifacts are being persisted locally.

Missing User Warnings

High
Confidence
98% confidence
Finding
The skill explicitly instructs immediate execution upon receiving arguments and forbids waiting for user confirmation, despite performing external API calls, polling, downloading files, and writing to disk. This removes an important consent and review checkpoint, making unintended data transfer, cost incurrence, and local side effects significantly more likely.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The document defines a feedback API that sends free-form `content` to an external public endpoint, but it provides no warning against including user prompts, generated images, listing URLs/ASINs, account data, or other sensitive business information. In an agent workflow, operators may routinely forward conversational context or task details into feedback, causing unintended disclosure of user or merchant data to a third party.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The document explicitly instructs operators to collect a user's phone number and use a script-driven registration/login flow, but provides no privacy notice, consent guidance, retention limits, or secure handling requirements for this personal data and the resulting verification flow. This creates a real privacy and security risk because phone numbers and SMS codes are sensitive authentication-related data that could be mishandled, logged, or exposed through support workflows.

Missing User Warnings

Medium
Confidence
87% confidence
Finding
The script writes the full API task result to disk unconditionally, including metadata such as task IDs, member IDs, URLs, status, and potentially other service-returned content, without explicit user-facing notice or minimization. In shared workspaces or multi-tenant agent environments, this can expose sensitive business data, generated asset URLs, or identifiers to unintended readers.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The skill automatically downloads and stores remote media files returned by the API into the local session directory without clear prior disclosure. This creates privacy and data-retention risk and can also increase exposure to malicious or unexpected content being persisted on disk.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The login command emits the obtained API key directly to stdout as JSON, which can be captured by logs, parent processes, shell history tooling, or orchestration layers. In an agent/automation environment, stdout is often persisted or forwarded, so exposing a bearer credential this way materially increases the chance of credential leakage and account takeover.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

No suspicious patterns detected.