T08 · Insecure Dependencies
- Location
SKILL.md:5- Finding
Unpinned Executable Third-Party Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 5 and 16–17; additional unsafe upgrade guidance at line 120
Vulnerability Type: Supply-chain risk from unpinned dependencies
Risk Level: MediumVulnerable Code
yaml metadata: {"openclaw":{"emoji":"🎬","requires":{"bins":["python3","playwright"],"env":[]},"install":[{"id":"pip","kind":"pip","package":"tiktok-uploader","bins":["tiktok-uploader"],"label":"Install tiktok-uploader (pip)"},{"id":"playwright","kind":"pip","package":"playwright","bins":["playwright"],"label":"Install Playwright"}]}}bash pip install tiktok-uploader playwright installThe troubleshooting section also recommends an unconstrained upgrade:
bash pip install -U tiktok-uploaderTechnical Analysis
The skill installs
tiktok-uploaderand Playwright without exact version constraints, lock-file enforcement, or package hashes. Consequently, the code installed when a user invokes the setup procedure can differ from the dependency versions that were present when the skill was audited.The
playwright installcommand additionally downloads executable browser components. No artifact version or integrity verification is documented. Thepip install -U tiktok-uploaderrecommendation explicitly encourages replacing an installed dependency with the latest available release without first reviewing it.This creates a supply-chain exposure: if a dependency release, package index account, distribution channel, or downloaded browser artifact is compromised, attacker-controlled code could be installed and executed under the user's account. The audit found no evidence that the currently referenced package names are typosquatted or malicious; the vulnerability is the absence of reproducible dependency pinning and integrity controls.
Attack Path
- An attacker compromises a dependency publisher account, package distribution channel, or a future release of one ...[truncated 1307 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every Python dependency to an exact, reviewed version, for example
tiktok-uploader==X.Y.Zandplaywright==A.B.C. - Maintain a dependency lock file containing cryptographic hashes and install with hash verification, such as
pip install --require-hashes -r requirements.txt. - Pin and document the Playwright version together with its corresponding browser release. Use the package's supported cache or controlled artifact repository and verify downloaded artifacts where feasible.
- Replace the unconditional
pip install -U tiktok-uploadertroubleshooting instruction with a controlled upgrade procedure that requires reviewing release notes, source changes, provenance, and integrity before updating. - Use a trusted, explicitly configured package index and prevent unintended fallback to untrusted or internal indexes.
- Run installation and browser automation in an isolated virtual environment or container under a non-privileged account with access limited to the required cookie and video files.
- Add automated dependency scanning and provenance checks to the release process, and repeat the security review whenever pinned dependency versions change.
- Pin every Python dependency to an exact, reviewed version, for example
