T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:78
- Finding
- Unverified Remote Installer Is Piped Directly into a Shell## Vulnerability Details **File Location**: `SKILL.md:78` **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High **Vulnerable Code**: ```markdown 1. **Check prerequisites**: Verify `uvx` is available. If not, instruct the user to install uv: `curl -LsSf https://astral.sh/uv/install.sh | sh` ``` ### Technical Analysis The installation instruction downloads a mutable script from an external URL and immediately pipes it into `sh`. The downloaded content is not displayed for review, pinned to a known release, or verified using a checksum or cryptographic signature. Although `astral.sh` appears to be the legitimate upstream domain for the required `uv` utility, the effective code executed by this instruction is not part of the audited project and can change after review. Compromise of the upstream hosting environment, delivery infrastructure, DNS resolution, or TLS trust chain could therefore turn this command into an arbitrary-code execution channel. Installing the prerequisite is relevant to the Skill, but direct execution of an unverified network response exceeds the minimum privileges and trust necessary to provide installation guidance. A safer approach would separate retrieval from execution and require verification. ### Attack Path 1. A user invokes the Skill on a system where `uvx` is unavailable. 2. The Agent follows `SKILL.md` and presents or executes the documented installation command. 3. `curl` retrieves the current response from `https://astral.sh/uv/install.sh`. 4. The response is streamed directly to `sh` without integrity verification or user inspection. 5. If the remote response or delivery path has been compromised, attacker-controlled shell commands execute immediately. 6. Those commands operate with all permissions available to the user or Agent process that launched the shell. ### Impact Assessment Successful exploitation permits arbitrary command execution under the ...[truncated 517 chars]
- Remediation
- ## Remediation Suggestions 1. Remove the `curl | sh` instruction and link users to the official installation documentation instead. 2. Prefer a trusted operating-system package manager or another installation mechanism that provides package signing and version control. 3. If a standalone installer is required, download it without execution: ```bash curl -fL -o uv-install.sh https://astral.sh/uv/install.sh ``` 4. Pin the installer to a reviewed release rather than a mutable endpoint. 5. Verify a checksum or cryptographic signature published through an independent trusted channel. 6. Allow the user to inspect the downloaded file before running it. 7. Run installation without elevated privileges and document the files and directories that the installer will modify.
