T08 · Insecure Dependencies
- Location
SKILL.md:20- Finding
Unpinned npm Package Is Automatically Downloaded and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 20–23
Vulnerability Type: Unpinned third-party dependency execution
Risk Level: MediumVulnerable Code
json { "mcpServers": { "full-potential-intelligence": { "command": "npx", "args": ["-y", "mcp-remote", "https://fullpotential.ai/mcp", "--transport", "sse-only"] } } }Technical Analysis
The documented MCP configuration invokes
npxwith-yand identifiesmcp-remotewithout an exact version or integrity constraint. Consequently,npxcan automatically retrieve and execute whichever package version the npm registry resolves at invocation time, without requesting confirmation.The effective executable can therefore change after the Skill has been reviewed. A compromise of the package publisher account, npm package, or transitive dependency chain could cause users following this configuration to execute attacker-controlled code. The audit found no evidence that the current package is malicious; the vulnerability is the unsafe, mutable dependency-execution mechanism.
Attack Path
- An attacker compromises the
mcp-remotepackage publisher, a relevant registry distribution path, or a dependency included by the package. - The attacker publishes a malicious version that is selected by npm when no version is specified.
- A user installs or starts the MCP server using the configuration in
SKILL.md. npx -yretrieves the newly resolved package without interactive approval.- The downloaded package executes locally with the permissions and environment of the process launching the MCP server.
- Malicious package code can access resources available to that user and process.
Impact Assessment
Successful exploitation permits arbitrary code execution under the account that launches
npx. Depending on the host's configuration, accessible resources may include project files, user-readable files, environment variables, API credentials, a ...[truncated 343 chars]- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Replace the unversioned package reference with an exact, audited version, for example
mcp-remote@X.Y.Z; do not use a range or floating tag. - Verify the selected package version, publisher provenance, release signatures where available, and expected registry integrity metadata before deployment.
- Manage the MCP client as a locked project dependency using a committed lockfile rather than downloading a mutable package whenever the server starts.
- Audit and lock transitive dependencies, and use automated dependency monitoring to detect compromised or vulnerable releases.
- Avoid
-yin interactive installation workflows so unexpected downloads are not silently approved. - Run the MCP client in a sandbox or container with a dedicated unprivileged identity, a minimal environment, read-only filesystem access where practical, and narrowly scoped outbound network access.
- Do not expose unrelated API keys, tokens, or sensitive environment variables to the MCP process.
- Review and deliberately approve package upgrades before changing the pinned version and lockfile.
- Replace the unversioned package reference with an exact, audited version, for example
