Back to skill

Security audit

亚马逊商品图套件 Amazon Product Image Suite

Security checks across malware telemetry and agentic risk

Overview

This skill matches its stated Amazon product-image purpose, but needs review because it installs and runs a third-party CLI and tells the agent to pass user-influenced prompts through terminal commands.

Review this skill before installing. Prefer isolated `npx` or a sandbox over global installation, verify the `@dlazy/cli` package provenance, avoid sending sensitive product media or private files, and do not let untrusted product text be placed directly into shell commands without safe argument handling.

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)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:10
Finding
Execution of an Unreviewed Third-Party npm Package<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:10, 51-57`; identical content in `SKILL-cn.md:10, 51-57` **Vulnerability Type**: Third-party dependency and supply-chain risk **Risk Level**: Medium ### Vulnerable Code Snippet ```json "requires": { "bins": ["npm", "npx"] }, "install": "npm install -g @dlazy/cli@1.2.3", "installAlternative": "npx @dlazy/cli@1.2.3" ``` ```bash npx @dlazy/cli@1.2.3 <command> ``` The Skill also recommends global installation through: ```bash npm install -g @dlazy/cli@1.2.3 ``` ### Technical Analysis The Skill requires downloading and executing the external `@dlazy/cli` npm package. Neither the package implementation nor its transitive dependencies are included in the audited project, so their behavior cannot be verified from the two reviewed files. Pinning the package to version `1.2.3` reduces version drift, but it does not provide cryptographic integrity verification, a reviewed lockfile, or protection against compromise of the npm account, published artifact, or transitive dependency graph. npm package installation may also execute lifecycle scripts with the permissions of the invoking user. Global installation increases exposure by placing the package in a shared executable location and making it available beyond the lifetime of the current Skill operation. The documentation contains an additional version-integrity inconsistency: it states that the install field is pinned to `1.0.9`, while the actual metadata and commands use `1.2.3`. This ambiguity can interfere with reproducible review and deployment. ### Attack Path 1. The user or Agent invokes the Skill. 2. The Skill directs the environment to run `npm install -g @dlazy/cli@1.2.3` or `npx @dlazy/cli@1.2.3`. 3. npm retrieves the package and its transitive dependencies from an external registry. 4. Package lifecycle scripts or CLI initialization code execute with the invoking user's privileges. 5. If the published package or any dependency is compr ...[truncated 1022 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Vendor or otherwise include the exact CLI source and dependency lockfile in the review scope. 2. Verify the npm artifact with a trusted cryptographic digest before execution. 3. Lock all transitive dependencies and perform automated dependency, provenance, and malware scanning. 4. Prefer a reviewed local binary or package installation over `npx`, which retrieves executable content at invocation time. 5. Avoid global installation. Install into an isolated project directory or disposable container. 6. Disable npm lifecycle scripts where operationally possible, such as by using `--ignore-scripts`, after confirming that the package does not legitimately require them. 7. Run the CLI in a sandbox with restricted filesystem access, a minimal environment, and network access limited to documented endpoints. 8. Correct the `1.0.9` versus `1.2.3` documentation inconsistency and define one reviewed version as the authoritative dependency. 9. Document package publisher verification, expected checksums, dependency-review procedures, and incident-response steps for package compromise. ]]>

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:207
Finding
Shell Command Injection Through Prompt Interpolation<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:207-220`; identical content in `SKILL-cn.md:207-220` **Vulnerability Type**: Shell command injection **Risk Level**: High ### Vulnerable Code Snippet ```bash dlazy seedream-4.5 --prompt "..." ``` The surrounding instructions require the Agent to execute this command in a terminal after constructing the prompt from user-provided product information. They do not require argument-array execution, shell escaping, or validation of shell control syntax. ### Technical Analysis The image prompt is influenced by user-provided product descriptions, features, audience information, and requested content. The Skill demonstrates inserting that generated prompt into a double-quoted shell argument. Double quotes are not a universal command-injection defense. Depending on the shell and operating system, command substitutions, variable expansions, quote termination, escape sequences, redirections, and other metacharacters can still be interpreted. The Skill discusses PowerShell behavior but does not define a safe PowerShell argument-passing mechanism. It may also run under POSIX-compatible shells, where constructs inside double quotes can trigger command substitution. An attacker can provide product content crafted so that the Agent preserves shell-significant syntax in the generated prompt. If the Agent then builds a command by textual interpolation and passes it through a shell, the shell may interpret part of the prompt as executable syntax rather than as one literal argument. User confirmation of the displayed prompt does not neutralize the vulnerability. A malicious user can intentionally confirm the payload, and a benign user may not recognize shell syntax embedded in a long image prompt. ### Attack Path 1. An attacker supplies product information containing shell control syntax or command-substitution expressions. 2. The Agent incorporates the attacker-controlled text into the first image-generation ...[truncated 1431 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Do not construct the CLI invocation as a shell command string. 2. Invoke the executable directly through a process API using a structured argument array, for example: ```text executable: dlazy arguments: ["seedream-4.5", "--prompt", generatedPrompt] ``` 3. Explicitly disable shell interpretation in the process-execution API. 4. If a shell is unavoidable, use a platform-specific, well-tested argument-escaping library rather than manual quoting. 5. Validate prompts before execution and reject unexpected control characters, quote delimiters, command substitutions, redirection syntax, and line breaks. Validation should be defense in depth rather than the primary control. 6. Keep the command executable and subcommand fixed; never derive them from user input. 7. Run the generation process in a sandbox with minimal filesystem permissions and narrowly restricted network access. 8. Remove sensitive environment variables from the child process and provide only the credentials required for image generation. 9. Add security tests containing adversarial prompt values for POSIX shells, PowerShell, and Windows command processing. 10. Update both Skill documents to mandate direct process invocation and provide safe, platform-specific examples. ]]>

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (5)

