T03 · Remote Payload Retrieval and Execution
Error
- Location
- install.sh:34
- Finding
- Remote Installer Is Downloaded and Executed Without Integrity Verification## Vulnerability Details **File Location**: `install.sh:34-38`; duplicated in installation guidance at `README.md:76-82` **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code ```bash # Install uv if missing if ! check_command uv; then echo "📦 Installing uv..." curl -LsSf https://astral.sh/uv/install.sh | sh export PATH="$HOME/.local/bin:$PATH" fi ``` The README instructs users to perform the same operation: ```bash # 2. Install uv curl -LsSf https://astral.sh/uv/install.sh | sh # 3. Install mlx-audio uv tool install --force mlx-audio --prerelease=allow ``` ### Technical Analysis The installer pipes an HTTPS response directly into a shell. Although `astral.sh` is associated with the legitimate `uv` project, the downloaded content is mutable and is neither version-pinned nor authenticated with a published checksum or signature. This means the effective code executed during installation can differ from the code reviewed in this project. A compromise of the upstream website, delivery infrastructure, DNS/TLS trust chain, or installer publishing process could result in arbitrary shell commands being returned and immediately executed. Installing `uv` is relevant to the Skill's functionality, but directly executing an unverified remote response exceeds the minimum privilege and trust necessary to install that dependency safely. ### Attack Path 1. An attacker compromises the upstream installer endpoint or an element of its delivery chain. 2. The attacker modifies the response from `https://astral.sh/uv/install.sh`. 3. A user runs `./install.sh` or copies the command from the README. 4. `curl` downloads the attacker-controlled response. 5. The pipe passes the response directly to `sh` without inspection or integrity verification. 6. The payload executes with all permissions of the user running the installer. ### Impact Assessment A s ...[truncated 607 chars]
- Remediation
- ## Remediation Suggestions 1. Remove all `curl | sh` instructions from both `install.sh` and `README.md`. 2. Prefer installation through a trusted operating-system package manager, such as: ```bash brew install uv ``` 3. If direct installation is necessary: - Pin a specific `uv` release. - Download the release artifact to disk. - Verify a publisher-provided cryptographic checksum or signature. - Abort installation if verification fails. - Execute the verified local artifact only after validation. 4. Display the exact version and source that will be installed before changing the system. 5. Avoid requesting elevated privileges for any dependency that can be installed within the user's account.
