T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:27
- Finding
- Unverified Remote Installer Execution for uv and Tailscale## Vulnerability Details **File Location**: `SKILL.md:27`, `SKILL.md:152-154` **Vulnerability Type**: Remote payload retrieval and immediate shell execution **Risk Level**: High ### Vulnerable Code ```bash - `uv` installed (`curl -LsSf https://astral.sh/uv/install.sh | sh`) ``` ```bash curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up ``` ### Technical Analysis The instructions pipe mutable HTTP responses directly into a shell. Although `astral.sh` and `tailscale.com` are consistent with the declared tools, the downloaded content is neither version-pinned nor verified using a checksum or cryptographic signature before execution. This construction combines retrieval and execution into one operation, preventing meaningful inspection of the effective payload. A compromise of an upstream installer, hosting account, CDN, DNS resolution path, or trusted certificate infrastructure could therefore result in arbitrary commands being executed under the invoking account. Installing uv and Tailscale is relevant to the Skill's stated purpose. However, executing mutable remote scripts without verification exceeds the minimum privilege and trust necessary to install these components safely. The subsequent `sudo tailscale up` command does not directly pipe remote content into a privileged shell, but it increases the sensitivity of the installation workflow because the newly installed software is subsequently used in a privileged networking operation. ### Attack Path 1. An attacker compromises an installer origin, deployment pipeline, CDN, or another trusted component in the delivery path. 2. The attacker modifies the response returned by `install.sh`. 3. A user follows the Skill instructions and executes the `curl | sh` command. 4. The hostile response is immediately interpreted by the local shell. 5. The payload gains the permissions of the invoking user and may modify user files, steal accessible credentials, ...[truncated 665 chars]
- Remediation
- ## Remediation Suggestions 1. Do not pipe network responses directly into a shell. 2. Prefer signed operating-system packages or an official package repository with repository-signing verification. 3. If an installation script is unavoidable, download it to a non-executable temporary file first: ```bash curl --proto '=https' --tlsv1.2 -fLo install.sh https://example.invalid/versioned/install.sh ``` 4. Pin the installer or package to an explicit release version. 5. Verify a vendor-published cryptographic signature or checksum obtained through an independently authenticated channel. 6. Inspect the downloaded script before running it. 7. Execute the installer as an unprivileged account and grant narrowly scoped privileges only where required. 8. Separate installation from `sudo tailscale up`, and verify the installed binary's source, ownership, and integrity before invoking any privileged operation.
