T08 · Insecure Dependencies
- Location
- SKILL.md:30
- Finding
- Unpinned Third-Party CLI Installed Globally<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, line 30 **Vulnerability Type**: Unpinned global dependency installation **Risk Level**: Medium ### Vulnerable Code ```bash Install globally via `npm install -g alkahest-cli`, then run commands with: ``` ### Technical Analysis The Skill directs users to install `alkahest-cli` globally without specifying an exact version, package integrity hash, lockfile, or verified source repository. Consequently, the package version installed at execution time may differ from the version reviewed or expected by the Skill author. The package is especially sensitive because it receives wallet private keys and mnemonics and submits financial transactions. Its implementation is not included in this project, so its installation scripts, secret-handling behavior, and transaction construction cannot be audited from the supplied files. A global installation also increases exposure because package executables become available across the user's environment. No evidence establishes that the current package is malicious. The vulnerability is the absence of dependency pinning and provenance controls. ### Attack Path 1. An attacker compromises the npm package, a maintainer account, or the package publication process. 2. The attacker publishes a malicious version under the same package name. 3. A user follows the Skill and runs `npm install -g alkahest-cli`. 4. npm retrieves the current release rather than a previously audited version. 5. Malicious lifecycle or runtime code executes under the user's account. 6. When the user supplies a wallet key or mnemonic, the compromised CLI may capture it, alter transaction parameters, or submit unauthorized transactions. ### Impact Assessment A compromised package would execute with the permissions of the installing user. It could access user-readable files, intercept wallet credentials supplied to the CLI, modify transaction recipients or contract addresses, and potentially c ...[truncated 179 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Pin the CLI to an exact, audited version, such as `alkahest-cli@X.Y.Z`. - Publish and verify package integrity information before installation. - Link to the authoritative source repository and document how users can verify npm package provenance. - Prefer a project-local installation governed by a committed lockfile instead of a global installation. - Disable npm lifecycle scripts during installation where compatible with the package. - Document a controlled upgrade and security-review process for new versions. - Recommend testing new releases with testnet wallets that do not hold valuable assets. ]]>
