T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:107
- Finding
- Unpinned Python Dependency Creates a Supply-Chain Exposure<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:107-111`; `references/macos-gotchas.md:12` **Vulnerability Type**: Unpinned third-party package installation **Risk Level**: Medium ### Vulnerable Code From `SKILL.md`: ```bash # 1. Install Python dependencies pip3 install edge-tts ``` From `references/macos-gotchas.md`: ```bash pip3 install --user edge-tts ``` ### Technical Analysis The documented installation commands resolve and install the latest version of `edge-tts` available at execution time. They do not specify a reviewed version, dependency lock file, package hash, or other integrity constraint. Consequently, the code installed by two users at different times may differ from the code reviewed during this audit. If the package itself or one of its transitive dependencies is compromised, a future installation can execute attacker-controlled package installation logic in the user's Python environment. The package name does not appear to be a typographical error, and the audit found no evidence that the currently referenced dependency is malicious. The vulnerability is the absence of reproducible version and integrity controls. ### Attack Path 1. An attacker compromises the package publisher account, package distribution channel, or a transitive dependency. 2. The attacker publishes a malicious version that retains the expected package name. 3. A user follows the Skill's documented `pip3 install edge-tts` command. 4. `pip` selects the newly published version because no version constraint or hash is provided. 5. Malicious installation or runtime code executes with the privileges of the user running `pip` or the audio-generation script. ### Impact Assessment Successful exploitation could execute arbitrary code under the installing user's account. Depending on that account's permissions, the malicious package could read or alter user files, access environment variables and application credentials, modify generated media, or make add ...[truncated 215 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin `edge-tts` to a specific version that has been reviewed and tested: ```bash python3 -m pip install "edge-tts==REVIEWED_VERSION" ``` 2. Publish a `requirements.txt` or lock file containing all resolved transitive dependency versions. 3. Use hash verification for reproducible installation: ```text edge-tts==REVIEWED_VERSION \ --hash=sha256:EXPECTED_PACKAGE_HASH ``` Install it with: ```bash python3 -m pip install --require-hashes -r requirements.txt ``` 4. Install dependencies in a dedicated virtual environment rather than the user's global Python environment. 5. Add a documented dependency-update process that includes package provenance review, changelog inspection, malware scanning, and regression testing before changing pinned versions. ]]>
