T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:67
- Finding
- Unverified Remote Installer Executed Directly by Shell<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:67-71` **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 mutable content from an external server and immediately pass it to a command interpreter. The Unix command pipes the response into Bash, while the Windows command evaluates the downloaded PowerShell content using `Invoke-Expression`. HTTPS can authenticate the remote endpoint during transport, but it does not provide immutable version pinning or verify that the installer matches an artifact reviewed with this Skill. No checksum, digital signature, fixed release version, or manual inspection step is required. Consequently, the effective code can change after the Skill has been audited. Installing the required CLI is relevant to the declared functionality, but immediate execution of unverified network content is not the minimum-risk installation method. The installer receives all permissions held by the invoking user. If the instructions are followed from an elevated shell, the downloaded payload could receive administrative or root privileges. There is no evidence in the audited file that the currently hosted installers are malicious. The vulnerability is the unsafe remote execution channel and its dependence on mutable, network-hosted code. ### Attack Path 1. The `oo` CLI is unavailable, causing the user or agent to consult the first-time setup instructions. 2. An attacker compromises the installer host, publishing pipeline, hosting account, or another relevant element of the delivery chain. 3. The attacker replaces or influences the remote installer with a modified payload. 4. The documented command downloads the current payload without check ...[truncated 1072 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove all direct pipe-to-interpreter installation commands, including both `curl | bash` and `Invoke-Expression` patterns. 2. Prefer a trusted operating-system package manager or an official package repository that verifies signed metadata and packages. 3. If standalone installers are necessary: - Pin a specific CLI release rather than downloading a mutable default installer. - Download the artifact to a local file without executing it. - Publish and verify a cryptographic checksum from an independently protected channel. - Prefer a verifiable digital signature tied to a documented release key. - Stop installation if signature or checksum validation fails. - Allow the user to inspect the downloaded script before execution. - Execute the verified file as a separate, explicit step. 4. Do not request root or administrator privileges unless a documented installation operation strictly requires them. Prefer a user-local installation directory. 5. Require explicit user approval before downloading or executing installation software; an agent should not automatically install the CLI after a command failure. 6. Document the exact files, directories, network destinations, and configuration changes made by the installer. 7. Pin redirects and expected download origins where feasible, and reject unexpected content types or destinations. ]]>
