T08 · Insecure Dependencies
- Location
SKILL.md:56- Finding
Unpinned Third-Party Package Is Automatically Downloaded and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 56–61
Vulnerability Type: Unpinned and automatically executed third-party dependency
Risk Level: MediumVulnerable Code
json { "mcpServers": { "pipeworx-exchange": { "command": "npx", "args": ["-y", "mcp-remote@latest", "https://gateway.pipeworx.io/exchange/mcp"] } } }Technical Analysis
The MCP client configuration invokes
npxwith the-yoption and the mutable package specifiermcp-remote@latest. When this configuration is used,npxmay automatically download and execute whichever package release is identified aslatestat that time.Because the package version and integrity are not pinned, the code executed by users can change after the Skill has been reviewed. The
-yoption also suppresses the normal installation confirmation, reducing the opportunity for users to inspect the dependency before execution.An attacker who compromises the package, its publishing account, or its upstream release process could distribute a malicious version under the
latesttag. This finding does not establish that the current package is malicious; it identifies an unsafe dependency execution pattern.Attack Path
- An attacker compromises the
mcp-remotepackage, its registry publishing account, or the associated release pipeline. - The attacker publishes a malicious package version and assigns it the
latestdistribution tag. - A user starts the documented MCP server configuration.
npx -yretrieves the attacker-controlled release without interactive confirmation.- The downloaded package executes locally with the permissions and environment of the user running the MCP client.
- The payload can perform actions available to that user, including reading accessible files, modifying user-owned data, initiating network connections, or accessing environment variables and credentials available to the process.
Impact Assessment
Success ...[truncated 604 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Replace
mcp-remote@latestwith an exact, reviewed version, such asmcp-remote@x.y.z. - Use a lockfile and package-manager integrity metadata to ensure that the resolved artifact cannot change unexpectedly.
- Prefer installing the dependency through a controlled build or deployment process instead of downloading it dynamically whenever the MCP server starts.
- Remove
-ywhere practical so unexpected package installation requires explicit approval. - Verify the package provenance, maintainer identity, release signatures, and registry integrity before deployment.
- Consider vendoring the reviewed dependency or using an internal package registry containing approved artifacts.
- Run the MCP process in a sandbox or container with minimal filesystem access, restricted environment variables, limited network access, and no administrative privileges.
- Establish dependency monitoring and periodically review pinned versions before applying updates.
- Replace
