T03 · Remote Payload Retrieval and Execution
- Location
install.sh:53- Finding
Mutable remote installer scripts are executed without integrity verification
- Content
View full analysis
/dev/null 2>&1; then curl -LsSf https://astral.sh/uv/install.sh | sh elif command -v wget >/dev/null 2>&1; then wget -qO- https://astral.sh/uv/install.sh | sh ``` `real-trade-skill/install.ps1:24-30`: ```powershell Log "未检测到 uv,自动安装..." try { Invoke-RestMethod https://astral.sh/uv/install.ps1 | Invoke-Expression } catch { Fail "uv 自动安装失败,请手动安装后重试。文档:https://docs.astral.sh/uv/getting-started/installation/" } ``` ### Technical Analysis The installation process retrieves a mutable script from an external URL and sends its contents directly to a command interpreter. The downloaded response is not pinned to a specific release, inspected, or verified against a cryptographic checksum or digital signature. HTTPS authenticates the server according to the local trust store, but it does not ensure that the content currently served is identical to the content reviewed during this audit. A compromise of the upstream server, hosting account, DNS or certificate trust chain, content-delivery infrastructure, or build pipeline could therefore change the effective installer payload after publication. This behavior exceeds the minimum privilege necessary to install the Skill. The installer could instead require a separately installed package manager or verify a versioned artifact before executing it. ### Attack Path 1. The user invokes the root shell installer or a PowerShell installer. 2. The installer determines that `uv` is unavailable. 3. It retrieves the current response from `astral.sh`. 4. The response is passed directly to `sh` or `Invoke-Expression`. 5. If the remote source or delivery path has been compromised, a ...[truncated 935 chars]- Remediation
View remediation
