T03 · Remote Payload Retrieval and Execution
- Location
- SKILL.md:18
- Finding
- Recommended Installer Executes a Mutable Remote Script Without Verification<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 18–23 **Vulnerability Type**: Remote payload retrieval and immediate shell execution **Risk Level**: High ### Vulnerable Code ```bash ### One-line Install (Recommended) ```bash # macOS / Linux curl -fsSL https://browser-use.com/cli/install.sh | bash # Windows (PowerShell) & "C:\Program Files\Git\bin\bash.exe" -c 'curl -fsSL https://browser-use.com/cli/install.sh | bash' ``` ### Technical Analysis The recommended installation method downloads content from `https://browser-use.com/cli/install.sh` and pipes it directly into Bash. The downloaded response is neither displayed for review nor checked against a pinned version, cryptographic digest, or trusted signature before execution. Consequently, the code that executes is determined at installation time rather than audit time. The effective payload can change without any modification to this skill package. HTTPS protects the connection in transit under normal conditions, but it does not protect users if the hosting account, web server, domain, release process, or another component in the upstream trust chain is compromised. The Windows instruction reproduces the same behavior by invoking Git Bash from PowerShell. This does not mitigate the underlying risk. Installation is necessary for the skill's declared browser-automation functionality, but immediate execution of an unverified remote response is not the minimum necessary installation mechanism. The document already presents a package-manager-based alternative, although that alternative also requires dependency pinning improvements. ### Attack Path 1. An attacker compromises the installer hosting infrastructure, deployment credentials, domain, or another component capable of changing the response returned from the installer URL. 2. The attacker modifies `install.sh` to contain malicious shell commands. 3. A user or agent follows the explicitly recommended one-line installation instru ...[truncated 1185 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove `curl | bash` from the recommended installation workflow. 2. Publish immutable, versioned installer artifacts rather than relying on a mutable URL. 3. Download the selected installer to a local file before execution: ```bash curl -fL -o browser-use-install.sh \ https://example.invalid/releases/vX.Y.Z/browser-use-install.sh ``` 4. Publish the expected SHA-256 digest through a separately controlled release channel and verify it before execution: ```bash echo "<EXPECTED_SHA256> browser-use-install.sh" | sha256sum --check ``` 5. Cryptographically sign release artifacts and document signature verification against a pinned publisher key. 6. Instruct users to inspect the downloaded script and execute it only after verification: ```bash less browser-use-install.sh bash browser-use-install.sh ``` 7. Pin the installer and resulting package to an audited release. 8. Explicitly instruct users not to run the installer as root or administrator unless a documented operation strictly requires elevation. 9. Document every file, executable, browser component, network request, and configuration entry created by installation. 10. Provide rollback and uninstall procedures so users can remove all installed components safely. ]]>
