T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:62
- Finding
- Unverified Remote Shell Script Execution via curl and bash## Vulnerability Details **File Location**: `SKILL.md:62` **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code ```bash curl -fsSL https://cli.oomol.com/install.sh | bash # macOS / Linux ``` ### Technical Analysis The installation command pipes a remotely retrieved shell script directly into `bash`. The remote content is executed before the user or agent can inspect it, and the instructions do not pin a release version or verify a cryptographic signature or checksum. Although the URL uses HTTPS and its domain is consistent with the declared OOMOL service, the effective payload remains mutable after the Skill has been reviewed. Compromise of the hosting account, publishing pipeline, server, or trusted delivery path could therefore turn this documented setup step into an arbitrary code-execution channel. Installing the required CLI is relevant to the Skill's functionality, and the instructions limit installation to the `oo: command not found` case. However, executing unverified remote code is broader than the minimum privilege needed to install a specific, reviewed CLI release. ### Attack Path 1. The `oo` CLI is unavailable, causing an action to fail with `oo: command not found`. 2. The agent or user follows the first-time setup instructions. 3. `curl` downloads the current content of `https://cli.oomol.com/install.sh`. 4. The response body is streamed directly into `bash` without integrity or authenticity verification beyond HTTPS. 5. If the remote payload or its publishing infrastructure has been compromised, attacker-controlled shell commands execute with the privileges of the invoking account. 6. Those commands could access, modify, or transmit resources available to that account. ### Impact Assessment Successful exploitation permits arbitrary command execution with the privileges of the user running the installation command. This can expose local files, envi ...[truncated 484 chars]
- Remediation
- ## Remediation Suggestions - Do not pipe downloaded content directly into a shell. - Distribute versioned CLI artifacts through an official, authenticated release channel. - Pin the installation instructions to a specific reviewed version rather than a mutable installer endpoint. - Download the installer or package to a local file first, then verify a publisher signature or a SHA-256 checksum obtained through an independently authenticated channel. - Display the verified file path and require explicit user approval before execution. - Prefer an operating-system package manager with package-signature verification where available. - Run installation with ordinary user privileges and request elevation only for a narrowly defined operation when strictly necessary. - Document the destination files, permissions, network endpoints, and expected changes so users can assess the installer before execution. A safer workflow is: ```bash curl -fSLo oo-install.sh "https://trusted.example/releases/<pinned-version>/install.sh" echo "<trusted-sha256> oo-install.sh" | sha256sum -c - # Review the file and obtain explicit user approval before running: bash oo-install.sh ```
