T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:101
- Finding
- Unverified Remote Shell Installer Execution<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, line 101 **Vulnerability Type**: Remote payload retrieval and immediate shell 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 script from an external URL and pipes it directly into Bash. The script is executed without pinning a release version, validating a cryptographic signature or checksum, or providing an opportunity to inspect the downloaded content. HTTPS protects the connection in transit but does not establish that the hosted script is immutable or independently verify the artifact's integrity. If the hosting infrastructure, publishing account, DNS resolution, or TLS trust chain is compromised, the returned content could be replaced after the Skill has already passed review. Although this command appears only in conditional first-time setup instructions, the reduced execution frequency does not eliminate the arbitrary-code execution risk. ### Attack Path 1. The `oo` CLI is absent, causing the agent or user to follow the first-time setup instructions. 2. The command requests `https://cli.oomol.com/install.sh`. 3. An attacker who controls or compromises the distribution endpoint, publishing process, DNS path, or trusted delivery infrastructure substitutes a malicious script. 4. `curl` sends the response body directly to Bash without local verification. 5. Bash executes the substituted payload with the permissions of the invoking user. 6. The payload may read accessible files and credentials, alter user configuration, install additional software, or establish persistence. ### Impact Assessment Successful exploitation provides arbitrary command execution under the invoking user's account. The attacker could access any files, environment variables, credentials, and network resources available to that user. If installation is perfo ...[truncated 376 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove the direct `curl | bash` execution pipeline. 2. Prefer installation through a reviewed operating-system package manager or a signed, version-pinned release. 3. If a standalone installer is necessary: - Download it to a local file without executing it. - Pin an explicit CLI and installer version. - Verify a vendor-published cryptographic signature or pinned SHA-256 digest. - Abort installation if verification fails. - Execute the verified local file only after explicit user approval. 4. Publish integrity metadata through an independently protected channel. 5. Avoid automatic installation by an agent; direct the user to complete and approve the installation separately. 6. Run the installer with the minimum required privileges and clearly warn users not to invoke it as root unless strictly necessary. A safer conceptual workflow is: ```bash curl -fL -o install.sh "https://cli.oomol.com/releases/<PINNED_VERSION>/install.sh" printf '%s %s\n' '<PINNED_SHA256>' 'install.sh' | sha256sum --check - bash install.sh ``` The digest and URL must refer to a fixed, reviewed release rather than a mutable endpoint. ]]>
