T08 · Insecure Dependencies
- Location
SKILL.md:63- Finding
Unpinned Unofficial Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 63–66
Vulnerability Type: Supply-chain risk from mutable, unverified dependencies
Risk Level: MediumVulnerable 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
TikTokLiveas 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
TikTokLiveis imported by the supplied implementation. Recommending their installation for the current simulation therefore unnecessarily increases the project's supply-chain attack surface.Attack Path
- A user follows the prerequisites in
SKILL.md. - The user runs
pip install TikTokLiveorpip install seleniumwithout a version constraint or hash verification, or downloads an unspecified ChromeDriver binary. - The package manager or user retrieves the latest artifact available under that dependency name.
- If the upstream project, maintainer account, distributi ...[truncated 844 chars]
- A user follows the prerequisites in
- Remediation
View remediation
Remediation Suggestions
- Remove Selenium,
TikTokLive, and ChromeDriver installation instructions while the shipped implementation remains a local simulation that does not use them. - If these dependencies become necessary, pin each dependency to a reviewed exact version in a requirements or lock file.
- Record and enforce cryptographic hashes for Python distribution artifacts, such as through
pip install --require-hashes. - Review the source, maintainership, release history, and transitive dependencies of the unofficial
TikTokLivepackage before adoption. - Obtain ChromeDriver only from the official verified distribution channel, pin the compatible version, and document checksum or signature verification.
- Install dependencies in an isolated virtual environment under a non-privileged account.
- Add automated dependency vulnerability and integrity scanning to the release process.
- Document which source files require each dependency so users are not instructed to install unused components.
- Remove Selenium,
