T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:56
- Finding
- Unverified Remote Installation Scripts Executed Directly by Shell Interpreters<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 56-65 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code ```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 installation instructions retrieve mutable scripts from `cli.oomol.com` and immediately execute them using Bash or PowerShell. Neither command pins an immutable script version nor verifies a cryptographic signature or checksum before execution. The effective code therefore may change after the Skill has been audited. Installing the required CLI when it is unavailable is related to the declared functionality. However, piping an unverified network response directly into a shell exceeds the minimum privileges and trust necessary to perform that installation. The same risk exists in both platform-specific commands: `curl | bash` on macOS/Linux and `irm | iex` on Windows. The audit found no evidence that the current remote scripts are malicious. Nevertheless, their contents are outside the reviewed project and cannot be statically verified. Compromise of the download host, DNS, TLS termination, publishing credentials, or installation infrastructure could convert these commands into an arbitrary-code execution mechanism. ### Attack Path 1. A user attempts to invoke the Skill on a system where the `oo` command is unavailable. 2. The command fails with an `oo: command not found` error. 3. The Skill's fallback instructions direct the user or Agent to run the platform-specific installation command. 4. The command retrieves the current script from `https://cli.oomol.com/install.sh` or `https://cli.oomol.com/install.ps1`. 5. Bash or PowerShell execu ...[truncated 1042 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Replace direct `curl | bash` and `irm | iex` execution with installation through a trusted platform package manager or a pinned release artifact. 2. Pin the CLI to a specific, reviewed version rather than retrieving a mutable default installer. 3. Download the installer to a local file without executing it immediately. 4. Publish and verify a cryptographic checksum or signature using a trust channel separate from the artifact download. 5. Abort installation if verification fails; do not allow an unverified fallback. 6. Present the verified script or package details to the user and require explicit approval before executing installation code. 7. Document the installer's expected filesystem changes, network destinations, privilege requirements, and whether administrative elevation is required. 8. Avoid running the installer as root or administrator unless a specific installation step demonstrably requires that privilege. A safer workflow is: ```bash curl -fL --proto '=https' --tlsv1.2 \ -o oo-install.sh \ 'https://cli.oomol.com/releases/<PINNED_VERSION>/install.sh' echo '<PUBLISHED_SHA256> oo-install.sh' | sha256sum --check - bash oo-install.sh ``` The corresponding PowerShell workflow should download a pinned artifact, validate its publisher signature or SHA-256 digest, stop on verification failure, and execute it only after explicit approval. ]]>
