T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:213
- Finding
- Unverified Remote Installer Is Executed Directly by the Shell## Vulnerability Details **File Location**: `SKILL.md`, lines 213-218 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: Critical **Vulnerable Code**: ```bash # macOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Windows powershell -c "irm https://astral.sh/uv/install.ps1 | iex" ``` ### Technical Analysis The installation instructions retrieve a mutable script from an external server and immediately execute the response using `sh` or PowerShell `Invoke-Expression`. The content is not pinned to a reviewed version and is not validated using a cryptographic hash or publisher signature before execution. Even if `astral.sh` is the expected official source for `uv`, the effective code executed by these commands can change after the Skill has been reviewed. Compromise of the upstream site, distribution infrastructure, DNS resolution, or trusted TLS environment could replace the installer with arbitrary commands. This behavior exceeds the minimum privileges needed for the declared web-search functionality. The search script requires Python and the `ddgs` package, but it does not inherently require executing a live remote installer. The installer receives all privileges of the user running the documented command. ### Attack Path 1. A user follows the documented instructions because `uv` is not installed. 2. The shell or PowerShell client requests the current installer from the external URL. 3. An upstream compromise or network trust failure causes a malicious response to be returned. 4. The pipe passes the response directly to `sh`, or `Invoke-Expression` evaluates it in PowerShell. 5. The remote payload executes without an opportunity for version verification, checksum validation, or review. 6. The payload performs arbitrary actions under the invoking user's identity. ### Impact Assessment Successful exploitation provides arbitrary code execution with the privileges of the use ...[truncated 718 chars]
- Remediation
- ## Remediation Suggestions - Remove all `curl | sh` and `Invoke-Expression` installation instructions. - Prefer installation through a trusted operating-system package manager with signed packages and a documented, version-pinned release. - If a standalone installer is necessary, require users to: 1. Download a specific immutable release artifact. 2. Obtain its expected SHA-256 digest from a separately authenticated source. 3. Verify the digest or publisher signature. 4. Inspect the downloaded script before execution. 5. Execute it as an ordinary, non-administrative user. - Document a `pip`-based installation path that does not require `uv`. - Pin the supported `uv` version and update it through a controlled review process. - Avoid suppressing diagnostic output during security-sensitive downloads so users can identify unexpected redirects or failures.
