T03 · Remote Payload Retrieval and Execution
- Location
scripts/setup_env.sh:13- Finding
Mutable Remote Installer Is Downloaded and Executed Without Verification
- Content
View full analysis
/dev/null; then echo "✅ uv is installed: $(uv --version)" else echo "📦 uv was not detected; installing..." curl -LsSf https://astral.sh/uv/install.sh | sh ``` ### Technical Analysis The documented setup process retrieves a shell script from an external URL and pipes the response directly into `sh`. The retrieved content is not pinned to a reviewed version and is not verified using a cryptographic checksum or digital signature. HTTPS provides transport protection but does not guarantee that the remote source, account, release process, DNS resolution, or delivered content will remain trustworthy after the Skill has been reviewed. The effective code executed by this project can therefore change independently of the audited repository. This operation is part of the declared setup workflow because `selfskill/scripts/run.sh setup` invokes `scripts/setup_env.sh`. ### Attack Path 1. A user follows the documented setup procedure and runs `bash selfskill/scripts/run.sh setup`. 2. `run.sh` invokes `scripts/setup_env.sh`. 3. If `uv` is absent, the script requests the current contents of `https://astral.sh/uv/install.sh`. 4. The HTTP response is passed directly to `sh` without being saved or verified. 5. A compromised or malicious response executes with the privileges of the user performing installation. ### Impact Assessment Successful exploitation provides arbitrary command execution under the installing user's account. The payload could access user files, environment variables, API credentials, SSH material available to that user, or install additional persistence. If installation is performed with elevated privileges, the impact may extend to full system compromise. ]]>- Remediation
View remediation
