Back to skill

Security audit

AI电商专家|达人 UGC 商品图

Security checks across malware telemetry and agentic risk

Overview

The skill matches its IMIVA image-generation purpose, but it needs review because it runs an unpinned external npm tool while passing along a broad environment that may contain secrets.

Review this before installing if your shell or agent environment contains unrelated secrets. Prefer running it in a minimal environment that only exposes the IMIVA token and API URL, and consider pinning the npm package version instead of using `@latest`. Confirm credit usage before creating image tasks.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

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
proc = subprocess.Popen( [npx, "-y", PACKAGE], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, bufsize=1,

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
92% confidence
Finding
The manifest sets `language: zh-CN`, and the document repeatedly targets Chinese users and Chinese platforms without offering a language choice. Under the stated policy, forcing a specific language or locale without opt-in is a natural-language policy violation unless clearly documented as a justified region-specific constraint.

Natural-Language Policy Violations

Low
Confidence
96% confidence
Finding
This Python file contains user-facing error strings in Chinese only, such as the messages raised when `npx` or `MCP_TOKEN` are missing. The policy scope for SQP-3 applies to all file types, and there is no indication that the skill is intentionally region-specific or that users can opt into this locale.

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
os.environ.get("MCP_TOKEN

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
os.environ.copy()

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

No suspicious patterns detected.