T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:67
- Finding
- Unverified Remote Installer Download and Immediate Execution## Vulnerability Details **File Location**: `SKILL.md`, lines 67–71 **Vulnerability Type**: 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 first-time setup instructions download mutable scripts from `cli.oomol.com` and pass their contents directly to Bash or PowerShell. Neither installation path pins a release, verifies a cryptographic signature or checksum, nor gives the user an opportunity to inspect the downloaded script before execution. Although HTTPS provides transport protection and server authentication, it does not make the downloaded program immutable or safe. A compromise of the hosting server, publishing account, DNS/control plane, TLS termination infrastructure, or installer build pipeline could cause users to execute attacker-controlled code. The effective payload can also change after this Skill has been reviewed. Installing the required CLI may be necessary for the declared Respond.io integration, but executing an unverified remote response directly in an interpreter exceeds the minimum mechanism necessary to perform that installation. ### Attack Path 1. A user attempts to use the Skill on a system where the `oo` CLI is unavailable. 2. The action fails with `oo: command not found`. 3. The user or agent follows the documented first-time setup command. 4. An attacker who has compromised the installer host or its delivery infrastructure replaces the expected installer with a malicious script. 5. `curl | bash` or `irm | iex` passes the response directly to the local interpreter. 6. The malicious payload executes with the privileges of the invoking user before any integrity or content validation occurs. 7. The payload can access data available to that user, alter the environment, or install additional component ...[truncated 816 chars]
- Remediation
- ## Remediation Suggestions 1. Remove all direct `curl | bash` and `irm | iex` installation patterns. 2. Prefer a trusted platform package manager or a pinned release artifact from the verified upstream repository. 3. Pin the installer or binary to an explicit version rather than retrieving a mutable default script. 4. Download the artifact to a local file without executing it: ```bash curl --proto '=https' --tlsv1.2 -fL \ -o oo-installer.sh \ 'https://verified.example/path/to/versioned/install.sh' ``` 5. Publish and verify a SHA-256 digest through an independently protected channel: ```bash echo '<EXPECTED_SHA256> oo-installer.sh' | sha256sum --check - ``` 6. Prefer cryptographic release-signature verification over checksums alone, and document the trusted signing key and fingerprint. 7. Allow users to inspect the downloaded file before explicitly executing it. 8. Avoid requiring administrator privileges unless the selected installation destination strictly requires them. 9. On Windows, download the script separately, validate its Authenticode signature or a separately published cryptographic digest, and only then invoke it. 10. Document the expected files, network destinations, and permission changes made by installation so users can assess whether the installer observes least privilege.
