T08 · Insecure Dependencies
- Location
SKILL.md:45- Finding
Unpinned npm Package Is Downloaded and Executed Automatically
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:45-52
Vulnerability Type: Unpinned remote dependency execution
Risk Level: Highjson { "mcpServers": { "pipeworx-bible": { "command": "npx", "args": ["-y", "mcp-remote@latest", "https://gateway.pipeworx.io/bible/mcp"] } } }Technical Analysis
The MCP configuration invokes
npxwith both the automatic-confirmation option (-y) and the mutable package versionmcp-remote@latest. When this configuration is started, npm may download and execute the package selected by the currentlatestdistribution tag without interactive approval.Because
latestcan be changed after the Skill has been reviewed, the code ultimately executed is not fixed to the audited artifact. A malicious package release, compromised npm publisher account, or compromised upstream release process could therefore replace the expected implementation with attacker-controlled code.Although the configuration also contacts
https://gateway.pipeworx.io/bible/mcp, the confirmed vulnerability is the unsafe execution of a mutable npm dependency. The audited project contains no local scripts demonstrating an additional malicious payload.Attack Path
- An attacker compromises the
mcp-remotenpm publisher account, package release process, or another component capable of changing the package'slatestrelease. - The attacker publishes a malicious version and assigns it to the
latestdistribution tag. - A user starts the documented
pipeworx-bibleMCP configuration. npx -yretrieves the attacker-controlled package without requesting confirmation.- The malicious package executes with the permissions and environment of the user running the Agent or MCP client.
- The payload can access or modify resources available to that user, subject to operating-system controls and any sandbox applied by the host.
Impact Assessment
Success ...[truncated 573 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Replace
mcp-remote@latestwith a specific, reviewed version, such asmcp-remote@x.y.z. - Install the dependency through a controlled package-management workflow that uses a committed lockfile and verifies npm integrity hashes.
- Remove
-ywhere practical so unexpected package installation requires explicit approval. - Prefer a locally installed, verified executable over downloading code at MCP startup.
- Review package provenance, publisher controls, release signatures, dependency composition, and security history before approving upgrades.
- Test and approve dependency updates through a change-control process rather than following the mutable
latesttag. - Run the MCP process with least privilege, a minimal environment, restricted filesystem access, and network access limited to required endpoints.
- Replace
