T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:63
- Finding
- Unpinned Unofficial Third-Party Dependency Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 63–66 **Vulnerability Type**: Supply-chain risk from mutable, unverified dependencies **Risk Level**: Medium ### Vulnerable Code Snippet ```markdown * **Dependencies (for real-world usage beyond simulation):** * **Selenium WebDriver:** `pip install selenium` * **TikTok Live API Library:** `pip install TikTokLive` (Note: This is an unofficial API and may be subject to changes or discontinuation by TikTok.) * **ChromeDriver:** Download the appropriate version for your Chrome browser from [https://chromedriver.chromium.org/](https://chromedriver.chromium.org/) and ensure it's in your system's PATH. ``` ### Technical Analysis The setup instructions direct users to install packages by mutable package name without pinning reviewed versions, verifying cryptographic hashes, or supplying a lockfile. They also explicitly identify `TikTokLive` as an unofficial API package. Python packages can execute code during installation through build-system hooks, and their imported runtime code executes with the invoking user's privileges. Because no version or artifact hash is specified, the content installed by these commands may differ from what was originally reviewed. The separately downloaded ChromeDriver binary likewise lacks a specified version, checksum, or signature-verification procedure. Neither Selenium nor `TikTokLive` is imported by the supplied implementation. Recommending their installation for the current simulation therefore unnecessarily increases the project's supply-chain attack surface. ### Attack Path 1. A user follows the prerequisites in `SKILL.md`. 2. The user runs `pip install TikTokLive` or `pip install selenium` without a version constraint or hash verification, or downloads an unspecified ChromeDriver binary. 3. The package manager or user retrieves the latest artifact available under that dependency name. 4. If the upstream project, maintainer account, distributi ...[truncated 844 chars]
- Remediation
- ## Remediation Suggestions 1. Remove Selenium, `TikTokLive`, and ChromeDriver installation instructions while the shipped implementation remains a local simulation that does not use them. 2. If these dependencies become necessary, pin each dependency to a reviewed exact version in a requirements or lock file. 3. Record and enforce cryptographic hashes for Python distribution artifacts, such as through `pip install --require-hashes`. 4. Review the source, maintainership, release history, and transitive dependencies of the unofficial `TikTokLive` package before adoption. 5. Obtain ChromeDriver only from the official verified distribution channel, pin the compatible version, and document checksum or signature verification. 6. Install dependencies in an isolated virtual environment under a non-privileged account. 7. Add automated dependency vulnerability and integrity scanning to the release process. 8. Document which source files require each dependency so users are not instructed to install unused components.
