T08 · Insecure Dependencies
- Location
SKILL.md:48- Finding
Unpinned Third-Party Package Is Downloaded and Executed Automatically
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 48–49
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumVulnerable Code
json { "mcpServers": { "pipeworx-econdata": { "command": "npx", "args": ["-y", "mcp-remote@latest", "https://gateway.pipeworx.io/econdata/mcp"] } } }Technical Analysis
The setup configuration invokes
npxwithmcp-remote@latest. This causes an unspecified, current release of a third-party npm package to be downloaded and executed. The effective package code can therefore change after the Skill has been audited. The-yoption automatically accepts installation prompts, reducing the opportunity for users to inspect or reject an unexpected package version.No evidence in the reviewed project establishes that the current package is malicious. The vulnerability arises from the absence of an exact version pin, lockfile, or integrity verification, which exposes installation to upstream package or publisher-account compromise and malicious future releases.
Attack Path
- An attacker compromises the npm publisher account, package publication process, or another relevant part of the
mcp-remotesupply chain. - The attacker publishes a malicious release and causes it to resolve through the npm
latesttag. - A user configures or starts the Skill using the documented setup.
npx -y mcp-remote@latestretrieves the attacker-controlled release without requesting confirmation.npxexecutes the downloaded package under the account running the Agent.- The malicious package can perform operations permitted to that account, such as reading accessible files, making network requests, modifying user-owned data, or launching additional processes.
Impact Assessment
Successful exploitation would permit arbitrary code execution with the privileges of the user or service account running the MCP configuration. The resulting scope depends on that account's pe ...[truncated 411 chars]
- An attacker compromises the npm publisher account, package publication process, or another relevant part of the
- Remediation
View remediation
Remediation Suggestions
- Replace
mcp-remote@latestwith an exact, reviewed version, for example:json "args": ["-y", "mcp-remote@X.Y.Z", "https://gateway.pipeworx.io/econdata/mcp"] - Review the pinned release and its transitive dependencies before deployment.
- Use a lockfile and npm integrity metadata where the deployment model permits, ensuring reproducible dependency resolution.
- Avoid automatic acceptance with
-yin security-sensitive installation workflows, or preinstall the reviewed dependency through a controlled build process. - Retrieve packages only from a trusted, explicitly configured registry and apply organizational package allowlisting where available.
- Run the MCP process under a dedicated least-privilege account or sandbox with restricted filesystem, credential, process, and network access.
- Establish a controlled update process that reviews, tests, and approves each package upgrade before changing the pinned version.
- Replace
