T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:21- Finding
Automatic Execution of an Unpinned Remote npm Package
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:21-25
Vulnerability Type:T03: Remote Payload Retrieval and Execution, T08: Insecure Dependencies
Risk Level: MediumVulnerable Code:
json { "mcpServers": { "pipeworx-marine": { "command": "npx", "args": ["-y", "mcp-remote@latest", "https://gateway.pipeworx.io/marine/mcp"] } } }Technical Analysis
The configuration invokes
npxwithmcp-remote@latest. This causes npm to retrieve and execute whichever package release is associated with the mutablelatesttag at invocation time. Consequently, the code executed on a user's system may differ from the code that existed when the Skill was reviewed.The
-yoption automatically accepts installation prompts, removing an opportunity for the user to inspect or reject the downloaded package. No exact version, lockfile, package integrity hash, vendored source, or other reproducibility control is supplied.Attack Path
- An attacker compromises the
mcp-remotepackage, its maintainer account, its publishing credentials, or the relevant package-distribution infrastructure. - A malicious release is published and assigned the
latestdistribution tag. - A user configures or starts the Skill using the documented connection instructions.
npx -y mcp-remote@latestautomatically downloads the attacker-controlled release without an interactive confirmation.- The malicious package executes locally under the account and environment used to launch the Agent.
Impact Assessment
Successful exploitation could provide arbitrary code execution with the privileges of the user running
npx. Depending on that user's permissions and environment, malicious code could read accessible files and environment variables, access Agent data, alter local files, invoke network services, or execute additional commands.The package invocation does not itself demonstrate t ...[truncated 171 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Replace
mcp-remote@latestwith an explicitly audited, exact version such asmcp-remote@x.y.z. - Install the dependency through a project manifest and committed lockfile rather than downloading an unconstrained release at runtime.
- Enforce package integrity verification through lockfile integrity metadata, trusted registry configuration, or a verified vendored artifact.
- Remove
-ywhere practical so unexpected installation activity is not accepted automatically. - Run the MCP client in a restricted environment with minimal filesystem access, limited environment variables, and constrained network permissions.
- Establish a dependency update process in which new versions are reviewed and tested before the pinned version is changed.
- Replace
