Back to skill

Security audit

WaveSpeedAI Seedream 4.5 Image Generation/Editing

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent WaveSpeed image-generation skill with disclosed authentication and upload behavior, though users should treat its unpinned npm setup commands cautiously.

Install only if you trust WaveSpeed’s npm packages and account handling. Prefer pinned package versions or a locked project install over npx -y, avoid running npm with elevated privileges, keep WAVESPEED_API_KEY scoped and revocable, and only upload images you intend to send to WaveSpeed.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:17
Finding

Unpinned Third-Party npm Packages Are Installed and Executed

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 17-24
Vulnerability Type: Unpinned third-party dependency execution
Risk Level: Medium

Vulnerable Code

markdown
Install the open-source CLI once and sign in; the CLI stores the key, so never ask the user to paste an API key into the chat:

```bash
npm install -g @wavespeed/cli
wavespeed login          # opens https://wavespeed.ai/accesskey and stores the key
wavespeed status         # confirms you are signed in

For CI or one-off shells, WAVESPEED_API_KEY in the environment also works.

Prefer MCP tools over shell commands? The same platform is exposed by @wavespeed/mcp (npx -y @wavespeed/mcp; tools search_models, get_model_schema, get_price, upload_file, run_model, get_prediction).

text

### Technical Analysis

The skill instructs users to install `@wavespeed/cli` globally and to download and execute `@wavespeed/mcp` through `npx -y`. Neither command specifies an exact reviewed package version. Consequently, npm resolves the package version available at execution time rather than a version whose source and integrity were established during review.

The `npx -y` option is particularly sensitive because it suppresses installation confirmation and immediately executes downloaded package code. The global installation command may also run npm lifecycle scripts under the invoking user's permissions. The project provides no lockfile, package integrity hash, vendored source, or other mechanism for verifying the effective code.

This is a supply-chain exposure. The audit found no evidence that the named packages are currently malicious; exploitation depends on a future or existing compromise of a package, transitive dependency, maintainer account, or package-resolution infrastructure.

### Attack Path

1. An attacker compromises `@wavespeed/cli`, `@wavespeed/mcp`, one of their transitive 
...[truncated 1384 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin each package to an exact reviewed version, for example:
    bash
    npm install -g @wavespeed/cli@<reviewed-version>
    npx --no-install @wavespeed/mcp
    
  2. Install the MCP package as a project dependency from a lockfile instead of allowing npx -y to download and execute the current registry version automatically.
  3. Commit a lockfile with npm integrity metadata and require reproducible installation using npm ci.
  4. Document the expected package version and integrity hash, and verify release provenance before updating it.
  5. Review direct and transitive dependency changes whenever the pinned version is upgraded.
  6. Avoid running npm installation commands with administrator or root privileges.
  7. Execute third-party tooling in a restricted environment with access only to the files and credentials required for the requested operation.
  8. Keep API credentials scoped and revocable, and avoid exposing unrelated sensitive environment variables to the CLI or MCP process.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (2)

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
80% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · SKILL.md (reported line 15)May include surrounding context.

Setup

Install the open-source CLI once and sign in; the CLI stores the key, so never ask the user to paste an API key into the chat:

bash
npm install -g @wavespeed/cli

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

The skill instructs use of npx -y @wavespeed/mcp without pinning a specific version, which causes the latest package version to be fetched and executed at runtime. That creates a supply-chain risk: a compromised publisher account, malicious update, or dependency hijack could lead to arbitrary code execution in the agent environment.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.