T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:201
- Finding
- Unverified Remote Shell Script Execution on macOS and Linux## Vulnerability Details **File Location**: `SKILL.md:201` **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High **Complete Code Snippet**: ```bash curl -fsSL https://cli.oomol.com/install.sh | bash # macOS / Linux ``` ### Technical Analysis The installation instruction pipes a remotely retrieved script directly into Bash without pinning a version or verifying a cryptographic signature or checksum. Although HTTPS authenticates the server connection under normal conditions, it does not guarantee that the script is immutable or safe. The effective executable payload can change after the Skill has been reviewed. Compromise of the hosting service, deployment infrastructure, DNS or certificate trust chain, or the installer itself could cause arbitrary attacker-controlled commands to run. This behavior exceeds the minimum privilege needed to document installation because safer installation mechanisms can separate downloading, verification, review, and execution. ### Attack Path 1. The `oo` command is unavailable, causing the Agent or user to follow the first-time setup instructions. 2. An attacker compromises or otherwise gains control over the content served from `https://cli.oomol.com/install.sh`. 3. `curl` retrieves the modified payload. 4. The shell pipe passes the response directly to Bash without integrity verification. 5. Bash executes the attacker's commands with the privileges of the invoking Agent or user. ### Impact Assessment Successful exploitation permits arbitrary command execution under the invoking account. Depending on that account's privileges and accessible environment, an attacker could read or alter local files, steal credentials available to the process, modify repositories, establish persistence, or invoke authenticated services. Root-level impact is possible if the instruction is run from a privileged shell, but the Skill itself does not explicitly require or obtain ...[truncated 10 chars]
- Remediation
- ## Remediation Suggestions - Replace the pipeline with installation from a version-pinned official release or trusted package repository. - Download the installer to a local file without executing it immediately. - Publish and verify a cryptographic signature or checksum through an independently secured channel. - Display or inspect the verified script before execution. - Execute the installer with an unprivileged account and request narrowly scoped elevation only if a specific operation requires it. - Document the exact version, expected digest, provenance, and update procedure. - Prefer commands conceptually equivalent to: ```bash curl -fSLo install.sh "https://trusted.example/releases/vX.Y.Z/install.sh" echo "<EXPECTED_SHA256> install.sh" | sha256sum -c - less install.sh bash install.sh ```
