Back to skill

Security audit

product-page-designer

Security checks for vulnerabilities and agentic risk

Overview

This skill is mostly a product-page generator, but it under-scopes external image uploads, unpinned CLI execution, inferred product claims, and possible deployment actions.

Review this skill before installing if you handle unreleased products, client images, or production storefronts. Require explicit approval before any WaveSpeed upload or Netlify deployment, pin or vet any CLI used through npx, and treat generated specifications as placeholders until confirmed by the manufacturer or user.

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:249
Finding
Unpinned Third-Party CLI Execution with External File Upload<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 249–255 **Vulnerability Type**: Unpinned runtime dependency and external data transfer **Risk Level**: Medium ### Vulnerable Code ```bash URL=$(npx @wavespeed/cli upload ./generated.png --json | jq -r .url) # 2. Edit to remove branding PROMPT="Remove all text and brand logos from the image. Keep everything else identical — same lighting, pose, composition, colors. Clean unbranded surface." npx @wavespeed/cli run bytedance/seedream-v4.5/edit \ -i prompt="$PROMPT" \ -i images="[\"$URL\"]" \ --json --download "./clean-{index}.{ext}" ``` The same unsafe dependency-execution and upload pattern is repeated in `references/brand-hallucination-fix.md`, lines 31–39. ### Technical Analysis The workflow invokes `npx @wavespeed/cli` without specifying an audited package version, lockfile, or integrity hash. Consequently, the package resolved at execution time can differ from the package that was originally reviewed. If the package registry account, distribution channel, or a newly published package release is compromised, the retrieved package can execute arbitrary code under the identity running the Agent. The command also uploads a local file to an external service without requiring an explicit consent, sensitivity review, destination disclosure, or file-path restriction. Although image uploading is related to the Skill's stated image-editing workflow, unrestricted use of this pattern could transfer confidential product images or embedded metadata outside the local environment. ### Attack Path 1. The Agent loads the Skill and follows the documented brand-removal workflow. 2. The Agent executes `npx @wavespeed/cli` without a pinned version. 3. `npx` resolves the package version available from the configured package registry at runtime. 4. A compromised or unexpectedly modified package executes with the Agent process's local privileges. 5. Malicious package logic could access files, environ ...[truncated 952 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin the CLI to a reviewed exact version instead of resolving the current release dynamically. 2. Declare the dependency in a package manifest and commit a lockfile with integrity metadata. 3. Install dependencies in a controlled setup phase and use the locally installed binary rather than runtime `npx` retrieval. 4. Verify package provenance, publisher identity, signatures, and checksums where supported. 5. Execute the image-processing CLI in a restricted sandbox with minimal filesystem, credential, and network access. 6. Require explicit user approval before uploading any local asset. 7. Display the selected file path, destination service, and applicable retention policy before transfer. 8. Restrict uploads to files generated inside a dedicated non-sensitive output directory. 9. Remove unnecessary metadata from images before upload. 10. Provide a local-only editing option for confidential assets. ]]>

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:18
Finding
Unsupported Product Specifications May Be Presented as Facts<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, line 18 **Vulnerability Type**: Unsafe generation of unverified product claims **Risk Level**: Medium ### Vulnerable Code ```markdown - **Key specs** (battery, connectivity, waterproof rating, etc.) — if unknown, use standard industry specs for the category ``` ### Technical Analysis The Skill directs the Agent to substitute unknown product specifications with standard category values. These substituted values can subsequently appear in a customer-facing specifications table without being identified as estimates or placeholders. Category norms do not establish the properties of a particular product. This is especially problematic for claims involving waterproof ratings, battery duration, wireless compatibility, health sensors, NFC functionality, or technical certifications. The instruction also conflicts with the later quality-review requirement that the specification table be accurate. An omitted value can therefore become an unsupported factual claim even when neither the user nor manufacturer documentation supplied evidence for it. ### Attack Path 1. A user requests a product page but omits one or more technical specifications. 2. The Agent follows the instruction to use standard industry specifications. 3. The Agent selects plausible category values for the missing fields. 4. The generated specifications table presents those values alongside verified details without distinguishing their source or confidence. 5. The content is passed to developers or published on an e-commerce page. 6. Customers rely on unsupported performance, compatibility, durability, or certification claims when making purchasing decisions. ### Impact Assessment This issue does not grant operating-system privileges or direct access to protected resources. Its scope is the integrity of generated product content and any downstream storefront that publishes it. Potential consequences include misleading customers, un ...[truncated 269 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Never convert unknown specifications into asserted product facts. 2. Represent missing values as `TBD`, `Unknown`, or `Requires manufacturer confirmation`. 3. Clearly distinguish verified values from estimates, examples, and placeholders. 4. Require a source for safety, certification, waterproofing, battery, health, and compatibility claims. 5. Add a pre-publication validation step requiring user or manufacturer confirmation of every factual specification. 6. Store source and confidence metadata for each generated specification. 7. Prevent placeholders from being included in production-ready output unless they are visibly labeled. 8. Update the quality checklist to reject unsupported or inferred product claims. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Description-Behavior Mismatch

Medium
Confidence
91% confidence
Finding
The skill’s scope expands from content generation into application implementation and deployment, which materially increases its operational authority and blast radius. A user invoking a design-oriented skill could be led into code generation, hosting, and release actions that are not clearly bounded, creating risk of unintended changes, insecure deployment steps, or overprivileged agent behavior.

Context-Inappropriate Capability

Medium
Confidence
93% confidence
Finding
Including deployment to Netlify in a product-page design skill introduces an unjustified capability to publish externally, which can expose data, publish unreviewed content, or trigger operational changes beyond the user’s likely intent. The danger is amplified because deployment is presented as part of a validated end-to-end workflow, normalizing release behavior inside a creative/content skill.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill directs users to send prompts and image data to external generation and analysis services without any user-facing privacy or data-handling warning. This can cause unintentional disclosure of proprietary product concepts, unreleased marketing assets, or sensitive image content to third-party providers, especially in cross-border e-commerce contexts where confidentiality may matter.

Missing User Warnings

Medium
Confidence
97% confidence
Finding
The brand-removal workflow explicitly uploads local images to an external CLI service, but gives no notice about data transfer, retention, or third-party processing. Because the images may contain proprietary designs, customer assets, or embargoed product visuals, this omission creates a real risk of accidental data exposure and policy noncompliance.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The reference instructs operators to upload locally saved images to an external service (`npx @wavespeed/cli upload`) as part of a remediation workflow, but it provides no warning about data leaving the local environment or any privacy, retention, or third-party processing implications. In a product-page generation skill, images may contain unreleased designs, customer-provided assets, or other sensitive commercial material, so silent transmission to an external service creates a real confidentiality and compliance risk.

Static analysis

No suspicious patterns detected.