T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:60
- Finding
- Unverified Remote Installation Scripts Are Downloaded and Executed Directly## Vulnerability Details **File Location**: `SKILL.md`, lines 60–64 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High The first-time setup instructions provide two platform-specific commands that immediately execute scripts retrieved from external URLs: ```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 Both installation methods pass mutable remote content directly to a command interpreter. The Unix command pipes the HTTP response into Bash, while the Windows command retrieves a PowerShell script and passes it to `Invoke-Expression`. The Skill does not pin a script version, verify a cryptographic signature or checksum, save the script for inspection, or constrain the commands that the installer may execute. HTTPS protects data in transit but does not establish that the current script content is identical to what was reviewed. Compromise of the hosting infrastructure, publishing account, DNS path, or upstream release pipeline could therefore turn these installation commands into arbitrary code execution. This behavior exceeds the minimum privilege required merely to operate the HoneyHive connector. The Skill's normal runtime permission is limited to `Bash(oo *)`, but the setup instructions introduce execution of unrestricted Bash or PowerShell code whose behavior is not represented in the audited project. ### Attack Path 1. The `oo` CLI is unavailable, and an agent or user follows the documented first-time setup. 2. The system retrieves `install.sh` or `install.ps1` from `cli.oomol.com`. 3. The remote script has been maliciously modified through compromise of the hosting server, publishing credentials, DNS infrastructure, or software distribution pipeline. 4. The response is passed directly to Bash or PowerShell without local review or integrity verification. 5. The remote pa ...[truncated 974 chars]
- Remediation
- ## Remediation Suggestions 1. Replace pipe-to-shell and `Invoke-Expression` instructions with installation through a trusted, version-pinned package manager or signed release artifact. 2. Pin the CLI to a specific reviewed version rather than retrieving an unversioned installation script. 3. Publish SHA-256 checksums and, preferably, cryptographic signatures through an independently protected channel. 4. Download the artifact to a local file before execution, verify its signature or checksum, and abort on any mismatch. 5. Allow users to inspect the downloaded script before running it. For example, separate retrieval, verification, and execution into distinct commands. 6. Avoid requiring administrator or root privileges unless a documented installation step strictly requires them. 7. Document the files, directories, network destinations, and configuration changes performed by the installer. 8. Apply equivalent verification controls to both the Bash and PowerShell installation paths. 9. Prefer an installation flow resembling: ```bash curl -fL -o oo-installer.sh "https://trusted.example/releases/v1.0.2/install.sh" echo "<reviewed-sha256> oo-installer.sh" | sha256sum --check - less oo-installer.sh bash oo-installer.sh ``` The checksum must be obtained from a separately authenticated release channel, and a signed package is preferable to relying on a checksum alone.
