T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:37
- Finding
- Unpinned Third-Party Dependency Creates a Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md`, lines 37-41 **Vulnerability Type**: Unpinned runtime dependency **Risk Level**: Medium **Vulnerable Code**: ```bash pip install edge-tts ``` ### Technical Analysis The installation instructions retrieve the latest available version of `edge-tts` without a version constraint or cryptographic integrity hash. Consequently, the code installed and executed by users can change after this Skill has been reviewed. This does not demonstrate that the current `edge-tts` package is malicious. However, it creates a supply-chain exposure: compromise of the package publisher account, package repository, distribution artifact, or a future upstream release could introduce unreviewed executable code. Package installation and subsequent import occur with the privileges of the user running the Skill. ### Attack Path 1. An attacker compromises the upstream package, its publisher account, or its distribution channel. 2. The attacker publishes a malicious or compromised release under the expected package name. 3. A user follows the documented `pip install edge-tts` instruction without a version or hash constraint. 4. `pip` downloads and installs the attacker-controlled release. 5. Malicious package behavior executes during installation or when `edge_tts` is imported and used by `scripts/send_voice.py`. 6. The malicious code can access data and resources available to the Skill process. ### Impact Assessment Successful exploitation could execute code with the privileges of the user running the installation or Skill. This could expose text supplied for speech generation, accessible local files, environment data, and credentials readable by that user, including the OpenClaw configuration if accessible. The scope is limited by the privileges and operating-system access controls of the affected user account.
- Remediation
- ## Remediation Suggestions - Pin `edge-tts` to a specifically reviewed version in a committed requirements file. - Record and verify distribution hashes using pip's `--require-hashes` option. - Install packages only from the official, explicitly configured package index. - Review dependency updates before changing the pinned version. - Consider using an isolated virtual environment with only the permissions required to generate audio. - Document a reproducible installation command, for example: ```bash python -m pip install --require-hashes -r requirements.txt ``` - Include hashes for every direct and transitive dependency represented in the lock file.
