Back to skill

Security audit

主图点击率 A/B 测试素材

Security checks across malware telemetry and agentic risk

Overview

This skill connects to IMIVA for ecommerce media generation, but it exposes broader paid MCP actions and environment access than the main-image A/B testing purpose clearly scopes.

Review before installing. Use a dedicated IMIVA token, run it from an environment that does not contain unrelated secrets, confirm credit costs before creating tasks, and consider pinning the NPM package version and limiting use to the intended IMIVA tools.

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
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
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
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.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
描述把该技能限定为面向商品主图 CTR/A/B 测试素材生成的专用能力,并明确声称核心调用 create_product_main_image_task。但代码没有实现任何与主图生成、构图变体、预算确认、任务追踪或结果交付相关的专门逻辑;它只是启动官方 IMIVA MCP 包,通过 JSON-RPC 提供两个通用动作:列工具和按名称调用任意工具。因此代码能力明显宽于描述,属于未在描述中说明的通用工具调用能力,构成不匹配。

Natural-Language Policy Violations

Medium
Confidence
91% confidence
Finding
The markdown states the skill is particularly suitable for '中文用户', and the metadata also fixes the language to zh-CN, but the document does not offer any user language choice or explain that the skill is intentionally limited to a China-specific compliance or regional context. Under the policy, forcing a specific language without user opt-in is a natural-language locale policy violation.

Vague Triggers

Medium
Confidence
90% confidence
Finding
This manifest allows implicit invocation, but the file does not define any explicit trigger phrases, scope limits, or exclusion conditions. Combined with the broad default prompt description, this creates ambiguity about when the skill should activate versus when it should not.

Natural-Language Policy Violations

Medium
Confidence
96% confidence
Finding
This Python file contains natural-language strings such as error messages and help text in Chinese only, which forces a specific language for users interacting with the skill. The policy allows fixed locale behavior only when the skill offers language choice or clearly documents a justified regional constraint, neither of which is present here.

Natural-Language Policy Violations

Low
Confidence
92% confidence
Finding
The argument parser description and command help text are presented only in Chinese, which is a natural-language locale restriction. Because no opt-in or alternative language handling is provided, this conflicts with the language/locale policy requirement.

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.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

No suspicious patterns detected.