T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:30
- Finding
- Remote Installer Is Downloaded and Executed Without Integrity Verification<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:30` **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code ```bash curl -LsSf https://astral.sh/uv/install.sh | sh ``` ### Technical Analysis The installation instructions pipe a remotely retrieved script directly into a shell. The script is mutable external content and is neither pinned to a specific version nor verified using a cryptographic checksum or signature. Although the URL uses HTTPS and belongs to a recognized package-management project, HTTPS does not protect users from an upstream compromise, malicious release, compromised hosting infrastructure, or unexpected future changes to the installation script. The effective code executed by the skill user can therefore differ from the code reviewed during this audit. This behavior exceeds the minimum privileges needed to document dependency installation because a package manager can instead be installed from a pinned, independently verified artifact. ### Attack Path 1. An attacker compromises the upstream script, hosting infrastructure, release process, or another component capable of controlling the response. 2. A user follows the documented Quick Install command. 3. `curl` downloads the attacker-controlled response. 4. The response is passed immediately to `sh` without inspection or integrity verification. 5. The payload executes with all permissions available to the user's shell. ### Impact Assessment A malicious response can execute arbitrary commands under the installing user's account. It could read or alter user-accessible files, steal credentials, modify shell configuration, install additional persistence, or download and execute further payloads. The scope is equivalent to arbitrary code execution with the privileges of the user following the installation instructions. ]]>
- Remediation
- <![CDATA[ ## Remediation Suggestions - Remove the direct `curl | sh` installation command. - Direct users to a trusted package manager or a versioned release artifact. - Pin the installer or binary to a specific release. - Publish and verify a SHA-256 or stronger digest before execution. - Where available, verify a release signature against a documented maintainer key. - Download the artifact as a separate step so users can inspect it before execution. - Document the exact expected version and update process. For example: ```bash curl -fL -o uv-installer.sh "https://example.invalid/releases/vX.Y.Z/install.sh" echo "<EXPECTED_SHA256> uv-installer.sh" | sha256sum -c - sh uv-installer.sh ``` ]]>
