T08 · Insecure Dependencies
Warning
- Location
- skill.md:23
- Finding
- Unpinned Third-Party Python Dependencies## Vulnerability Details **File Location**: `skill.md:23` **Vulnerability Type**: Supply-chain exposure through unpinned dependencies **Risk Level**: Medium **Code Snippet**: ```bash pip install python-dotenv hdwallet[cli] ``` ### Technical Analysis The setup command installs `python-dotenv`, `hdwallet`, and the dependencies associated with the `cli` extra without version constraints or cryptographic hash verification. Consequently, installation results can change over time without any modification to the audited Skill. Python packages and their transitive dependencies may execute code during installation or when imported. If a package publisher account, release process, dependency, or package repository is compromised, a malicious release could execute with the privileges of the user following these instructions. A virtual environment isolates Python package placement but does not prevent package code from accessing files, environment variables, terminal data, or wallet secrets available to that user. ### Attack Path 1. An attacker compromises a dependency publisher, one of its transitive dependencies, or the relevant package distribution channel. 2. The attacker publishes a malicious version that still satisfies the unconstrained installation command. 3. A user follows the documented setup instructions and installs the current package versions. 4. Malicious installation or runtime code executes under the user's account. 5. The code accesses wallet material, environment variables, local files, or other resources available to that account and may transmit or modify them. ### Impact Assessment Successful exploitation could provide code execution with the privileges of the user running `pip`. The affected scope includes files and credentials accessible to that user, including generated mnemonic phrases, private keys, environment variables, and wallet output. This instruction does not itself request elevated privileges, s ...[truncated 114 chars]
- Remediation
- ## Remediation Suggestions - Pin every direct dependency to a reviewed version, for example through a locked requirements file. - Resolve and pin transitive dependencies rather than constraining only top-level packages. - Generate and verify package hashes, using mechanisms such as `pip install --require-hashes -r requirements.txt`. - Obtain packages only from the expected trusted index and explicitly configure the index where appropriate. - Review dependency release provenance, vulnerability advisories, and package ownership before updating. - Test upgrades in an isolated environment before permitting them in workflows that handle wallet credentials. - Consider separating dependency installation from wallet generation so installation-time code never runs in a process or environment containing wallet secrets.
