T08 · Insecure Dependencies
- Location
SETUP-PROMPT.md:81- Finding
Unpinned Playwright and Chromium Installation Creates a Supply-Chain Risk
- Content
View full analysis
/dev/null 2>&1 && echo "✅ Playwright available" || echo "⚠️ Playwright not found — install with: pip3 install playwright && playwright install chromium" ``` The troubleshooting section repeats the installation command: ```markdown - **"Playwright not found"** — Run: `pip3 install playwright && playwright install chromium` ``` ### Technical Analysis The setup documentation instructs users to install Playwright and its Chromium binary without specifying an audited package version, browser revision, lockfile, package hash, or integrity-validation procedure. The command therefore resolves mutable artifacts from external package and browser distribution infrastructure at installation time. Although the project does not itself contain malicious dependency code, the effective installed components can change after this package has been audited. The dependency is legitimate and necessary for the declared PDF-generation feature. However, allowing package managers to select the latest available release exceeds the minimum supply-chain trust required for that feature. A reproducible installation should select explicitly reviewed artifacts. ### Attack Path 1. A user follows the documented setup or troubleshooting instructions. 2. `pip3 install playwright` resolves the currently available Playwright release and its transitive dependencies. 3. `playwright install chromium` retrieves an additional browser binary from external distribution infrastructure. 4. If the package index, publisher account, dependency release, download infrastructure, or resolved artifact is compromised, a malicious component is installed. 5. Installation or subsequent ...[truncated 954 chars]- Remediation
View remediation
