T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:57- Finding
Unpinned Remote Installation Scripts Executed Directly by Shell
- 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 setup instructions download mutable scripts from external URLs and immediately execute them with Bash or PowerShell. The commands do not pin an installer version, validate a cryptographic checksum, verify a digital signature, or provide an opportunity to inspect the downloaded content before execution. HTTPS protects the connection in transit under normal conditions, but it does not establish that the response is a specific reviewed artifact. If the hosting service, DNS, TLS infrastructure, account, or release pipeline is compromised, the effective payload can be changed after this Skill has been audited. Installing the CLI is relevant to the declared Parseur connector functionality and is presented only as a fallback when `oo` is unavailable. Nevertheless, direct pipe-to-shell execution exceeds the minimum safe installation mechanism because it delegates arbitrary code execution to a mutable remote response. The equivalent Windows command has the same weakness: `irm` retrieves remote content and `iex` evaluates it as PowerShell code. ### Attack Path 1. The `oo` CLI is absent, causing an `oo: command not found` error. 2. The agent or user follows the fallback setup instructions in `SKILL.md`. 3. An attacker compromises or gains control over the installer host, publishing pipeline, domain, or another component capable of changing the remote response. 4. The `curl | bash` or `irm | iex` pipeline downloads the attacker-controlled response ...[truncated 1124 chars]- Remediation
View remediation
/install.sh" printf '%s %s\n' "" "oo-installer.sh" | sha256sum --check - less oo-installer.sh bash oo-installer.sh ``` The actual URL, version, digest, and signature-verification procedure must come from the CLI publisher's authenticated release documentation. ]]>
