Back to skill

Security audit

V0 Dev

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent Chinese-language guide for using v0.dev and related frontend tooling, with disclosed but user-initiated third-party CLI commands that users should run carefully.

Install only if you want Chinese-language help for v0.dev frontend generation. Before running the documented npx commands, use reviewed pinned versions where possible, verify any generated-code URL, run generators in a development workspace without sensitive credentials, and inspect the resulting diff before committing or deploying.

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:58
Finding

Unpinned Third-Party CLI Execution

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 58–62
Vulnerability Type: Unpinned and remotely retrieved npm command-line dependencies
Risk Level: Medium

bash
# Install shadcn/ui in the project
npx shadcn@latest init
# Install the required components
npx shadcn@latest add button card table dialog
# Import v0-generated code through the CLI
npx v0 add <generated-code URL>

Technical Analysis

The documented commands instruct users to retrieve and immediately execute third-party npm packages through npx. The shadcn package explicitly uses the mutable @latest tag, while the v0 package has no version constraint. Consequently, the code executed when users follow these instructions can differ from the version that was previously reviewed.

The npx v0 add operation also accepts a remote generated-code URL. The documentation does not require validation of the URL's origin, review of downloaded content, or inspection of resulting project changes. This creates an additional supply-chain boundary where untrusted code or configuration may be imported.

No evidence shows that the referenced packages or URLs are currently malicious. The risk arises from unsafe dependency retrieval and execution practices rather than a confirmed malicious payload in the audited project.

Attack Path

  1. An attacker compromises a referenced npm package, its publisher account, registry distribution path, or a transitive dependency. Alternatively, the attacker supplies a malicious generated-code URL.
  2. A user follows the instructions and invokes npx shadcn@latest or the unversioned npx v0 command.
  3. npx retrieves a mutable package release and executes its CLI code with the permissions of the invoking user.
  4. The compromised CLI executes malicious behavior, or the remote URL causes attacker-controlled code and configuration to be added to the project.
  5. The malicious content may affect the loc ...[truncated 739 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin every CLI to an exact, reviewed version instead of using @latest or an omitted version.
  2. Record resolved dependency versions and integrity metadata in the project's lockfile.
  3. Review package provenance, publisher identity, release history, and signatures or attestations where available.
  4. Restrict generated-code URLs to documented, trusted HTTPS domains and reject shortened, redirected, or user-controlled locations.
  5. Download and inspect generated content before adding it to the project; do not combine remote retrieval with immediate execution.
  6. Review the complete source diff after each CLI operation, including package scripts, configuration files, dependencies, and build hooks.
  7. Run third-party generators in an isolated container or disposable environment without production credentials, SSH keys, cloud tokens, or unnecessary filesystem access.
  8. Add dependency scanning and secret scanning to continuous integration before imported code can be merged or deployed.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (4)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The description and main instructions are written entirely in Chinese and present the assistant role directly in that language, with no indication that users may choose another language. This can violate a language/locale policy when a skill implicitly constrains interaction language without explicit opt-in or justification.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.