T08 · Insecure Dependencies
- Location
SKILL.md:101- Finding
Unpinned Third-Party Browser Automation Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 101–102
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: MediumVulnerable Code
bash uv pip install browser-use[cli] browser-use installThe same unpinned installation command is repeated in the error-handling guidance at line 183:
text uv pip install browser-use[cli]Technical Analysis
The skill directs users or agents to install the latest available release of the third-party
browser-usepackage and then execute its installation routine. It does not specify an exact reviewed version, require package hashes, use a dependency lockfile, or prescribe artifact integrity verification.This creates a supply-chain risk because the code ultimately installed and executed can change after the skill itself has been reviewed. The dependency is particularly sensitive in this context: the skill subsequently directs it to reuse a locally authenticated Chrome session and process private mailbox content. A compromised package release, package registry account, distribution artifact, or transitive dependency could therefore execute arbitrary code in the user's environment while operating near authenticated browser data.
The audit found no evidence that the currently named package is malicious. The vulnerability is the unsafe and non-reproducible dependency installation practice.
Attack Path
- An attacker compromises the package publisher, distribution account, package registry, release process, or a transitive dependency.
- The attacker publishes a malicious release that still satisfies the unpinned
browser-use[cli]requirement. - A user or agent follows the documented command and retrieves the malicious release.
- Package installation hooks, imported package code, or the subsequent
browser-use installcommand executes attacker-controlled code with the invoking user's privileges. - During later skill operation, the compromised dependen ...[truncated 837 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
browser-useto an exact version that has been reviewed and tested, for example through a requirements or project configuration file using an exact-version constraint. - Generate and commit a lockfile that records all resolved transitive dependency versions.
- Require cryptographic hashes for downloaded packages and reject artifacts whose hashes do not match approved values.
- Document the trusted package index and disable untrusted or supplemental indexes to reduce dependency-confusion exposure.
- Review the behavior and provenance of
browser-use install, including any binaries or browser components it downloads. - Update dependencies through a controlled review process with security scanning, changelog inspection, and test-environment validation before production use.
- Run the browser automation in a sandboxed, least-privileged environment with an isolated Chrome profile containing only the account required for the task.
- Restrict filesystem and environment-variable access where supported, and avoid exposing unrelated credentials to the installation or browser process.
- Replace the repeated unpinned command at line 183 with the same pinned, integrity-verified installation procedure.
- Pin
