Back to skill

Security audit

AI电商专家|爆款主图复刻与改造

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent IMIVA ecommerce image-generation helper, but it sends your IMIVA token and selected product media to IMIVA’s MCP service.

Install this only if you trust IMIVA and the npm package it runs. Provide the MCP token through a scoped client secret or clean shell environment, do not use sensitive product/customer images unless you intend to send them to IMIVA, and confirm model, quantity, and credit cost before creating tasks. Pinning the npm package version would reduce supply-chain drift from `@latest`.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (8)

subprocess module call

Medium
Category
Dangerous Code Execution
Content
env = os.environ.copy()
    env["MCP_TOKEN"] = token
    env["API_URL"] = os.environ.get("IMIVA_API_URL", os.environ.get("API_URL", DEFAULT_API_URL))
    proc = subprocess.Popen(
        [npx, "-y", PACKAGE],
        stdin=subprocess.PIPE,
        stdout=subprocess.PIPE,
Confidence
70% confidence
Finding
subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Lp3

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding
Without declared permissions the skill's intent is opaque and cannot be validated.

Natural-Language Policy Violations

Medium
Confidence
89% confidence
Finding
The manifest metadata explicitly sets the skill language to `zh-CN`, and the document consistently targets '中文用户' without indicating that other languages are supported or that the user can opt in to Chinese. This can violate the language/locale policy because it imposes a specific locale rather than presenting it as an optional or justified regional constraint.

Vague Triggers

Medium
Confidence
93% confidence
Finding
This YAML manifest allows implicit invocation, but the file does not define narrow activation conditions, explicit trigger phrases, or exclusion criteria. That makes it unclear when the skill should activate versus not activate, increasing the risk of unintended invocation.

Natural-Language Policy Violations

Medium
Confidence
88% confidence
Finding
The display name, description, and default prompt are all written in Chinese, which indicates a fixed language choice in user-facing behavior. The file does not offer any language or locale opt-in, nor does it document that the skill is intentionally restricted to a Chinese-speaking region or audience.

Natural-Language Policy Violations

Medium
Confidence
96% confidence
Finding
This Python file contains hard-coded Chinese-only error messages shown to end users when prerequisites are missing. The file does not offer a language choice or explain that the skill is intentionally restricted to Chinese users, which creates a natural-language locale policy issue under the language-choice rule.

Env Variable Harvesting

High
Category
Data Exfiltration
Content
npx = shutil.which("npx")
    if not npx:
        raise SystemExit("未找到 npx。请先安装 Node.js 18 或更高版本。")
    token = os.environ.get("MCP_TOKEN", "").strip()
    if not token:
        raise SystemExit("缺少 MCP_TOKEN。请在 IMIVA 的 MCP Token 页面创建后通过环境变量提供。")
    return npx, token
Confidence
70% confidence
Finding
Code accesses environment variables that may contain secrets (API keys, tokens). This is a common pattern for credential theft.

Env Variable Harvesting

High
Category
Data Exfiltration
Content
def invoke(method: str, params: dict | None = None) -> dict:
    npx, token = require_runtime()
    env = os.environ.copy()
    env["MCP_TOKEN"] = token
    env["API_URL"] = os.environ.get("IMIVA_API_URL", os.environ.get("API_URL", DEFAULT_API_URL))
    proc = subprocess.Popen(
Confidence
60% confidence
Finding
Code accesses environment variables that may contain secrets (API keys, tokens). This is a common pattern for credential theft.

Static analysis

No suspicious patterns detected.