T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:61
- Finding
- Unverified Remote Installation Scripts Executed Directly by Shells## Vulnerability Details **File Location**: `SKILL.md`, lines 61–65 **Vulnerability Type**: Unverified 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 installation instructions retrieve mutable scripts from an external server and immediately pass their contents to a command interpreter. The downloaded files are not pinned to a specific release and are not validated using a cryptographic signature or published checksum before execution. Consequently, the code that is ultimately executed can differ from the content available when the skill was audited. Although the URLs use HTTPS and appear associated with the declared OOMOL service, HTTPS alone does not protect against compromise of the distribution server, its deployment pipeline, or trusted signing infrastructure. The Linux command also follows redirects, allowing the final payload location to differ from the displayed URL. The instructions are presented as conditional first-time setup steps rather than normal connector operation, but installation is not part of the minimum privileges needed once the declared CLI is available. Executing an unverified installer grants the remote payload the full permissions of the user running the agent or command. ### Attack Path 1. The `oo` CLI is absent, causing a command to fail with `oo: command not found`. 2. The agent or user follows the first-time setup instructions in `SKILL.md`. 3. An attacker compromises the installation endpoint, its release pipeline, or another component capable of controlling the returned content. 4. The endpoint returns attacker-controlled shell or PowerShell code. 5. `bash` or `Invoke-Expression` executes the response without inspection or integrity verification. 6. ...[truncated 827 chars]
- Remediation
- ## Remediation Suggestions - Remove direct `curl | bash` and `Invoke-RestMethod | Invoke-Expression` installation patterns. - Direct users to a pinned, versioned release from a verifiable official distribution channel. - Download the installer or binary to a local file without executing it immediately. - Publish a SHA-256 or stronger checksum through an independently protected channel and verify it before execution. - Prefer cryptographic release signatures and validate the signature against a documented, pinned publisher key. - Avoid unreviewed redirects, or validate the final download origin against an explicit allowlist. - Provide package-manager installation instructions where the package repository authenticates releases and supports version pinning. - Display the downloaded script for review before execution when a script-based installer is unavoidable. - Keep installation a manual, explicitly approved operation. The skill should not automatically install software in response to a failed connector command. - Run installation with a non-privileged account and request only the filesystem and execution permissions strictly required by the CLI.
