T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:62
- Finding
- Unverified Remote Installer Download and Immediate Shell Execution<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 62–66 **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 external URLs and immediately execute the responses through Bash or PowerShell. Neither command pins an installer version, validates a cryptographic checksum or signature, nor provides an inspection step before execution. Although the remote host is associated with the OOMOL service used by the Skill, that relationship does not establish the integrity of every future response from the installation endpoints. If the website, hosting infrastructure, domain, DNS resolution, TLS delivery path, or release process is compromised, the downloaded content can be replaced after the Skill has been reviewed. Installing the required CLI may be legitimate, but direct `curl | bash` and `irm | iex` execution exceeds the minimum privilege and trust necessary to perform installation. It grants the remote response the full privileges of the user running the command. The instruction is presented only as a fallback after `oo: command not found`, which reduces execution frequency but does not mitigate the underlying arbitrary-code execution risk. ### Attack Path 1. An attacker compromises or gains the ability to modify `https://cli.oomol.com/install.sh` or `https://cli.oomol.com/install.ps1`, or redirects traffic to an attacker-controlled response. 2. The `oo` CLI is absent from the target environment. 3. Following the Skill’s first-time setup instructions, the user or Agent runs the applicable installation command. 4. The command downloads the current remote response without integrity verification. 5. Bash or PowerShell immediately interpr ...[truncated 964 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove direct `curl | bash` and `irm | iex` installation commands. 2. Direct users to a version-pinned official release artifact rather than a mutable installer endpoint. 3. Download the artifact without executing it: - Use `curl` or PowerShell only to save the installer to a local file. - Display the source URL and destination clearly. 4. Publish and verify a cryptographic SHA-256 or stronger checksum before execution. 5. Prefer a signed package or installer and validate its signature against a documented publisher key. 6. Allow the user to inspect the downloaded script before explicitly executing it. 7. Prefer trusted operating-system package managers where packages are signed and versions can be pinned. 8. Run installation with ordinary user privileges unless a documented installation step strictly requires elevation. 9. Document the installer’s expected filesystem changes, network access, and required permissions. 10. Preserve the existing behavior of attempting installation only after a confirmed `oo: command not found` error, but require explicit user approval before downloading or executing installer code. ]]>
