T08 · Insecure Dependencies
Error
- Location
- SKILL.md:112
- Finding
- Unpinned Execution of a Mutable Third-Party Package## Vulnerability Details **File Location**: `SKILL.md`, lines 112-115 **Vulnerability Type**: Supply-chain risk from an unpinned executable dependency **Risk Level**: High ```powershell $env:Path = "C:\Users\Administrator\.local\bin;$env:Path" $env:UV_HTTP_TIMEOUT = "600" Start-Process -NoNewWindow -FilePath "uvx" -ArgumentList "cdp-bridge@latest","--transport","streamable-http","--port","8000","--ws-port","18765" ``` ### Technical Analysis The documented startup procedure directs `uvx` to resolve and execute `cdp-bridge@latest`. The `latest` selector is mutable, so the package executed in the future may differ from the package reviewed when this Skill was published. The project does not specify an exact dependency version, expected artifact hash, cryptographic signature, lockfile, or trusted package source. The launched bridge has access to powerful browser-control operations, including reading cookies and page content, executing JavaScript, taking screenshots, navigating authenticated tabs, and issuing raw Chrome DevTools Protocol commands. Consequently, dependency compromise would affect a high-trust component connected to real, potentially authenticated browser sessions. This finding is based on the unsafe dependency-resolution instruction. The audit did not identify evidence that the current upstream package is malicious. ### Attack Path 1. An attacker compromises the upstream package publisher account, package repository, distribution infrastructure, or a future release selected by the mutable `latest` tag. 2. A user follows the documented startup procedure. 3. `uvx` resolves and executes the attacker-controlled or unexpectedly modified package release. 4. The resulting process starts the MCP and WebSocket services and communicates with the browser extension. 5. The compromised process abuses its browser-control access to inspect pages or cookies, execute JavaScript or CDP commands, alter browser state, or transmit information within the permission ...[truncated 697 chars]
- Remediation
- ## Remediation Suggestions 1. Replace `cdp-bridge@latest` with an exact, reviewed version that cannot silently move between releases. 2. Pin and verify the package artifact using a trusted lockfile, expected cryptographic hash, or signature-validation mechanism supported by the distribution system. 3. Configure `uvx` to use an explicitly trusted package index or an internally controlled mirror rather than relying on implicit repository configuration. 4. Review package contents and release provenance before each intentional upgrade; update the pinned version only after approval. 5. Run the bridge under a dedicated least-privileged account and restrict its filesystem and network access where practical. 6. Bind the MCP and WebSocket listeners exclusively to loopback, require authentication where supported, and prevent untrusted local processes from invoking browser-control operations. 7. Limit browser-extension access to dedicated browser profiles that do not contain unrelated sensitive sessions or credentials.
