T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:59
- Finding
- Unverified Remote Installation Scripts Executed Directly by Shell Interpreters<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 59–63 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: Critical ### 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 them to `bash` or PowerShell for execution. The instructions do not pin a script version, verify a cryptographic checksum or publisher signature, save the script for inspection, or otherwise establish that the downloaded content is identical to content reviewed during the Skill audit. HTTPS provides transport protection but does not protect users if the hosting service, DNS infrastructure, deployment pipeline, or publisher account is compromised. Because the effective payload is controlled remotely and can change after review, these commands create a supply-chain code-execution channel. Although installing the required CLI is related to the Skill's functionality, immediate execution of an unverified remote payload exceeds the minimum privileges necessary for installation. A safer installation process can verify a fixed artifact before running it. ### Attack Path 1. The `oo` CLI is unavailable, causing the user or agent to consult the first-time setup instructions. 2. The user or agent runs one of the documented installation commands. 3. The command connects to `cli.oomol.com` and retrieves the current script without pinning or integrity verification. 4. If the endpoint or its delivery infrastructure has been compromised, it returns attacker-controlled shell or PowerShell code. 5. The pipe passes that code directly to the local interpreter. 6. The malicious payload executes with all permissions held by the invoking account. ### Impact Assessment Successful exploitation permits ...[truncated 977 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove direct `curl | bash` and `irm | iex` installation patterns. 2. Prefer a trusted operating-system package manager with a version-pinned package and established signature-verification process. 3. If direct artifact installation is necessary: - Download a fixed-version artifact to a local file. - Obtain its expected checksum through a separately authenticated release channel. - Verify a strong cryptographic checksum and, preferably, a publisher signature. - Abort installation if verification fails. - Permit inspection of the downloaded file before execution. 4. Pin the installer and CLI to an explicit release rather than retrieving a mutable generic `install.sh` or `install.ps1` endpoint. 5. Run installation without administrator or root privileges unless a documented installation step strictly requires elevation. 6. Document the files, directories, and permissions the installer modifies. 7. Keep setup conditional on an actual missing-command error, as the existing instructions already recommend, to avoid unnecessary execution of installation logic. A safer workflow would resemble: ```bash curl -fSLo oo-installer.sh "https://trusted.example/releases/<fixed-version>/install.sh" printf '%s %s\n' '<publisher-provided-sha256>' 'oo-installer.sh' | sha256sum --check - bash oo-installer.sh ``` The checksum must be pinned to the selected release and obtained from a trusted, authenticated source rather than dynamically downloaded from the same mutable location as the installer. ]]>
