T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:16
- Finding
- Unpinned npm Package Execution Through Helius MCP Setup## Vulnerability Details **File Location**: `SKILL.md:16-24`; duplicated in `install.sh:68-73` **Vulnerability Type**: Unpinned third-party dependency and mutable remote package execution **Risk Level**: Medium ### Vulnerable Code `SKILL.md:16-24`: ```markdown **CRITICAL**: Check that the Helius knowledge tools are available (`searchSolanaDocs`, `fetchHeliusBlog`, `getSIMD`, `readSolanaSourceFile`). If they are NOT available, **STOP** and tell the user: ``` You need to install the Helius MCP server first: claude mcp add helius npx helius-mcp@latest Then restart Claude so the tools become available. ``` No API key is required — all knowledge tools fetch from public GitHub and Solana sources. ``` `install.sh:68-73`: ```bash echo "Next steps:" echo " 1. Install the Helius MCP server (if not already):" echo " claude mcp add helius npx helius-mcp@latest" echo "" echo " 2. No API key required — all tools fetch from public sources." ``` ### Technical Analysis The prescribed MCP registration command uses `npx` with the mutable npm tag `helius-mcp@latest`. Unlike an exact version or integrity-locked artifact, `@latest` can resolve to different package contents after this Skill has been reviewed. When the MCP server is launched, `npx` may download and execute package-controlled JavaScript under the current user's account. Therefore, compromise of the npm package, publisher account, release pipeline, or a future package release could transform an otherwise legitimate setup instruction into arbitrary local code execution. The Skill only needs access to public documentation and source code to provide its declared educational functionality. Requiring execution of a mutable third-party package exceeds the minimum risk necessary to obtain static public information. The installer itself does not download or execute the package; it prints the unsafe setup command. `SKILL.md` makes the MCP server a mandatory prer ...[truncated 1799 chars]
- Remediation
- ## Remediation Suggestions 1. Replace `helius-mcp@latest` with an exact, reviewed version, for example `helius-mcp@X.Y.Z`. 2. Verify the selected package version against a documented integrity hash or lockfile before execution. 3. Document the canonical npm publisher, source repository, and release provenance so users can validate package ownership. 4. Avoid automatic or mandatory third-party execution. Present MCP installation as an explicit trust decision requiring user confirmation. 5. Prefer a locally installed, dependency-locked MCP server over downloading code dynamically whenever Claude starts it. 6. Run the MCP server with least privilege in a sandbox or container that restricts filesystem access, environment variables, subprocess creation, and outbound network destinations. 7. Apply the same pinned command consistently in both `SKILL.md` and `install.sh`. 8. Periodically review and deliberately update the pinned version rather than following a mutable distribution tag.
