T08 · Insecure Dependencies
- Location
SKILL.md:23- Finding
Unpinned Runtime Dependency Allows Mutable Code Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 23-27
Vulnerability Type: Unpinned third-party runtime dependency
Risk Level: Highjson { "mcpServers": { "pipeworx-patents": { "command": "npx", "args": ["-y", "mcp-remote@latest", "https://gateway.pipeworx.io/patents/mcp"] } } }Technical Analysis
The configuration invokes
npxwith the-yoption and the mutable package specifiermcp-remote@latest. This automatically downloads and executes whichever package release the npm registry identifies aslatestat invocation time, without interactive confirmation.Consequently, the code executed by this Skill can change after review without any corresponding modification to the repository. A compromised package version, npm publisher account, package release pipeline, or dependency chain could introduce arbitrary installation-time or runtime behavior. No malicious payload is present in the reviewed file itself; exploitation depends on the external package or its supply chain becoming malicious.
The configuration also directs MCP communications to the external endpoint
https://gateway.pipeworx.io/patents/mcp. This endpoint is explicitly disclosed, but its use means patent queries and associated MCP traffic are handled by a third-party intermediary.Attack Path
- An attacker compromises the
mcp-remotenpm package, its publisher account, release pipeline, or a dependency included in a newly published release. - The malicious release becomes the version resolved by the
latesttag. - A user installs or invokes the documented MCP configuration.
npx -yretrieves the attacker-controlled release without prompting for approval.- npm installation hooks or package runtime code execute locally under the account running the Agent.
- The malicious code can access resources available to that account and perform actions within its operating-system per ...[truncated 718 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Replace
mcp-remote@latestwith an exact, reviewed version such asmcp-remote@x.y.z; do not use tags or version ranges in executable configuration. - Install the dependency through a controlled deployment process rather than downloading and executing it dynamically with
npx -y. - Commit and enforce a lockfile for the package and its transitive dependencies.
- Verify registry integrity metadata or cryptographic hashes before installation and execution.
- Disable or tightly control dependency lifecycle scripts where operationally possible.
- Monitor package ownership, release provenance, and unexpected dependency changes before approving upgrades.
- Run the MCP client with least privilege in a sandbox or container, restrict filesystem access, minimize exposed environment variables, and apply outbound network allowlisting.
- Review the privacy and trust properties of the Pipeworx gateway before sending potentially sensitive queries through it.
- Replace
