T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:14
- Finding
- Unverified Remote Installer Piped Directly into a Shell## Vulnerability Details **File Location**: `SKILL.md`, lines 14–20 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code ```json { "id": "uv-install", "kind": "bash", "script": "curl -LsSf https://astral.sh/uv/install.sh | sh", "bins": ["uv"], "label": "Install uv (cross-platform via bash)" } ``` ### Technical Analysis The installation command downloads content from `https://astral.sh/uv/install.sh` and streams it directly to `sh`. The downloaded payload is not pinned to a specific version, stored for inspection, checksum-verified, or authenticated with a separately verified signature. Although the Astral endpoint is consistent with the declared `uv` prerequisite, the effective installer can change after the Skill has been reviewed. A compromise of the remote endpoint, its hosting infrastructure, DNS resolution, or the relevant TLS trust chain could therefore turn Skill installation into arbitrary code execution. This behavior exceeds the minimum privileges required for the declared social-media research functionality. The runtime scripts only need an available Python environment, the `requests` dependency, and access to the ScrapeCreators API; they do not inherently require mutable remote shell code to be executed during installation. ### Attack Path 1. A user or agent initiates installation of the Skill prerequisite. 2. The installation framework invokes the configured Bash command. 3. `curl` retrieves the current response from `https://astral.sh/uv/install.sh`. 4. The response is passed directly to `sh` without local review or integrity verification. 5. If the response has been maliciously altered, arbitrary shell commands execute with the privileges of the account performing installation. 6. Those commands could access user-readable data, modify user-owned files and configuration, install additional payloads, or perform network operations. ...[truncated 688 chars]
- Remediation
- ## Remediation Suggestions 1. Remove the automatic `curl | sh` installation command and treat `uv` as an externally managed prerequisite. 2. Direct users to install `uv` through a trusted operating-system package manager or another controlled software-distribution mechanism. 3. If automated installation is essential: - Pin an exact `uv` release. - Download the release artifact to disk rather than streaming it into a shell. - Verify a published cryptographic checksum or signature obtained through a separately trusted channel. - Abort installation if verification fails. - Inspect and execute only the verified artifact. 4. Run installation under an unprivileged account and avoid `sudo` or administrator execution. 5. Where possible, replace runtime dependency resolution with a locked dependency set and verified hashes to improve reproducibility and reduce supply-chain exposure. 6. Document the expected files and environment changes made by prerequisite installation so users can assess its scope before approval.
