T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:63
- Finding
- Unpinned Remote Installer Downloaded and Executed Directly## Vulnerability Details **File Location**: `SKILL.md`, lines 63–67 **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 first-time setup instructions download mutable scripts from an external server and immediately execute the returned content using Bash or PowerShell. The instructions do not pin an installer version, verify a cryptographic checksum or signature, or give the user an opportunity to inspect the downloaded file before execution. HTTPS authenticates and protects the transport connection under normal conditions, but it does not ensure that future content served from the URL is identical to the content reviewed during this audit. Compromise of the domain, web server, deployment process, DNS infrastructure, signing credentials, or OOMOL distribution account could therefore turn these installation commands into arbitrary code-execution channels. Installing the CLI may be necessary when it is absent, but immediate pipe-to-shell execution exceeds the minimum privileges and trust required for installation. The Skill also states that users should normally have the CLI installed already, making this behavior ancillary rather than necessary for routine Fly.io operations. ### Attack Path 1. The `oo` command is unavailable and an authentication or connection task causes setup instructions to be consulted. 2. An agent or user follows the documented macOS/Linux or Windows installation command. 3. The command retrieves the current response from `cli.oomol.com`. 4. Bash or PowerShell executes the response immediately without integrity or authenticity validation at the artifact level. 5. If the remote distribution channel has been compromised, attacker-controlled comma ...[truncated 1223 chars]
- Remediation
- ## Remediation Suggestions 1. Remove direct `curl | bash` and `irm | iex` installation instructions. 2. Prefer a trusted operating-system package manager or an official repository that supports signed, versioned packages. 3. If direct installation is unavoidable: - Pin the download to a specific immutable CLI version. - Download the installer or binary to a local file without executing it. - Publish and verify a SHA-256 or stronger checksum obtained through a separately protected channel. - Verify a cryptographic signature from a documented, pinned publisher key. - Allow the user to inspect the downloaded artifact before execution. - Execute it only after explicit user approval. 4. Do not automatically install software in response to a failed action. Report that the CLI is missing and request confirmation before changing the local environment. 5. Run installation with ordinary user privileges and clearly document whether any step requires elevation. 6. Publish reproducible source, immutable release artifacts, release provenance, and a security policy for the CLI distribution process.
