T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:18
- Finding
- Unpinned Third-Party Dependency Installation<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, line 18 **Vulnerability Type**: Unpinned package installation and supply-chain exposure **Risk Level**: Medium ### Vulnerable Code ```bash pip install edge-tts ``` ### Technical Analysis The installation instructions retrieve the current version of `edge-tts` and its transitive dependencies from the configured Python package index without specifying an audited version or verifying integrity hashes. Consequently, the code installed by users can change after this Skill has been reviewed. Although no malicious dependency is present in the audited project itself, package-index compromise, maintainer account compromise, or a malicious transitive dependency could introduce code that was not covered by this audit. Python packages may execute code during installation or when imported and invoked. ### Attack Path 1. An attacker compromises the `edge-tts` distribution, one of its dependencies, or the package index used by the victim. 2. The attacker publishes a malicious release that still satisfies the unrestricted installation command. 3. A user follows the documented instructions and runs `pip install edge-tts`. 4. The package manager retrieves and installs the attacker-controlled release. 5. Malicious package code executes during installation or when `edge-tts` is subsequently invoked by `feishu-voice-send.sh`. ### Impact Assessment Successful exploitation would execute code with the privileges of the user performing the installation or running the Skill. This could expose files, environment variables, and Feishu credentials accessible to that account, and could modify resources writable by that account. System-wide impact would be possible if the installation were performed with administrative privileges, although the documentation does not instruct users to do so. ]]>
- Remediation
- <![CDATA[ ## Remediation Suggestions - Pin `edge-tts` and every transitive dependency to reviewed versions in a lock file. - Require package integrity verification through hashes, for example with `pip install --require-hashes -r requirements.txt`. - Install dependencies in a dedicated virtual environment rather than into the system Python environment. - Review and update pinned dependencies through a controlled process with automated vulnerability and provenance checks. - Avoid installing packages with administrative privileges. ]]>
