T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:69
- Finding
- Unpinned Remote Installation Scripts Executed Directly by Shells## Vulnerability Details **File Location**: `SKILL.md`, lines 69–73 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Complete Code Snippet ```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 retrieve mutable scripts from external URLs and immediately execute them using Bash or PowerShell. The project does not pin a script version, verify a cryptographic signature or checksum, or provide a locally auditable installer. HTTPS protects data in transit but does not establish that the retrieved script is the same artifact that was reviewed. If the hosting service, DNS resolution, publishing account, or installation infrastructure is compromised—or if the upstream script is changed—the commands will execute the replacement payload without inspection. Remote installation is relevant to the declared connector setup, but direct shell piping exceeds the minimum privilege necessary to provide installation guidance. A package manager or a separately downloaded, integrity-verified, version-pinned artifact would reduce this risk. ### Attack Path 1. The `oo` command is unavailable, causing the agent or user to follow the first-time setup instructions. 2. An attacker compromises or gains control over the remote installer distribution path, or the upstream publisher replaces the mutable script. 3. `curl` or `irm` retrieves the attacker-controlled content. 4. The shell executes that content immediately through `bash` or `iex`, without integrity validation or review. 5. The payload performs arbitrary actions with the privileges of the user who invoked the installation command. ### Impact Assessment Successful exploitation permits arbitrary command execution under the invoking user's account. The resulting payload ...[truncated 633 chars]
- Remediation
- ## Remediation Suggestions 1. Remove both direct download-to-shell pipelines. 2. Pin installation instructions to a specific, immutable CLI release. 3. Download the installer or release artifact to a local file without executing it automatically. 4. Publish and require verification of a cryptographic signature or a SHA-256 checksum obtained through a trusted channel. 5. Allow the user to inspect the downloaded artifact and require explicit approval before execution. 6. Prefer a reputable package manager with signed metadata and version locking where available. 7. Run installation with ordinary user privileges unless a narrowly defined step demonstrably requires elevation. 8. Document the files, network destinations, and system changes made by the installer. 9. A safer pattern is: ```bash curl -fL -o oo-install.sh \ "https://example.invalid/releases/vX.Y.Z/install.sh" echo "<trusted-sha256> oo-install.sh" | sha256sum --check - less oo-install.sh bash oo-install.sh ``` The release URL and checksum must be genuine, immutable, and supplied through a trusted distribution channel.
