Back to skill

Security audit

UGC Fashion & Activewear Product Video Generator — Fitness Ecommerce Content Creator for Social Media Influencers on TikTok, Instagram Reels

Security checks for vulnerabilities and agentic risk

Overview

The skill does what it claims, but its command templates and third-party upload flow need user review before installation.

Review this skill before installing. Use it only with non-sensitive images you are comfortable sending to IMA Studio, keep IMA_API_KEY in a secret-safe environment variable, and avoid passing untrusted file paths, URLs, brand names, or prompt text unless the runner invokes the CLI without shell interpolation. Prefer a pinned dependency and lockfile.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
Findings (2)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:66
Finding

Shell Command Injection Through Unsafely Interpolated User-Controlled Values

Content
View full analysis
--json ``` ```bash ima create-task \ --task-type image_to_video \ --model wan2.6-i2v \ --param prompt="" \ --param input_images="" \ --param duration=10 \ --param aspect_ratio=9:16 \ --wait --json ``` ```bash ima create-task \ --task-type text_to_speech \ --model seed-tts-1.1 \ --param prompt="" \ --wait --json ``` ### Technical Analysis The Skill instructs the Agent to insert an outfit-image path, image URL, assembled video prompt, and voiceover script directly into shell-command templates. The local image path is unquoted. The prompt, URL, and script placeholders are surrounded by double quotes, but double quotes alone do not make arbitrary data safe for shell evaluation. Embedded quotation marks can terminate the intended argument, while command substitutions and other shell constructs may still be evaluated when the final command string is executed by a shell. Several of these values can incorporate user-controlled data, including: - The local image path or supplied URL - The optional brand value - The optional outfit-description override - Content included in generated prompts or narration No validation, escaping rules, argument-array invocation, or prohibition against shell evaluation is documented. Consequently, maliciously crafted input can alter the command structure rather than remaining a single inert CLI argument. ### Attack Path 1. An attacker supplies an outfit path, URL, brand, or outfit description containing shell-significant content. 2. The Agent incorporates that content into the image upload command, generated prompt, image URL argument, or TTS script. 3. The Agent follows the Skill instructions and executes the as ...[truncated 934 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
package.json:4
Finding

Third-Party CLI Dependency Is Not Reproducibly Pinned

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (4)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The keyword file is an extremely broad, unconstrained trigger list covering many adjacent commercial and social-media phrases. In an agent skill, this can cause over-activation on loosely related user input, leading the skill to engage outside its intended scope, increasing the chance of policy bypass, misrouting, spammy invocation, or unintended handling of sensitive or disallowed requests. The ecommerce/influencer context makes this somewhat more dangerous because many generic marketing terms overlap with unrelated user requests, making accidental triggering more likely at scale.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly instructs uploading a local user-provided image to a third-party service via ima upload but does not warn the user that local file contents will be transmitted off-device. This creates a real privacy and data-handling risk, especially if users provide sensitive, proprietary, or personal images under the assumption the processing is local.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

The skill requires an IMA_API_KEY credential but provides no guidance about secure handling, storage, or non-disclosure of that secret. While the file does not directly expose the key, the absence of credential-safety guidance increases the chance of accidental leakage through logs, screenshots, shell history, or prompt/tool output.

Content

No source excerpt is available for this finding.

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
92% confidence
Finding

The dependency uses a caret range (^0.1.8), which permits automatic installation of newer compatible versions within the 0.x line. This creates supply-chain risk because builds are not fully reproducible and a compromised or breaking upstream release could be pulled in without explicit review.

Content

Scanner excerpt · package.json (reported line 5)May include surrounding context.

json
"name": "ugc-fashion-activewear-product-video-generator",
  "private": true,
  "dependencies": {
    "imastudio-cli": "^0.1.8"
  }
}

Static analysis

No suspicious patterns detected.