T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:103
- Finding
- Unverified Remote Installer Execution via Shell<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 103–107 **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 download mutable scripts from an external server and immediately execute them through `bash` or PowerShell's `Invoke-Expression` (`iex`). Neither command pins an installer version, verifies a cryptographic signature or checksum, nor provides an inspection step before execution. HTTPS authenticates and encrypts the connection under normal conditions, but it does not establish that the retrieved script is a previously audited artifact. Compromise of the hosting infrastructure, publishing account, DNS configuration, TLS endpoint, or installer generation process could cause these commands to execute attacker-controlled code. Installing the CLI is relevant to the Skill's operation and is presented only as a fallback when `oo` is unavailable. Nevertheless, direct remote-to-shell execution exceeds the minimum privileges and trust necessary to install a client. A downloaded, version-pinned, independently verified package would provide the required functionality with substantially less supply-chain risk. ### Attack Path 1. An attacker compromises the installer host, deployment pipeline, publishing credentials, or another component capable of changing `install.sh` or `install.ps1`. 2. A user or agent encounters the documented `oo: command not found` condition. 3. The user or agent runs the recommended installation command. 4. `curl` or `Invoke-RestMethod` retrieves the attacker-controlled script. 5. The pipe to `bash` or `iex` executes the script immediately without integrity verification or review. 6. The payload performs arbitrary actions using the permi ...[truncated 1000 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove all pipe-to-shell and `Invoke-Expression` installation instructions. 2. Distribute the CLI through a trusted operating-system package manager or an official release repository. 3. Pin the installer or package to a specific reviewed version rather than a mutable latest-version URL. 4. Publish cryptographic checksums and, preferably, signed release artifacts with independently verifiable signing keys. 5. Require users to download the artifact first, verify its signature or checksum, and inspect it before execution. 6. Avoid requesting administrator privileges unless a specific installation step requires them; prefer a user-scoped installation. 7. Document the expected files, destinations, and permission changes made by the installer. 8. If a bootstrap script remains necessary, use a pattern such as: ```bash curl -fSLo oo-install.sh "https://trusted.example/releases/<pinned-version>/install.sh" echo "<expected-sha256> oo-install.sh" | sha256sum --check less oo-install.sh bash oo-install.sh ``` 9. For Windows, download a signed artifact to disk, validate its Authenticode signature and expected publisher, and then execute it directly without `iex`. ]]>
