T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:59
- Finding
- Unverified Remote Installer Download and Immediate Shell Execution<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 59–63 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: Critical ### 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 setup instructions download mutable content from an external server and pass the response directly to a command interpreter. The Bash command pipes the HTTP response into `bash`, while the PowerShell command passes it to `Invoke-Expression` through the `iex` alias. Neither command pins an installer version, verifies a cryptographic signature or checksum, nor provides an inspection step before execution. HTTPS protects the connection in transit but does not guarantee that the remote script is immutable or free from compromise. If the OOMOL domain, hosting infrastructure, CDN, DNS resolution, publishing account, or installer delivery process is compromised, an attacker can replace the response with arbitrary commands. Installing the CLI when it is absent may support the Skill's functionality, but immediate streamed execution is not required. A release artifact can instead be downloaded separately, pinned to a specific version, verified, and only then executed. The installation operation can also modify the host beyond the Skill's declared read-only Clari Copilot operations. ### Attack Path 1. The `oo` command is unavailable, causing the user or agent to follow the first-time setup instructions. 2. An attacker compromises or gains control over an element of the remote installer delivery chain. 3. The attacker modifies `install.sh` or `install.ps1` to contain a malicious payload. 4. The documented command retrieves the modified response. 5. The response is immediately interpreted by Bash or PowerShell without integrity verification or review. 6. The payload executes with the ...[truncated 1177 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove the direct `curl | bash` and `irm | iex` installation instructions. 2. Pin installation to a specific, reviewed CLI release rather than a mutable installer URL. 3. Download the release artifact to a local file as a separate operation. 4. Publish a SHA-256 checksum or cryptographic signature through an independently protected channel and verify it before execution. 5. Require users to inspect the downloaded script or package before running it. 6. Prefer a trusted operating-system package manager where packages are signed and versions can be pinned. 7. Document all filesystem, environment, and system configuration changes performed by installation. 8. Recommend non-administrative installation and explicitly warn users not to run the installer with elevated privileges unless a documented operation requires them. 9. If an installer script remains necessary, use an immutable versioned URL and fail closed when signature or checksum validation fails. A safer conceptual workflow is: ```bash curl -fSLo oo-install.sh "https://<trusted-host>/<pinned-version>/install.sh" echo "<published-sha256> oo-install.sh" | sha256sum --check - less oo-install.sh bash oo-install.sh ``` The checksum must come from a trusted, authenticated source and must correspond to a pinned release. ]]>
