Back to skill

Security audit

Deploy Pilot

Security checks for vulnerabilities and agentic risk

Overview

This deployment skill appears purpose-built rather than malicious, but it asks for broad production deployment authority and uses mutable command execution with deployment credentials.

Install only if you are comfortable granting an agent production deployment power. Use least-privilege Vercel and GitHub credentials, require explicit approval before pushes, PR merges, domain changes, env-var changes, promotions, or rollbacks, and prefer pinned/local CLI execution instead of unrestricted npx.

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

Unpinned Packages May Be Downloaded and Executed Through npx

Content
View full analysis

Vulnerability Details

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

Vulnerable Code

bash
# 1. TypeScript compilation
npx tsc --noEmit

# 2. Linting
npx next lint

# 3. Unit & integration tests
npx vitest run

The same unsafe execution pattern also appears in SKILL.md when invoking next and vercel, including lines 64, 77, 83, 111, 120, 127, 132-134, 140, 147, and 152.

Technical Analysis

The skill directs the agent to execute package-provided commands using npx without an exact package version and without requiring local-only binary resolution. If a requested executable is unavailable in the project's installed dependencies, npx may resolve a package through the configured package registry, download it, and immediately execute its lifecycle or command code.

Consequently, the code executed during a deployment is not necessarily limited to dependencies reviewed and recorded in the repository lockfile. Its behavior can depend on mutable registry state, package-name resolution, local dependency availability, and registry configuration. This creates a software supply-chain exposure consistent with insecure dependency handling.

The risk is particularly significant for the Vercel commands because the process is expected to have access to VERCEL_TOKEN, as declared in claw.json. A malicious package executed in that context could read process environment variables, access repository files, make outbound requests, modify source code, or issue deployment-related operations using the privileges available to the agent.

Attack Path

  1. A required command such as vercel, vitest, next, or tsc is absent from the project's locally installed dependencies, or local dependency installation has not yet occurred.
  2. The agent follows SKILL.md and invokes the command through npx.
  3. npx resolves the cor ...[truncated 1716 chars]
Remediation
View remediation

Remediation Suggestions

  1. Declare every required Node.js CLI as an explicit dependency or development dependency with reviewed versions.
  2. Commit the package manifest and lockfile, and install dependencies using a lockfile-enforcing command such as npm ci.
  3. Replace download-capable invocations with local-only execution, for example:
    bash
    npx --no-install tsc --noEmit
    npx --no-install next lint
    npx --no-install vitest run
    npx --no-install next build
    npx --no-install vercel list --token "$VERCEL_TOKEN"
    
  4. Alternatively, invoke binaries directly from node_modules/.bin or use package-manager commands configured to reject registry downloads during deployment.
  5. Pin the Vercel CLI and other deployment tools to exact reviewed versions rather than relying on the latest registry release.
  6. Configure an approved registry and enforce lockfile integrity checks in CI.
  7. Run build and test commands in an isolated environment without production deployment credentials. Expose VERCEL_TOKEN only to the deployment stage that requires it.
  8. Scope the Vercel token to the minimum required projects and operations, rotate it periodically, and ensure it is not inherited by unrelated package installation or build processes.
  9. Add a preflight check that fails if required local binaries are missing instead of permitting npx to retrieve them dynamically.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (17)

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.

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.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% 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 69)May include surrounding context.

bash
   git push origin <branch-name>
  1. Vercel auto-deploys preview from GitHub. Monitor via:
    bash
    npx vercel list --token $VERCEL_TOKEN | head -5
    

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.

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.

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.

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.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill instructs users to pass secrets through shell pipelines and CLI commands without warning that values are being transmitted to Vercel and may be exposed through shell history, terminal logging, process inspection, or unsafe operator practices. In a deployment skill that handles production infrastructure, omission of secret-handling cautions materially increases the chance of credential leakage or mishandling.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.