Back to skill

Security audit

AI电商专家|3C 数码电商图片视频

Security checks for vulnerabilities and agentic risk

Overview

The skill matches its IMIVA ecommerce content purpose, but it runs an unpinned external npm MCP helper with credentials and a broader inherited environment than necessary.

Install only if you trust the IMIVA service and the @infimind npm package. Prefer pinning the npm package version, running it with a minimal environment containing only MCP_TOKEN and API_URL, and using a scoped/revocable token. Confirm model, quantity, and credit budget before creating tasks, and only submit media you are authorized to upload.

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

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.

Vague Triggers

Medium
Confidence
92% confidence
Finding
The description says to '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 wide set of common business phrases rather than a narrowly scoped trigger. In a markdown skill description, this can cause unintended invocation because it does not define clear boundaries or exclusion conditions for when this skill should or should not activate.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The text states the skill is especially suitable for '中文用户' and the metadata fixes the language as 'zh-CN', but the document does not present this as an optional language preference or user-selectable locale. This creates a natural-language locale policy concern because the skill appears to force a specific language context rather than offering choice.

Natural-Language Policy Violations

Medium
Confidence
93% confidence
Finding
This Python file contains user-facing error strings entirely in Chinese, and the CLI description/help text elsewhere in the file is also Chinese-only. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the tool is clearly documented as locale-specific, which is not stated here.

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.