T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:20
- Finding
- Unpinned Third-Party npm Package Is Downloaded and Executed## Vulnerability Details **File Location**: `SKILL.md:20`; additional occurrences in `references/overview.md:6`, `references/overview.md:19`, and `references/overview.md:93` **Vulnerability Type**: Unpinned third-party dependency execution **Risk Level**: Medium ### Vulnerable Code Snippets `SKILL.md:18-20`: ```bash # Install and authenticate npx @covalenthq/goldrush-cli auth ``` `references/overview.md:6`: ```markdown | **Install** | `npx @covalenthq/goldrush-cli` | ``` `references/overview.md:18-20`: ```bash npx @covalenthq/goldrush-cli ``` `references/overview.md:91-95`: ```bash npx @covalenthq/goldrush-cli auth ``` ### Technical Analysis The documentation directs users to invoke `npx` with a package name but without an exact version or verified integrity value. If the package is not already available locally, `npx` can retrieve the version currently selected by the npm registry and execute its code with the invoking user's privileges. Because the executable package is not included in the audited project, its implementation and future releases cannot be verified by this audit. The effective code can change after the skill has been reviewed. This is particularly sensitive because the documented workflow subsequently asks the package to: - Accept and store a GoldRush API key through `goldrush auth`. - Modify Claude MCP configuration through `goldrush install`. - Establish network connections for blockchain queries and streaming. - Read or update application settings through configuration commands. There is no evidence in the audited files that the current npm package is malicious. The vulnerability is the mutable, unverified dependency execution path and its exposure to package-account compromise, registry compromise, or an unexpectedly unsafe future release. ### Attack Path 1. An attacker compromises the npm publisher account, package release process, or another component of the pack ...[truncated 1524 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the package to a reviewed, immutable version in every command: ```bash npx @covalenthq/goldrush-cli@<reviewed-exact-version> auth ``` 2. Verify the selected release's npm integrity metadata, provenance, publisher identity, and source repository before recommending execution. 3. Prefer a lockfile-controlled installation or a vendored and reviewed executable where practical. Preserve and verify cryptographic integrity information in the distribution process. 4. Audit package installation hooks, runtime network behavior, credential handling, and MCP configuration changes for the pinned release. 5. Document every file and configuration entry modified by `goldrush install`, and require explicit user approval before MCP registration. 6. Run the CLI with least privilege. Do not recommend elevated shells, and isolate execution when processing sensitive credentials. 7. Add release-update procedures requiring security review before changing the pinned version. 8. Ensure API keys are entered through a secure prompt, stored only in the operating-system keychain, redacted from logs, and never exposed through command-line arguments or diagnostic output.
