Back to skill

Security audit

AI电商专家|首尾帧商品视频

Security checks across malware telemetry and agentic risk

Overview

The skill is mostly coherent for IMIVA video generation, but it runs an unpinned external npm MCP helper with broad environment inheritance and broad implicit activation.

Review this before installing if your environment contains sensitive variables. Use it only in a controlled shell with the minimum required `MCP_TOKEN` and API URL, and be aware it may run the latest remote npm helper and submit paid IMIVA generation tasks after confirmation.

SkillSpector

By NVIDIA
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 (9)

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.

Vague Triggers

Medium
Confidence
87% confidence
Finding
This markdown file is in scope for vague-trigger review. The description says 'Use this skill for IMIVA ecommerce content, product images, product detail pages, KOC seeding, product video, viral creative recreation, marketplace listing and social commerce workflows,' which is a very broad invocation description covering many common ecommerce tasks without explicit boundaries or negative examples for when not to use the skill.

Natural-Language Policy Violations

Medium
Confidence
92% confidence
Finding
The metadata sets the skill language to 'zh-CN', and the content further targets '中文用户' without offering any language-choice mechanism. Under the policy rule, a fixed locale is a violation unless the constraint is explicitly justified as region-specific or the user is given an opt-in choice.

Vague Triggers

Medium
Confidence
88% confidence
Finding
The manifest enables implicit invocation at L7, but the file does not define any narrow trigger conditions, exclusions, or scoped contexts for when the skill should activate. This creates ambiguity about when the skill may be invoked and increases the risk of unintended activation from broadly related e-commerce requests.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The display name, description, and default prompt are all written in Chinese, and there is no indication that users may choose another language or locale. This can violate language/locale policy expectations when the skill is presented to a broader user base without opt-in or documented regional limitation.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The error messages shown to users are hard-coded in Chinese, and the CLI description/help text also uses Chinese elsewhere in the file. For a general-purpose skill helper, this imposes a specific language on users without opt-in or any documented justification that the tool is intentionally region- or locale-specific.

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.