T03 · Remote Payload Retrieval and Execution
Error
- Location
- README.md:59
- Finding
- Unverified Remote Installer Executed Directly by a Shell<![CDATA[ ## Vulnerability Details **File Location**: `README.md`, line 59 **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 stream a remotely hosted script directly into `sh`. The effective code is retrieved at execution time and is not pinned to a reviewed version, checked against a cryptographic hash, or verified using a signature. Although `astral.sh` is associated with the legitimate `uv` project, this pattern makes local execution dependent on mutable remote content and the security of the hosting service, DNS resolution, certificate trust chain, and delivery infrastructure. The project also documents `venv`, `conda`, and `pip` installation methods, so executing a remote installer is not necessary for the Skill's declared PDF extraction functionality. ### Attack Path 1. A user or agent follows the recommended installation instructions. 2. The shell retrieves the current contents of `https://astral.sh/uv/install.sh`. 3. An attacker compromises the hosting account, delivery infrastructure, DNS path, or another trusted component. 4. The attacker substitutes malicious shell commands in the downloaded response. 5. Because the response is piped directly to `sh`, the commands execute without inspection or integrity verification. 6. The payload runs with all permissions available to the invoking user. ### Impact Assessment Successful exploitation provides arbitrary command execution under the user's account. The payload could read or alter accessible files, steal API credentials and environment variables, install persistence, modify development tools, or download additional payloads. If the command is run from a privileged shell, the impact extends to those elevated privileges. ]]>
- Remediation
- <![CDATA[ ## Remediation Suggestions - Remove the `curl | sh` pipeline and recommend the existing built-in `venv` and `pip` installation path by default. - If `uv` is required, use a trusted platform package manager with a version constraint. - Alternatively, download a fixed-version release artifact as a separate step, verify its official cryptographic signature or published SHA-256 checksum, and only then execute it. - Pin the expected installer or artifact version so that reviewed installation instructions cannot silently begin executing different code. - Document that installation commands should run as an unprivileged user and should not use `sudo` unless strictly required. ]]>
