T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:58- Finding
Unverified Remote Installer Download and Immediate Execution
- Content
View full analysis
): ```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 executable content from `cli.oomol.com` and pass it directly to a command interpreter: - On macOS and Linux, `curl` sends the response body directly to `bash`. - On Windows, `Invoke-RestMethod` downloads the response body and `Invoke-Expression` executes it. The effective installer payload is controlled by the remote server and can change after the Skill has been reviewed. HTTPS protects transport integrity but does not establish that future server content is trustworthy. The instructions do not pin an installer version, verify a cryptographic signature or digest, save the script for inspection, or constrain the script's execution privileges. Installation is presented only as a fallback for systems where `oo` is missing, rather than as part of ordinary Jira operations. Moreover, the Skill declares `allowed-tools: [Bash(oo *)]`, which does not authorize `curl`, `bash`, or the PowerShell commands shown here. A runtime that strictly enforces this allowlist should block the installation commands, reducing exploitability. In an environment that does not enforce the allowlist, or if a user manually follows the instructions, the commands create an arbitrary remote-code execution channel that exceeds the privileges required merely to invoke an already-installed `oo` CLI. ### Attack Path 1. The `oo` command is unavailable, or an attacker causes the action to fail in a way interpreted as `oo: command not found`. ...[truncated 1509 chars]- Remediation
View remediation
oo-install.sh" | sha256sum --check less oo-install.sh bash oo-install.sh ``` The release URL and digest must correspond to an authentic, immutable, vendor-published release. Merely splitting download and execution without verification is insufficient. ]]>