Context-Inappropriate Capability

Medium
Confidence
88% confidence
Finding
The skill explicitly instructs the agent to execute terminal commands and use an external CLI to perform generation, which expands the agent's capability from image-planning into code/command execution. In a skill file treated as untrusted content, this creates command-execution and supply-chain risk, especially because the workflow encourages installing and invoking a third-party package and handling local files through that tool.

Intent-Code Divergence

Medium
Confidence
81% confidence
Finding
The documentation downplays risk by claiming the skill itself will not access network or files, while simultaneously stating that local file paths are uploaded to remote storage and results are retrieved via the CLI. That contradiction can mislead users or agents about actual data flow, increasing the chance that sensitive local media is transmitted off-host without fully informed consent.

Intent-Code Divergence

Medium
Confidence
94% confidence
Finding
The skill downplays risk by stating it 'will not' access the network or filesystem, while its documented operation explicitly requires a CLI that uploads local files to remote endpoints and calls hosted APIs. This mismatch can mislead users or orchestrators about data exfiltration and trust boundaries, increasing the chance that sensitive local media or metadata is transmitted without informed consent.

Context-Inappropriate Capability

Medium
Confidence
91% confidence
Finding
The skill instructs the agent to execute terminal commands directly, including authenticated CLI operations that can read local configuration, use stored credentials, and upload files to external services. For an image-design skill, granting shell execution materially expands the attack surface from content generation to arbitrary local action, especially if prompts or parameters are later influenced by untrusted user input.

Vague Triggers

Medium
Confidence
83% confidence
Finding
The trigger phrases are broad, generic descriptions of Amazon image work rather than precise invocation terms, so the skill may activate in contexts where the user did not intend to authorize this toolchain. Because this skill can lead to CLI use, remote API calls, and media uploads, accidental invocation increases the chance of unnecessary data exposure or unsafe tool use.

VirusTotal

64/64 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.