T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:59
- Finding
- Unpinned Remote Installer Downloaded and Executed Directly<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 59–63 **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 first-time setup instructions download scripts from external URLs and immediately execute their contents using Bash or PowerShell. The instructions do not pin an immutable release, verify a cryptographic checksum, validate a publisher signature, or allow the payload to be inspected before execution. Consequently, the code that ultimately runs can change after the Skill has been reviewed. HTTPS protects data in transit but does not protect against compromise of the remote server, its deployment pipeline, DNS or certificate infrastructure, or the upstream installer source. A compromised endpoint could therefore return arbitrary shell commands. Installing the CLI is also broader than the Skill's declared property-search functionality. The declared runtime capability is limited to `Bash(oo *)`, whereas these setup commands introduce a separate arbitrary-code execution step using the invoking user's operating-system privileges. No evidence in the reviewed file establishes that the current remote scripts are malicious, and no direct credential-exfiltration implementation was found. The vulnerability is the unverified, mutable execution channel itself. ### Attack Path 1. The `oo` CLI is unavailable on the user's system. 2. A user or agent follows the documented first-time setup instructions. 3. The installer endpoint, hosting infrastructure, or software supply chain is compromised, or the remotely hosted installer is otherwise replaced. 4. The affected endpoint returns attacker-controlled shell or PowerShell code. 5. `bash` or `iex` executes the response immediately without integr ...[truncated 1068 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove all `curl | bash` and `irm | iex` installation instructions. 2. Direct users to an official installation guide or package manager rather than automatically executing downloaded content. 3. Pin the installer or CLI to a specific immutable release. 4. Download the artifact to disk without executing it: ```bash curl -fL -o oo-installer.sh https://example.invalid/releases/vX.Y.Z/install.sh ``` 5. Publish and verify a SHA-256 checksum over a secure, independently authenticated channel: ```bash echo "<expected-sha256> oo-installer.sh" | sha256sum --check ``` 6. Prefer signed release packages and verify the publisher's cryptographic signature before installation. 7. Allow the user to inspect the downloaded installer and require explicit approval before execution. 8. Avoid requesting administrator privileges unless a documented installation step strictly requires them. 9. Keep normal Skill execution limited to the already-installed `oo` CLI and do not perform installation automatically after a command failure. 10. Document the exact files, permissions, network destinations, and system changes introduced by the installer. ]]>
