Back to skill

Security audit

Web Deploy

Security checks for vulnerabilities and agentic risk

Overview

This is a straightforward deployment guide, but users should pin the npm/Vercel tools before running its production, secret, or domain commands.

Install only if you want a compact deployment command reference. Before running the commands, replace unpinned npx/npm examples with exact reviewed versions or project-local locked dev dependencies, use least-privileged deployment accounts, and be careful with commands that upload production builds, set secrets, roll back deployments, or change domains.

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

Unpinned npm Packages May Execute Untrusted Third-Party Code

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 9, 19, 26-38, and 68
Vulnerability Type: Unpinned third-party dependency execution
Risk Level: Medium

Vulnerable Code

bash
# Line 9
npx http-server ./dist -p 8080 -c-1

# Line 19
npm run build && npx serve dist

# Lines 26-38
npx vercel link

npx vercel

npx vercel --prod

npx vercel env add SECRET_KEY

# Line 68
npm install -D gh-pages

Technical Analysis

The documented commands execute or install npm packages without pinning them to reviewed versions. If an npx package is not already available locally, npm may download the currently resolved package version from the configured registry and execute it. The gh-pages installation similarly resolves a mutable version because no exact version is specified.

Consequently, the code ultimately executed can differ from the version reviewed when this skill was audited. A compromised package release, transitive dependency, npm account, registry mirror, or package-resolution configuration could introduce arbitrary code. npm lifecycle scripts may also execute during package installation.

The ordinary behavior of the named packages is consistent with the skill's declared deployment purpose, and the audited file contains no evidence that those packages are currently malicious. The risk arises from mutable, unverified dependency resolution.

Attack Path

  1. An attacker compromises a referenced npm package, one of its transitive dependencies, its publisher account, or the registry used by the victim.
  2. The attacker publishes or serves a malicious version that contains an installation lifecycle script or malicious executable behavior.
  3. A user or agent follows SKILL.md and invokes an unpinned npx or npm install command.
  4. npm resolves and downloads the attacker-controlled version.
  5. The malicious code executes with the permissions of the invoking user.
  6. The ...[truncated 915 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin every directly invoked package to an exact, reviewed version, for example:

    bash
    npx --yes http-server@<reviewed-exact-version> ./dist -p 8080 -c-1
    npx --yes serve@<reviewed-exact-version> dist
    npx --yes vercel@<reviewed-exact-version> --prod
    npm install --save-dev --save-exact gh-pages@<reviewed-exact-version>
    
  2. Prefer declaring tools in devDependencies, committing the generated lockfile, and invoking local binaries through reviewed package scripts.

  3. Use npm ci rather than mutable dependency installation in CI and deployment automation so dependency versions and integrity hashes are enforced by the lockfile.

  4. Review direct and transitive dependencies before approving upgrades. Use automated dependency scanning while retaining manual review for deployment tooling.

  5. Configure npm to use a trusted registry and verify that project-level or user-level npm configuration cannot redirect package resolution to an untrusted source.

  6. Run preview and deployment tools with a least-privileged account. Expose only the credentials required for the specific deployment and avoid making unrelated secrets available to the process.

  7. Where supported, verify package provenance, signatures, and published integrity metadata before use.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (8)

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

The skill instructs users to run npx http-server without pinning a package version, which can cause execution of whatever version npm resolves at runtime. If the upstream package or dependency chain is compromised, or a breaking version is published, users could execute unintended code during local preview.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The command npx serve dist uses an unpinned package fetched or resolved at execution time. This creates supply-chain risk because the behavior and code executed can change over time, including in the event of a malicious publish or dependency compromise.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

npx vercel link invokes the Vercel CLI without a pinned version. Because this skill is a deployment guide and the command participates in account/project linking, running an unexpected CLI version increases supply-chain and operational risk, including altered prompts, behavior, or execution of compromised code.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

npx vercel for preview deployment is unpinned, so the exact CLI code executed is not fixed. In deployment workflows this is risky because users may authenticate, upload project contents, and interact with cloud resources through code that can change unexpectedly or be compromised upstream.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

npx vercel --prod triggers production deployment with an unpinned CLI version, which raises the severity of the supply-chain concern because it affects live production changes. A compromised or altered package version could abuse credentials, modify deployment behavior, or deploy unintended artifacts.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

npx vercel env add SECRET_KEY is especially sensitive because it handles secret material through an unpinned CLI. If the resolved package were malicious or unexpectedly changed, it could capture or exfiltrate secrets during entry or transmission.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

npx vercel rollback is another unpinned invocation of the deployment CLI. While rollback is defensive in intent, using an untrusted or changed CLI in a production control path can still affect deployments, credentials, or project state.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

npx vercel domains add mydomain.com performs account/domain configuration through an unpinned CLI. This is risky because domain management is security-sensitive infrastructure, and a compromised or drifting package version could alter or misuse account operations.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.