T08 · Insecure Dependencies
- Location
SKILL.md:50- Finding
Unpinned npm Package Is Automatically Downloaded and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 50–54
Vulnerability Type: Unsafe execution of a mutable third-party dependency
Risk Level: HighVulnerable Code
json { "mcpServers": { "pipeworx-fruityvice": { "command": "npx", "args": ["-y", "mcp-remote@latest", "https://gateway.pipeworx.io/fruityvice/mcp"] } } }Technical Analysis
The configuration invokes
npxwith both-yand the mutable package selectormcp-remote@latest. This causes npm to download and execute whichever package version is tagged aslatestat invocation time, without interactive confirmation.Because the effective executable can change after the skill has been reviewed, the audited skill configuration does not uniquely determine the code that will run. If the npm package, maintainer account, publication process, registry response, or a future release is compromised, initialization of the skill can execute attacker-controlled JavaScript with the privileges of the user running the agent.
No evidence establishes that the currently published package is malicious. The vulnerability is the unreviewed, automatically accepted execution of a mutable supply-chain dependency.
Attack Path
- An attacker compromises the
mcp-remotepackage, a maintainer or publication credential, its release pipeline, or another relevant supply-chain component. - The attacker publishes a malicious release and assigns it the npm
latestdistribution tag. - A user initializes the documented MCP server configuration.
npx -y mcp-remote@latestretrieves the attacker-controlled release without asking for confirmation.- npm executes the package under the agent user's operating-system account.
- The malicious package can access resources available to that account and may perform arbitrary local actions before or while presenting expected MCP behavior.
Impact Assessment
Successful ...[truncated 569 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Replace
mcp-remote@latestwith an exact, reviewed version such asmcp-remote@x.y.z. - Record dependency integrity information in a committed lockfile and install with a reproducible command such as
npm ci. - Avoid
npx -yfor runtime acquisition of executable packages. Prefer installing the audited dependency during a controlled setup phase and invoking the pinned local binary. - Verify the package's publisher, provenance, release signatures where available, and npm integrity metadata before adoption.
- Use automated dependency monitoring to review updates explicitly rather than following the mutable
latesttag. - Run the MCP bridge with least privilege in an isolated environment that restricts filesystem access, credentials, subprocess execution, and outbound network access to what the nutrition-query function requires.
- Replace
