T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:59
- Finding
- Unverified Remote Installer Scripts Executed Directly by Shells## Vulnerability Details **File Location**: `SKILL.md`, lines 59–68 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: Critical ```markdown - **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>): ```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 setup instructions retrieve mutable scripts from external URLs and immediately execute the returned content using `bash` or PowerShell `Invoke-Expression`. The instructions do not pin an installer version, verify a cryptographic checksum or signature, or provide an opportunity to inspect the downloaded script before execution. HTTPS protects data in transit but does not establish that the current script is the same payload that was reviewed. Compromise of the hosting infrastructure, domain, DNS configuration, TLS credentials, or vendor publishing account could replace the installer after publication. A server-side error or malicious response would also be treated as executable code. Installing the required CLI supports the Skill's declared functionality, but direct execution of an unverified network response is not the minimum privilege or safest installation mechanism. The downloaded payload receives the permissions of the user running the command. ### Attack Path 1. An attacker compromises the installer host, vendor publishing account, DNS configuration, or another component capable of controlling the response from `cli.oomol.com`. 2. The attacker modifies `install.sh` or `install.ps1` to include arbitrary malicious commands. 3. A user or agent encounters an `oo: command not found` error and follows the documented installation command. 4. `curl` or `Invoke-RestMethod` downloads the attacker-controlled response. 5. ...[truncated 1151 chars]
- Remediation
- ## Remediation Suggestions - Remove the `curl | bash` and `Invoke-RestMethod | Invoke-Expression` installation patterns. - Prefer a trusted platform package manager or a version-pinned release artifact. - Publish cryptographic checksums and, preferably, signed release artifacts with documented signature verification. - Download the installer to a local file, verify its checksum or signature against an independently distributed trusted value, and only then execute it. - Pin the installer and CLI to an explicit reviewed version rather than retrieving a mutable latest installer. - Document the files, permissions, and system changes made by the installer. - Do not automatically install the CLI in response to a command failure. Require informed user approval before downloading or executing installation code. - Run installation with ordinary user privileges unless a narrowly documented operation specifically requires elevation. - For PowerShell, avoid `Invoke-Expression`; invoke a verified local script file using an appropriate execution policy. - Provide manual installation instructions so users can inspect the artifact and commands before execution.
