T09 · Insecure Skill Coding Practices
- 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
