T08 · Insecure Dependencies
- Location
pyproject.toml:10- Finding
Unpinned Browser Dependencies Create a Supply-Chain Execution Risk
- Content
View full analysis
=1.40", "cloakbrowser>=0.3", ] ``` The associated installation instructions are: ```bash # CloakBrowser (recommended — anti-detection) pip install cloakbrowser cd skills/babata-browser && pip install -e . # Playwright fallback (already installed) pip install playwright && python -m playwright install chromium ``` ### Technical Analysis The project specifies only minimum dependency versions. It does not provide exact version pins, package hashes, a lock file, or another integrity-verification mechanism. Consequently, installing the Skill can resolve to any future compatible release available through the configured Python package index. This is particularly security-sensitive because both dependencies control browser processes, and their Python code is imported directly when the package is loaded: ```python from cloakbrowser import launch as _cloak_launch from cloakbrowser import get_default_stealth_args as _get_stealth_args from playwright.sync_api import sync_playwright ``` A compromised package release, package-index account, dependency mirror, or installation source could therefore introduce arbitrary code without any modification to the reviewed Skill repository. Package installation hooks and imported module initialization code execute with the privileges of the user installing or running the Skill. The audit did not identify evidence that the declared packages are themselves malicious. The vulnerability is the absence of controls that ensure the installed artifacts are the same versions and contents that were reviewed. ### Attack Path 1. An attacker compromises a dependency publisher account, distribution channel, or configured package mirror. 2. The attac ...[truncated 1181 chars]- Remediation
View remediation
