T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:53
- Finding
- Unverified Remote Installation Scripts Executed Directly by Shell## Vulnerability Details **File Location**: `SKILL.md`, lines 53–61 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: Critical The first-time setup instructions execute remotely hosted installation scripts directly in Bash or PowerShell: ```markdown - **`oo: command not found`** — install the oo CLI (other platforms: https://cli.oomol.com/install-guide.md): ```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 commands retrieve mutable executable content from `cli.oomol.com` and immediately pass it to a command interpreter. Neither procedure pins an installer version, validates a cryptographic checksum or digital signature, saves the script for inspection, nor verifies its expected contents before execution. HTTPS protects the connection in transit but does not establish that the remote script remains identical to the version intended when this Skill was audited. Compromise of the hosting infrastructure, publishing account, deployment pipeline, or signing process—or an unintended future change to the script—could cause arbitrary commands to be executed without requiring any modification to this repository. The installation mechanism is conditional on the `oo` command being unavailable, which reduces invocation frequency but does not remove the execution risk. Installing a CLI may be relevant to the declared functionality, but piping an unverified response directly into a shell is not the minimum privilege or safest mechanism necessary to perform that installation. ### Attack Path 1. A user requests a Push by Techulus operation through the Skill. 2. The attempted `oo` command fails because the CLI is not installed. 3. The Agent or user follows the documented first-time setup procedure. 4. `curl` or `Invoke- ...[truncated 1234 chars]
- Remediation
- ## Remediation Suggestions 1. Remove both direct download-to-interpreter patterns: - Do not use `curl ... | bash`. - Do not use `irm ... | iex`. 2. Prefer an official operating-system package manager or a trusted, signed package repository. 3. Pin installation to a specific CLI version rather than downloading a mutable default installer. 4. If a standalone installer is necessary: - Download it to a local file without executing it. - Obtain an expected SHA-256 or stronger digest from an independently protected release channel. - Verify the digest before execution. - Verify a platform-appropriate digital signature where available. - Present the source, version, destination, and expected effects to the user. - Require explicit user approval before running the verified file. 5. Run installation with ordinary user privileges unless a documented operation strictly requires elevation. 6. Publish immutable release artifacts and maintain auditable release provenance, such as signed releases or supply-chain attestations. 7. Keep the existing behavior of attempting the connector action before offering setup, but provide safe manual installation instructions after a command-not-found error. 8. Document what files, environment settings, and network endpoints the installer modifies so users can assess its privilege requirements and effects.
