T03 · Remote Payload Retrieval and Execution
Error
- Location
- README.md:27
- Finding
- Remote Installer Content Is Executed Without Integrity Verification<![CDATA[ ## Vulnerability Details **File Location**: `README.md:27-30` **Vulnerability Type**: Remote payload retrieval and immediate execution **Risk Level**: Critical ### Vulnerable Code ```bash # 1. Install uv once (https://docs.astral.sh/uv/) # Windows: powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh ``` ### Technical Analysis The documented installation commands retrieve mutable content from an external server and immediately pass it to a PowerShell or POSIX shell interpreter. The downloaded installer is not saved for inspection, pinned to a version, or verified using a cryptographic checksum or signature. The referenced domain is consistent with the official Astral `uv` installer, and the audit found no evidence that the current project intentionally controls or replaces that payload. Nevertheless, the effective code executed by the user can change after this Skill has been reviewed. Trust in the repository alone is therefore insufficient to establish the safety of the executed installer. This behavior exceeds the minimum privilege required to explain how to install `uv`: installation can instead use a trusted package manager or a separately downloaded and verified artifact. ### Attack Path 1. A user follows the Quick Start instructions. 2. An attacker compromises the installer publication process, remote hosting account, DNS/TLS trust path, or another relevant distribution component. 3. The remote endpoint returns attacker-controlled shell or PowerShell content. 4. `curl` or `irm` retrieves the modified content. 5. The pipeline passes it directly to `sh` or `iex`. 6. The payload executes with all privileges available to the invoking user. ### Impact Assessment A successful attack provides arbitrary code execution under the user account running the installation command. The payload could read or alter files accessible to that account, collect environment credential ...[truncated 200 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove all `curl | sh` and `irm | iex` installation examples. 2. Prefer installation through a trusted, platform-specific package manager with versioned packages. 3. If a standalone installer is necessary: - Download it to a local file without executing it. - Pin the installer to a specific release. - Obtain the expected checksum or signature through an independently authenticated release channel. - Verify the artifact before execution. - Run the verified local file as a separate command. 4. Document the expected publisher, release version, checksum algorithm, and verification command. 5. Advise users not to run installation commands from an elevated shell unless elevation is explicitly necessary. ]]>
