T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:51
- Finding
- Unpinned Third-Party npm Package Execution## Vulnerability Details **File Location**: `SKILL.md`, lines 51-64 **Vulnerability Type**: Unpinned remote npm dependency execution **Risk Level**: Medium The installation workflow instructs users to execute an npm package without pinning it to a reviewed version. The manual fallback explicitly selects the mutable `latest` release. ```bash npx @clutchmarkets/mcp-server init --client <your-client> ``` ```json { "mcpServers": { "clutch": { "command": "npx", "args": ["@clutchmarkets/mcp-server@latest"] } } } ``` ### Technical Analysis `npx` downloads and executes third-party package code with the privileges of the invoking user. Because neither workflow pins the package to an exact reviewed version or verifies an integrity digest, the code executed may differ from the code that was present when the Skill was audited. The explicit use of `@latest` makes the fallback configuration persistently dependent on whichever release the package registry currently designates as latest. Provenance links, optional metadata inspection commands, and the documented consent prompt improve transparency but do not establish package integrity or prevent execution of a compromised future release. ### Attack Path 1. An attacker compromises the npm publisher account, the package release process, or a transitive dependency. 2. The attacker publishes a malicious release of `@clutchmarkets/mcp-server`. 3. npm resolves the unversioned package or the explicit `@latest` selector to that release. 4. A user follows the Skill's installation instructions or starts the configured MCP server. 5. `npx` downloads and executes the malicious package under the user's local account. 6. The package can perform actions available to that account before the user can meaningfully inspect its runtime behavior. ### Impact Assessment Successful exploitation provides code execution with the privileges of the user runn ...[truncated 387 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the package to an exact, reviewed version in every command and configuration: ```bash npx --yes @clutchmarkets/mcp-server@<exact-reviewed-version> init --client <your-client> ``` 2. Replace `@latest` in the manual configuration with the same exact reviewed version. 3. Record and verify the expected package integrity digest or signed provenance before execution. 4. Establish an explicit dependency-upgrade process that reviews release changes and dependencies before changing the pinned version. 5. Recommend running the package with least privilege and without administrator or root permissions. 6. Preserve the existing explicit-consent requirement, but clearly state that consent does not replace version pinning and integrity verification. 7. Where practical, download and inspect the package artifact before execution or use a trusted lockfile and controlled package registry.
