T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:76- Finding
Mutable Remote Installation Scripts Are Downloaded and Executed Without Verification
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 76-81
Vulnerability Type: Remote payload retrieval and immediate shell execution
Risk Level: HighVulnerable Code
bash curl -fsSL https://raw.githubusercontent.com/brave/brave-search-cli/main/scripts/install.sh | shpowershell powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/brave/brave-search-cli/main/scripts/install.ps1 | iex"Technical Analysis
Both installation commands retrieve scripts from the mutable
mainbranch of an external GitHub repository and execute the responses immediately. The downloaded content is not pinned to a commit, saved for inspection, checked against a cryptographic hash, or verified using a digital signature.The PowerShell variant additionally invokes
ExecutionPolicy Bypass, deliberately disabling a local execution-policy safeguard for the process. HTTPS protects data in transit but does not protect against compromise of the upstream repository, maintainer account, branch, release process, or served content.This behavior is not necessary for the Skill's web-search functionality. A versioned, integrity-verified binary installation would provide the required
bxexecutable without granting mutable remote content an immediate shell execution channel.Attack Path
- An attacker compromises the upstream repository, a maintainer account, or the remote installation script.
- The attacker inserts arbitrary shell or PowerShell commands into the script served from the
mainbranch. - A user or agent follows the documented Quick Start command.
curlorInvoke-RestMethodretrieves the attacker-controlled response.shorInvoke-Expressionexecutes that response without an inspection or integrity-verification boundary.- The payload operates with all permissions held by the invoking user and may install further components, access credentials, modify file ...[truncated 665 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove all pipe-to-shell and
Invoke-Expressioninstallation instructions. - Do not use
ExecutionPolicy Bypass. - Download an immutable, versioned release asset to a local file before execution.
- Publish and verify a separate SHA-256 checksum for every supported platform.
- Prefer cryptographic release signatures with a documented, independently distributed verification key.
- Fail closed if checksum or signature verification fails.
- Pin scripts to a reviewed commit if scripts must be used, although signed release binaries are preferable.
- Display the downloaded script for inspection and require explicit user confirmation before execution.
- Run installation with ordinary user privileges and avoid recommending administrator or root execution.
- Remove all pipe-to-shell and
