T08 · Insecure Dependencies
- Location
SKILL.md:10- Finding
Globally Installed Third-Party npm Package Executes with Access to an API Credential
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 10–24
Vulnerability Type: Supply-chain exposure through global installation and execution of an unaudited third-party dependency
Risk Level: Mediumyaml requires: env: - PPSPY_API_KEY bins: - npm install: command: npm args: - install - -g - "ppspy-mcp-server@1.0.1" primaryEnv: PPSPY_API_KEY emoji: "🔍" homepage: https://www.ppspy.com mcpServers: ppspy: command: ppspy-mcp-server env: PPSPY_API_KEY: "{{PPSPY_API_KEY}}"Technical Analysis
The Skill instructs the host to retrieve
ppspy-mcp-server@1.0.1from the configured npm registry, install it globally, and execute the resulting command. The package implementation, source repository, cryptographic integrity value, and build provenance are not included in the audited project, so its installation and runtime behavior cannot be verified from the supplied artifact.Pinning the dependency to version
1.0.1limits version drift but does not verify that the downloaded artifact is trustworthy. npm packages may run lifecycle scripts during installation. After installation, the package is launched withPPSPY_API_KEYin its process environment. Consequently, a malicious or compromised package artifact could execute commands during installation or runtime and read or transmit that credential.Global installation also expands the package's effect beyond an isolated project directory. The actual privileges available depend on the account running npm and the MCP server; the reviewed file does not explicitly request elevation.
Attack Path
- An attacker compromises the specified npm package release, its publisher account, the configured npm registry, or another relevant package in its dependency chain.
- Skill installation runs
npm install -g ppspy-mcp-server@1.0.1. - npm downloads the affected package and dependencies; app ...[truncated 1150 chars]
- Remediation
View remediation
Remediation Suggestions
- Publish and reference the authoritative source repository and reproducible build information for
ppspy-mcp-server. - Verify the package tarball against a trusted cryptographic digest or signed provenance before installation.
- Audit the package, its transitive dependencies, and all npm lifecycle scripts before deployment.
- Avoid global installation. Install the dependency in a dedicated, locked project environment and execute the verified local binary.
- Use a lockfile or equivalent immutable dependency manifest that records integrity hashes for the complete dependency graph.
- Disable npm lifecycle scripts during installation where compatible, then explicitly run only reviewed setup steps.
- Run the MCP server under a dedicated, unprivileged account or sandbox with restricted filesystem and network access.
- Supply a narrowly scoped, revocable PPSPY API key with appropriate quota and billing controls. Rotate it immediately if package compromise is suspected.
- Permit outbound traffic only to documented PPSPY API endpoints if the runtime environment supports network allowlisting.
- Avoid installing the package with root or administrator privileges and monitor the package process for unexpected file access, child processes, and network destinations.
- Publish and reference the authoritative source repository and reproducible build information for
