T08 · Insecure Dependencies
- Location
SKILL.md:46- Finding
Unpinned npm Package Is Automatically Downloaded and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 46–47
Vulnerability Type: Unpinned third-party dependency execution
Risk Level: MediumVulnerable Code
json { "mcpServers": { "pipeworx-flood": { "command": "npx", "args": ["-y", "mcp-remote@latest", "https://gateway.pipeworx.io/flood/mcp"] } } }Technical Analysis
The MCP configuration invokes
npxwith the-yoption and the mutable package referencemcp-remote@latest. If the package is not already available locally,npxcan retrieve it from the configured npm registry and execute it without interactive confirmation.The
latesttag does not identify an immutable, reviewed release. Its target can change whenever a new package version is published. Consequently, the effective code executed by this configuration may change after the Skill has been audited. The project contains no lockfile, integrity hash, vendored dependency, or other mechanism that constrains the package to reviewed content.There is no evidence in the audited file that the current
mcp-remotepackage is malicious. The vulnerability arises from the unsafe, mutable dependency execution mechanism and its exposure to package-registry, maintainer-account, or upstream-release compromise.Attack Path
- An attacker compromises the npm package maintainer account, the package publication process, or another relevant supply-chain component.
- The attacker publishes a malicious release and causes the mutable
latesttag to resolve to that release. - A user starts the MCP server using the configuration in
SKILL.md. npx -y mcp-remote@latestdownloads the attacker-controlled package without requesting installation confirmation.- The package executes locally with the permissions and environment of the user or agent process.
- The malicious package can access resources available to that process and perform arbitrary actions within those permission boundaries.
Impa
...[truncated 799 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace
mcp-remote@latestwith an exact, reviewed version, for examplemcp-remote@x.y.z. - Install the dependency through a controlled build or provisioning step rather than allowing
npxto download it automatically at runtime. - Commit and enforce a package lockfile containing registry integrity metadata.
- Verify package provenance, maintainer ownership, release signatures, and integrity before upgrading.
- Use an approved private registry or dependency proxy where feasible.
- Remove
-yso unexpected installation is not silently approved, although this is not a substitute for version and integrity pinning. - Run the MCP bridge in a restricted environment with minimal filesystem access, sanitized environment variables, limited credentials, and network access restricted to required endpoints.
- Establish a deliberate update process in which new versions are reviewed and tested before the pinned version is changed.
- Replace
