Back to skill

Security audit

卖家精灵-流量关键词

Security checks across malware telemetry and agentic risk

Overview

This ASIN keyword lookup skill is mostly disclosed, but it also includes account login, API-key generation, billing order creation, configurable credential-bearing endpoints, and persistent local storage that users should review carefully.

Install only if you are comfortable with LinkFox/SellerSprite account onboarding inside the skill, including phone/SMS login, API-key generation, paid credit purchase flows, and local saving of full keyword responses. Use only official LinkFox endpoint environment variables, avoid persisting API keys in shell profiles when possible, and review saved linkfox data files for sensitive business information.

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

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
92% 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
88% confidence
Finding
The skill exposes capabilities to read environment variables, write files, and make network requests, but it does not declare permissions or bound those actions in the manifest. That weakens user and platform visibility into what the skill can access, making abuse or unexpected side effects harder to detect, especially because the skill also persists API responses to disk and relies on API keys from the environment.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
This is a significant description-behavior mismatch: a skill presented as an ASIN traffic keyword lookup also appears to support authentication, account access, plan purchase, order creation, QR-code payment generation, and payment-status polling. Hidden payment and account-management flows materially increase risk because a user invoking a data lookup tool may unknowingly trigger credential handling or billing-related operations beyond the stated purpose.

Description-Behavior Mismatch

High
Confidence
98% confidence
Finding
The file implements account onboarding, SMS login, API key minting, package purchase, and payment QR generation, which is materially unrelated to the declared ASIN traffic-keyword reverse lookup capability. This scope mismatch is dangerous because it introduces credential collection and monetization flows under the cover of a benign analytics skill.

Context-Inappropriate Capability

High
Confidence
97% confidence
Finding
Embedding order creation, payment handling, and QR-code payment flows inside a keyword-analysis skill creates an unjustified financial action surface. In a skill ecosystem, this can mislead users into authorizing purchases unrelated to the stated purpose and raises the risk of fraudulent or manipulative billing behavior.

Context-Inappropriate Capability

High
Confidence
98% confidence
Finding
The code collects SMS verification codes, logs users in, and obtains or generates API keys despite the skill claiming to perform ASIN keyword analysis. This is a dangerous mismatch because it normalizes credential harvesting and token provisioning in a context where users would not reasonably expect account takeover-capable operations.

Vague Triggers

Medium
Confidence
83% confidence
Finding
The trigger condition is overly broad and is designed to activate even when the user does not explicitly request this specific tool. Over-broad auto-invocation raises the chance of unintended external API calls, unexpected credit consumption, and accidental disclosure of ASIN-related queries to a third-party service.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The onboarding instructions direct operators to collect and submit a user's phone number to a registration script, but they provide no explicit privacy notice, consent language, data handling limits, or retention guidance. This creates a real privacy and compliance risk because personal data may be processed unexpectedly or shared through tooling without adequate user awareness.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill instructs operators to modify persistent shell startup files and environment configuration so credentials remain available across sessions, but it does not clearly warn that this changes system state permanently. Storing API keys in shell profiles can expose secrets to other local users, debugging tools, backups, or accidental disclosure if those files are shared.

Missing User Warnings

Medium
Confidence
85% confidence
Finding
The script always persists the full API response to disk, including potentially sensitive business data returned from SellerSprite, before deciding whether to print or summarize. In this skill context, reverse-ASIN keyword and traffic datasets may contain proprietary competitive intelligence, and unconditional storage increases exposure through local disk access, backups, shared workspaces, and temporary fallback directories.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

No suspicious patterns detected.