T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:60
- Finding
- Remote Installation Scripts Are Downloaded and Executed Without Verification<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 60–63 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: Critical ```bash # Install uv package manager first (if not installed) # Windows: powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # Mac/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh ``` ### Technical Analysis The installation instructions pass remotely retrieved content directly to command interpreters: - PowerShell's `irm` downloads the response and `iex` immediately evaluates it. - `curl` downloads the response and pipes it directly into `sh`. The downloaded content is not pinned to a reviewed version and is not verified using a cryptographic hash or publisher signature. Users also receive no mandatory opportunity to inspect the payload before execution. HTTPS and the use of Astral's recognized domain reduce ordinary interception risk, but they do not eliminate the risks of upstream infrastructure compromise, publisher-account compromise, DNS compromise, or future changes to the remotely hosted scripts. The effective code executed on a user's system can therefore change after this Skill has been reviewed. ### Attack Path 1. An attacker compromises the remote installer, its hosting infrastructure, the publisher account, or the delivery path. 2. A user follows the installation command documented in `SKILL.md`. 3. The attacker's modified response is downloaded from the expected URL. 4. `iex` or `sh` executes the response immediately without integrity verification. 5. The payload performs arbitrary actions using the invoking user's privileges. ### Impact Assessment A malicious installer could obtain all privileges available to the invoking user. Depending on that user's permissions, the payload could: - Read, modify, encrypt, or delete user-accessible files. - Access environment variables and locally available credentials. - Install additional software or persistence mechanisms. ...[truncated 364 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove both pipe-to-interpreter installation commands. 2. Direct users to the publisher's official manual installation documentation instead. 3. If automated installation is necessary: - Download a versioned installer artifact to a local file. - Pin the expected release version. - Verify a publisher signature or a documented SHA-256 digest. - Abort installation if verification fails. - Allow the user to inspect the downloaded file before execution. 4. Run installation with ordinary user privileges and explicitly warn users not to invoke it as an administrator or through `sudo`. 5. Prefer platform package managers that support signed, versioned packages. 6. Document the source, expected digest, destination files, and permissions needed by the installer. ]]>
