T08 · Insecure Dependencies
- Location
SKILL.md:45- Finding
Unpinned npm Package Is Downloaded and Executed Automatically
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 45–52
Vulnerability Type: Unpinned third-party dependency executed throughnpx
Risk Level: MediumVulnerable Code
json { "mcpServers": { "pipeworx-ukpolice": { "command": "npx", "args": ["-y", "mcp-remote@latest", "https://gateway.pipeworx.io/ukpolice/mcp"] } } }Technical Analysis
The MCP configuration invokes
npxwith the-yoption and the mutable package referencemcp-remote@latest. This causes npm to retrieve and execute the package automatically without interactive confirmation, an exact version constraint, an integrity check, or a reviewed lockfile.Because the
latesttag can be reassigned to a different package release after this Skill has been reviewed, the code ultimately executed is not fixed by the audited project. A compromised package release, npm maintainer account, publishing token, or upstream dependency could therefore introduce attacker-controlled code into subsequent executions.Attack Path
- An attacker compromises the
mcp-remotepackage, a maintainer account, a publishing credential, or an upstream dependency used by a new release. - A malicious release becomes the target of the npm
latesttag. - A user starts the configured
pipeworx-ukpoliceMCP server. npx -yretrieves the currentmcp-remote@latestpackage without requesting confirmation.- npm executes the downloaded package locally.
- Malicious package code runs with the operating-system permissions and environmental access of the user or Agent process.
Impact Assessment
Successful exploitation could provide arbitrary code execution under the account launching the MCP server. Depending on that account's permissions and environment, the malicious package could read or modify accessible files, inspect environment variables and credentials, access Agent or MCP data, make unauthorized network requests, or alter local development resources. ...[truncated 231 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Replace
mcp-remote@latestwith an exact, reviewed version such asmcp-remote@x.y.z. - Manage the dependency through a committed package manifest and lockfile rather than downloading a mutable release at runtime.
- Verify the resolved package and transitive dependencies with package-manager integrity metadata.
- Review the pinned package version and its dependency tree before deployment.
- Disable automatic confirmation where practical so unexpected installation behavior is visible to the operator.
- Use a restricted runtime account or sandbox with minimal filesystem, credential, and network access.
- Establish a controlled dependency-update process that reviews and tests each version before changing the pin.
- Replace
