T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:55
- Finding
- Unverified Remote Installer Scripts Executed Directly by Shells<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 55–59 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code ```bash curl -fsSL https://cli.oomol.com/install.sh | bash # macOS / Linux ``` ```powershell irm https://cli.oomol.com/install.ps1 | iex # Windows PowerShell ``` ### Technical Analysis The installation instructions retrieve mutable scripts from `cli.oomol.com` and pass their contents directly to Bash or PowerShell. Neither command pins an installer version, verifies a cryptographic signature, validates a checksum, nor gives the user an opportunity to inspect the downloaded code before execution. The source domain is consistent with the declared OOMOL provider, and the instructions only recommend installation after an `oo: command not found` error. However, TLS and a provider-controlled domain do not guarantee that the retrieved script will remain identical to what was reviewed. Compromise of the domain, hosting infrastructure, release pipeline, DNS/TLS path, or publisher account could turn these commands into arbitrary remote-code-execution channels. Direct remote script execution is not the minimum privilege or safest mechanism required to install the CLI. A versioned and integrity-verified installation process can provide the same functionality with substantially less supply-chain risk. ### Attack Path 1. The `oo` command is unavailable, causing the user or agent to follow the first-time setup instructions. 2. An attacker compromises the installer host, deployment pipeline, publisher account, or relevant network infrastructure. 3. The attacker replaces `install.sh` or `install.ps1` with a malicious payload. 4. `curl | bash` or `irm | iex` downloads and executes the altered payload without integrity verification or review. 5. The payload runs with the privileges of the invoking user and can perform any operation available to that account. ### Impact Assessme ...[truncated 859 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Do not pipe network responses directly into Bash, PowerShell, or another interpreter. 2. Prefer a trusted platform package manager with a version-pinned package and publisher verification. 3. If standalone installers are necessary: - Download a specific, immutable release artifact to a local file. - Publish its expected SHA-256 or stronger digest through an independently protected release channel. - Verify the digest before execution. - Verify a cryptographic publisher signature where supported. - Abort installation if any verification fails. 4. Display the resolved artifact version and source to the user, and require explicit approval before running downloaded code. 5. Execute installation with ordinary user privileges unless a specific operation demonstrably requires elevation. 6. Document the files, directories, network destinations, and configuration changes made by the installer. 7. Provide reproducible release artifacts and retain versioned installers so the executed content can be matched to the reviewed release. 8. Replace the current examples with a download-verify-execute sequence rather than `curl | bash` or `irm | iex`. ]]>
