Back to skill

Security audit

AI电商专家|食品饮料电商图片视频

Security checks across malware telemetry and agentic risk

Overview

The skill matches its stated IMIVA ecommerce content purpose, but it runs an unpinned external npm package and passes the full local environment into that process.

Review before installing. Use a dedicated environment with only the IMIVA token and required API URL set, avoid exposing unrelated cloud or account secrets, and consider pinning or independently reviewing the npm package version before relying on it for production work.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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.

Context-Inappropriate Capability

Medium
Confidence
87% confidence
Finding
The manifest describes a focused capability for generating and operating on food-and-beverage ecommerce image/video content via IMIVA MCP. In code, the skill shells out to `npx -y @infimind/ecom-content-cli@latest`, which introduces package execution and dynamic code retrieval as a general runtime capability rather than a content-generation action itself.

Natural-Language Policy Violations

Medium
Confidence
94% confidence
Finding
The metadata explicitly sets `language: zh-CN`, and the document further narrows intended use to Chinese users. This is a natural-language locale constraint presented as a default requirement, without offering the user any language choice or opt-in.

Natural-Language Policy Violations

Medium
Confidence
90% confidence
Finding
The phrase `特别适合...的中文用户` indicates a user-language restriction in the natural-language description. The file does not provide a user choice mechanism or clearly justify why the skill must be limited to Chinese-language users.

Missing User Warnings

Medium
Confidence
88% confidence
Finding
The script launches `npx -y @infimind/ecom-content-cli@latest`, which executes external code and may perform network activity, but there is no confirmation prompt, print/log notice, or explanatory comment/docstring warning the user at the point of execution. For code files, subprocess execution should have some visible disclosure unless it is clearly warned elsewhere in accompanying markdown, which is not present in this file.

Natural-Language Policy Violations

Low
Confidence
92% confidence
Finding
User-facing error strings and command descriptions are written only in Chinese, with no indication that the skill is region-specific or that another language can be selected. The policy requires avoiding forced language or locale constraints unless the choice is explicit or justified.

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.