T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:59
- Finding
- Unpinned Remote Shell Script Download and Execution## Vulnerability Details **File Location**: `SKILL.md`, line 59 **Vulnerability Type**: Remote payload retrieval and execution through a shell pipeline **Risk Level**: High **Vulnerable Code**: ```bash curl -fsSL https://cli.oomol.com/install.sh | bash # macOS / Linux ``` ### Technical Analysis The setup instructions pipe a remotely retrieved, mutable script directly into `bash`. The downloaded payload is not pinned to a specific release and is not authenticated through a cryptographic signature or verified checksum. The pipeline also prevents the user from reviewing the exact script before it executes. Installing the CLI may be a legitimate prerequisite for the declared ProxiedMail functionality, but directly executing the latest remote script exceeds the minimum behavior necessary to perform that installation. The same objective can be achieved using a versioned artifact with integrity validation. The use of HTTPS protects the network connection under normal conditions but does not protect against compromise of the installer host, its deployment pipeline, DNS or certificate infrastructure, or the vendor account controlling the script. Because the effective payload can change after the skill has been reviewed, the safety of this instruction cannot be established solely from the audited project. ### Attack Path 1. An attacker compromises `cli.oomol.com`, the installer publishing process, or another component capable of changing the response for `/install.sh`. 2. The attacker replaces or modifies the installation script with arbitrary shell commands. 3. A user or agent encounters an `oo: command not found` error and follows the documented setup instruction. 4. `curl` downloads the attacker-controlled response. 5. The shell pipeline immediately passes the response to `bash` without integrity verification or review. 6. The malicious commands execute with the privileges and environment of the user who invoked the comman ...[truncated 725 chars]
- Remediation
- ## Remediation Suggestions - Remove the direct `curl | bash` pipeline. - Direct users to a versioned CLI release hosted in the project's official release repository. - Pin the installer or binary to a specific reviewed version rather than an unversioned “latest” script. - Publish a SHA-256 or stronger checksum through a separately protected channel and require verification before execution. - Prefer cryptographically signed packages or binaries and document signature verification. - Separate download and execution so users can inspect the artifact before running it. - Prefer trusted operating-system package managers where packages are signed and repository metadata is authenticated. - If an installer script remains necessary, use a hardened sequence such as downloading to a newly created local file, validating its checksum or signature, inspecting it, and only then executing it without unnecessary elevation.
