T08 · Insecure Dependencies
Error
- Location
- SKILL.md:8
- Finding
- Unpinned Global Installation of a Privileged Third-Party CLI## Vulnerability Details **File Location**: `SKILL.md:8`; corroborated by `README.md:27` **Vulnerability Type**: Unpinned third-party dependency installed globally **Risk Level**: High **Complete Code Snippet**: `SKILL.md:6-9` ```bash ## Setup ```bash npm install -g mint.club-cli ``` ``` `README.md:24-28` ```bash ### Manual setup 1. Install the CLI globally: ```bash npm install -g mint.club-cli ``` ``` ### Technical Analysis The Skill instructs agents to install the latest available version of `mint.club-cli` globally. No exact version, lockfile, integrity hash, trusted package provenance requirement, or source review is provided. This external package performs security-sensitive operations, including handling wallet private keys, approving ERC-20 spending, signing blockchain transactions, and transferring assets. Its implementation is not included in the audited project, so the audit cannot verify its credential handling, transaction validation, network communication, or update behavior. A global installation also grants the package installation scripts and executable access within the user's broader environment rather than a project-local sandbox. Although installing a CLI is consistent with the Skill's functionality, a mutable, globally installed dependency exceeds the minimum access necessary. A pinned and isolated installation would be sufficient. ### Attack Path 1. An attacker compromises the npm package, publisher account, release process, or one of the package's transitive dependencies. 2. The attacker publishes a malicious release under the expected package name. 3. An agent follows the documented command and installs the mutable latest release globally. 4. The user subsequently imports a wallet key or exposes it through `PRIVATE_KEY`. 5. The compromised CLI reads the credential, modifies transaction parameters, requests excessive token approvals, or transmits the key externally. 6. ...[truncated 933 chars]
- Remediation
- ## Remediation Suggestions 1. Pin `mint.club-cli` to an exact, audited version rather than installing the mutable latest release. 2. Provide and verify npm integrity hashes and package provenance before installation. 3. Review or vendor the exact CLI source used by the Skill. 4. Prefer a project-local installation such as `npm install --save-exact` and invoke it through a controlled local path instead of using `-g`. 5. Run the CLI in an isolated environment with access only to the required network endpoints and wallet material. 6. Disable or review dependency lifecycle scripts where operationally possible. 7. Use a dedicated, low-value wallet with limited balances and revoke ERC-20 allowances after use. 8. Document the expected package publisher, version, checksum, and supported network endpoints so agents can reject unexpected changes.
