T08 · Insecure Dependencies
- Location
SKILL.md:44- Finding
Unpinned npm Package Is Automatically Downloaded and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 44–52
Vulnerability Type: Unsafe execution of a mutable third-party dependency
Risk Level: MediumVulnerable Code
json { "mcpServers": { "pipeworx-gutendex": { "command": "npx", "args": ["-y", "mcp-remote@latest", "https://gateway.pipeworx.io/gutendex/mcp"] } } }Technical Analysis
The MCP configuration invokes
npxwith the-yoption to automatically download and executemcp-remote@latest. Thelatesttag is mutable, so the package code executed in the future may differ from the version reviewed when this Skill was published. The configuration also provides no lockfile, exact version, or package-integrity verification.Because
-ysuppresses the installation confirmation, activating this configuration can retrieve and run a newly published package release without an explicit opportunity for the user to inspect it. This creates a supply-chain risk if the npm package, maintainer account, publication process, or dependency chain is compromised.No evidence establishes that the referenced package is currently malicious. The vulnerability is the unsafe dependency acquisition and execution pattern.
Attack Path
- An attacker compromises the
mcp-remotenpm package, a maintainer account, its publication pipeline, or a relevant dependency. - The attacker publishes a malicious release and causes the mutable
latesttag to resolve to it. - A user activates the documented MCP configuration.
npx -yretrieves the package without an interactive installation prompt.- The downloaded package executes locally with the permissions of the user running the Agent.
- The malicious release can perform arbitrary actions available to that user before or while establishing the remote MCP connection.
Impact Assessment
Successful exploitation could permit arbitrary local code execution with the Agent user's privileges. Depending on the execution ...[truncated 464 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Replace
mcp-remote@latestwith an exact, reviewed version, such asmcp-remote@x.y.z. - Verify the selected release and its dependency tree before documenting or deploying it.
- Enforce package integrity through a lockfile and integrity hashes in a controlled installation workflow.
- Avoid
npx -yfor security-sensitive setup because it suppresses confirmation before downloading and executing code. - Prefer installing the audited dependency in advance with a frozen lockfile, then execute the known local binary.
- Monitor upstream package ownership and releases, and require security review before version updates.
- Run the MCP client with least privilege, restricted filesystem access, minimal environment variables, and constrained network access.
- Where practical, use a locally reviewed client or a direct HTTPS integration that does not dynamically download executable code.
- Replace
