T03 · Remote Payload Retrieval and Execution
- Location
scripts/translate_paper.sh:7- Finding
Unverified Remote Installer Is Piped Directly Into a Shell
- Content
View full analysis
/dev/null || { echo "Installing uv..."; curl -Ls https://astral.sh/uv/install.sh | sh; } ``` ### Technical Analysis When `uv` is unavailable, the script retrieves mutable content from `https://astral.sh/uv/install.sh` and immediately passes it to `sh`. The downloaded content is not pinned to an audited version and is not verified using a checksum or cryptographic signature. HTTPS authenticates the connection under normal conditions, but it does not ensure that the server continues to return the same audited payload. Compromise of the hosting service, distribution infrastructure, DNS or certificate trust path, or the upstream installer could replace the response with arbitrary shell commands. Automatic execution of an external installer is not necessary for the Skill's core PDF translation operation. Dependency provisioning should be separated from normal document processing and require explicit user approval. ### Attack Path 1. A user invokes `translate_paper.sh` on a system where `uv` is not present in `PATH`. 2. The condition at line 7 automatically requests the current installer from the external URL. 3. An attacker who has compromised the upstream endpoint or relevant delivery infrastructure causes it to return modified shell code. 4. The pipeline sends the response directly to `sh`, without integrity verification or an inspection boundary. 5. The malicious response executes with all permissions available to the user who launched the Skill. ### Impact Assessment Successful exploitation provides arbitrary command execution under the invoking user's account. This may permit access to that user's readable files, including the source PDF and local credentials; modification of user-owned files and configuration; execution of additional pa ...[truncated 316 chars]- Remediation
View remediation
/dev/null 2>&1; then echo "Error: uv is required. Install an approved, pinned version before running this script." >&2 exit 1 fi ``` ]]>
