T03 · Remote Payload Retrieval and Execution
Error
- Location
- README.md:60
- Finding
- Remote Installer Content Is Executed Directly by the User's Shell<![CDATA[ ## Vulnerability Details **File Location**: `README.md`, lines 60-63 **Vulnerability Type**: Remote script retrieval followed by immediate shell execution **Risk Level**: Critical ### Vulnerable Code ```bash # macOS / Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Windows powershell -c "irm https://astral.sh/uv/install.ps1 | iex" ``` ### Technical Analysis The installation instructions retrieve mutable content from an external URL and immediately execute it using `sh` or PowerShell's `Invoke-Expression`. There is no intervening inspection, cryptographic checksum verification, signature verification, or immutable version selection. Consequently, the effective code executed by these commands can change after this project has been reviewed. HTTPS protects the connection in transit under normal conditions, but it does not protect against compromise of the hosting account, domain, deployment pipeline, upstream installer, or trusted certificate infrastructure. This behavior is not required for the Skill's fund-management functionality. It is only an installation convenience and exceeds the minimum safe privilege boundary by permitting externally controlled content to execute with the invoking user's permissions. ### Attack Path 1. An attacker compromises the remote installer, its hosting infrastructure, DNS resolution, deployment credentials, or another trusted component in the delivery chain. 2. The attacker modifies `install.sh` or `install.ps1` to contain malicious commands. 3. A user follows the documented installation command. 4. `curl` or `Invoke-RestMethod` retrieves the modified payload. 5. The shell executes the response immediately, without giving the user an opportunity to inspect or verify it. 6. The payload operates with the privileges of the user running the installation command. ### Impact Assessment Successful exploitation provides arbitrary command execution under the invoking user's account. Depending on that account's ...[truncated 504 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove all pipe-to-shell and download-to-`Invoke-Expression` installation instructions. 2. Prefer a trusted operating-system package manager with a pinned package version. 3. If a standalone installer is necessary: - Link to an immutable, versioned release artifact. - Publish a SHA-256 or stronger digest through an independent trusted channel. - Provide signature-verification instructions. - Require users to download the artifact first, verify it, and only then execute it. 4. Document the exact expected installer version and provenance. 5. Recommend installation from a non-elevated account unless elevated privileges are explicitly necessary. 6. Keep a safer alternative, such as a pinned Python package or reviewed source archive, as the primary installation method. ]]>
