T08 · Insecure Dependencies
Error
- Location
- SKILL.md:67
- Finding
- Unpinned Package Execution Through npx## Vulnerability Details **File Location**: `SKILL.md`, lines 67–76 **Vulnerability Type**: Unpinned third-party dependency execution **Risk Level**: High ### Vulnerable Code ```json { "mcp": { "servers": { "defillama": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.defillama.com/mcp"] } } } } ``` ### Technical Analysis The configuration launches `mcp-remote` through `npx` without specifying a package version or verifying package integrity. If the package is not already available locally, `npx` can retrieve the current release from the configured package registry and execute its lifecycle or application code. Because the dependency is mutable, the code executed when this Skill is used may differ from the code available when the Skill was audited. The `-y` option suppresses the package-installation confirmation prompt, further reducing the opportunity to inspect the package and version before execution. This is a supply-chain trust issue rather than evidence that the current `mcp-remote` package is malicious. ### Attack Path 1. An attacker compromises the package publisher, registry account, distribution channel, or a future package release. 2. A malicious version is published under the expected package name. 3. A user configures or starts the MCP server using the documented settings. 4. `npx -y mcp-remote` retrieves the mutable package without an interactive confirmation. 5. Package-controlled code executes with the operating-system privileges of the MCP client user. ### Impact Assessment A compromised package could execute arbitrary code under the account running the agent. Depending on that account's permissions, it could access agent configuration, MCP credentials, OAuth artifacts, project files, and other user-readable data or modify files writable by the user. The configuration does not request administrative privileges, so the direct ...[truncated 162 chars]
- Remediation
- ## Remediation Suggestions - Pin `mcp-remote` to a specifically reviewed version rather than relying on the latest registry release. - Use a lockfile and package-manager integrity metadata where the client supports them. - Verify the package publisher, provenance, signatures, and integrity before first execution. - Remove `-y` during initial installation so the user can review and approve the dependency. - Install the reviewed dependency separately and configure the MCP client to invoke that fixed local installation. - Run the bridge with least privilege and restrict its access to unrelated files, credentials, and network destinations where practical. - Establish a controlled update process that reviews new releases before changing the pinned version.
