T08 · Insecure Dependencies
- Location
SKILL.md:19- Finding
Unpinned npm Package Is Downloaded and Executed Without Interactive Approval
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 19–28
Vulnerability Type: Supply-chain exposure through an unpinned, automatically executed dependency
Risk Level: HighVulnerable Code:
json Add to your MCP config (`.claude/mcp.json` or `~/.claude/mcp.json`): { "mcpServers": { "agent-vitamins": { "command": "npx", "args": ["-y", "mcp-agent-vitamins"] } } }Technical Analysis
The recommended MCP configuration invokes
npxwith the mutable package namemcp-agent-vitaminsand the-yoption. No exact version, integrity hash, lockfile, verified repository, or publisher identity is specified.When invoked,
npxcan retrieve the currently published package release and execute it under the account running the Agent. The-yoption suppresses the normal installation confirmation. Consequently, the code executed at runtime can differ from the dependency version that was available when this Skill was reviewed.This is a supply-chain weakness rather than evidence that the current package is malicious. However, compromise of the npm publisher account, publication of a malicious later version, or registry/package-name takeover could turn the documented setup command into an arbitrary local code-execution channel.
Attack Path
- An attacker compromises the npm publisher account, takes control of the package, or causes a malicious package version to be published.
- The attacker adds malicious installation lifecycle logic or MCP server runtime code to the new release.
- A user follows the Skill instructions or starts the configured MCP server.
npx -y mcp-agent-vitaminsresolves and downloads the mutable package release without interactive confirmation.- The malicious package executes with the permissions of the user running the Agent.
- Subject to that user's permissions, the package could read accessible files and environment variables, acc ...[truncated 690 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the MCP package to an exact, reviewed version, for example
mcp-agent-vitamins@X.Y.Z, rather than resolving the latest release. - Provide and verify a package integrity digest or use a lockfile-backed, reproducible installation process.
- Document the authoritative npm publisher and source repository so users can verify package provenance.
- Avoid unattended
npx -yexecution where practical. Require explicit confirmation before the initial installation or upgrade. - Review package lifecycle scripts and the MCP server implementation before deployment.
- Run the MCP server in a sandbox or restricted account with only the filesystem and network access necessary to contact the documented brief API.
- Establish an explicit update process in which new versions are reviewed before the pinned version is changed.
- Pin the MCP package to an exact, reviewed version, for example
