T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:62
- Finding
- Unverified Remote Shell Script Execution on macOS and Linux<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, line 62 **Vulnerability Type**: `T03: Remote Payload Retrieval and Execution` **Risk Level**: Critical ### Vulnerable Code ```bash curl -fsSL https://cli.oomol.com/install.sh | bash # macOS / Linux ``` ### Technical Analysis The installation command downloads a mutable shell script from an external URL and pipes it directly into `bash`. The script is executed without: - Pinning an installer or CLI version - Verifying a published cryptographic hash - Validating a digital signature - Saving the script for inspection - Restricting the script through a sandbox or reduced-privilege account HTTPS protects the connection in transit but does not establish that the returned script is a reviewed, immutable artifact. Compromise of the hosting service, publishing account, DNS infrastructure, or installer build pipeline could cause arbitrary attacker-controlled commands to be returned and executed. Installing the CLI is relevant when `oo` is unavailable, but direct execution of an unverified remote response exceeds the minimum privileges necessary. A package manager or a downloaded, pinned, and independently verified release could provide the required functionality without granting a mutable endpoint immediate shell execution. ### Attack Path 1. The user or agent attempts to use the Skill on a system where the `oo` CLI is not installed. 2. The command fails with `oo: command not found`. 3. The fallback instructions direct the installer command to be run. 4. An attacker compromises or otherwise controls the response from `https://cli.oomol.com/install.sh`. 5. `curl` retrieves the attacker-controlled response. 6. The pipe sends the response directly to `bash` without integrity verification or review. 7. The payload executes with the privileges of the account running the command. ### Impact Assessment Successful exploitation provides arbitrary command execution with the invoking user's privileges. ...[truncated 727 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove the direct `curl | bash` installation command. 2. Prefer an official package manager that supports version pinning and package-signature validation. 3. If a standalone installer is necessary: - Download a specific, immutable release to a local file. - Pin the expected CLI version. - Publish the expected SHA-256 digest through an independently protected channel. - Verify the digest before execution. - Verify a digital signature from a documented release key. - Display or otherwise make the installer available for review before running it. 4. Require explicit user approval before installation; the agent should not install software automatically after a failed action. 5. Run installation with ordinary user privileges unless a documented component strictly requires elevation. 6. Document the files, permissions, and network endpoints used by the installer. 7. Where possible, instruct users to install the CLI outside the agent session and then retry the connector action. ]]>
