T08 · Insecure Dependencies
- Location
SKILL.md:28- Finding
Unpinned npm Package Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:28-30
Vulnerability Type: Unpinned third-party package execution
Risk Level: MediumThe affected setup instruction is:
bash npx -y mcp-remote https://benmcadams.info/api/mcpTechnical Analysis
The documented command executes
mcp-remotethroughnpxwithout specifying an exact package version or verifying its integrity. Consequently, package resolution can select a mutable current release rather than a previously reviewed artifact.The
-yoption automatically accepts the installation prompt, reducing the opportunity for the user to inspect the resolved package and version before execution. npm packages can run executable package code and lifecycle hooks with the invoking user's privileges. Therefore, compromise of the package, its publishing account, or its dependency chain could turn this setup command into a local code-execution vector.The audit did not establish that
mcp-remoteis malicious. The confirmed issue is the unsafe, unpinned dependency-execution pattern and the resulting supply-chain exposure.Attack Path
- An attacker compromises the
mcp-remotepackage, its maintainer account, or a transitive dependency and publishes a malicious release. - A user follows the documented stdio-only client setup instruction.
npxresolves and downloads the mutable package release because no exact version or integrity constraint is provided.- The
-yflag allows installation to proceed without an interactive confirmation. - Malicious package code or lifecycle hooks execute with the operating-system privileges of the user running the command.
Impact Assessment
Successful exploitation could provide arbitrary code execution under the invoking user's account. Depending on that account's permissions and environment, an attacker could access user-readable files, environment variables, MCP client configuration, and credentials av ...[truncated 390 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin
mcp-remoteto an exact, reviewed version rather than allowing mutable latest-version resolution. - Record the dependency in a lockfile where the supported client workflow permits it.
- Use npm integrity verification or another cryptographic checksum mechanism for the reviewed artifact.
- Document the expected package name, exact version, publisher, registry, and source repository so users can validate provenance.
- Remove
-yfrom security-sensitive installation guidance where practical, allowing users to inspect the resolved dependency before installation. - Prefer installing and reviewing the pinned package separately before executing it.
- Regularly review the pinned release and its transitive dependency tree before performing controlled version upgrades.
- Pin
