T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:62
- Finding
- Unverified Remote Shell Script Download and Execution<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:62` **Vulnerability Type**: Remote payload retrieval and execution through a pipe-to-shell installation command **Risk Level**: High ### Vulnerable Code ```bash curl -fsSL https://cli.oomol.com/install.sh | bash # macOS / Linux ``` ### Technical Analysis The installation instruction downloads a mutable script from an external URL and pipes the response directly into Bash. The script is executed without first saving and reviewing it, pinning it to a specific release, or verifying a cryptographic checksum or digital signature. Consequently, the code that ultimately executes is not contained in the audited Skill and can change after the audit. Compromise of the remote server, DNS or delivery infrastructure, or the vendor's publication process could cause arbitrary attacker-controlled shell commands to run. Installing the CLI may be necessary for the Skill's declared Gemini connector functionality, but immediate execution of an unverified remote response exceeds the minimum privilege and trust necessary to perform installation safely. ### Attack Path 1. The `oo` command is unavailable on a macOS or Linux system. 2. The Agent or user follows the documented first-time setup instruction. 3. `curl` retrieves the current content served by `https://cli.oomol.com/install.sh`. 4. The response is passed directly to Bash without inspection or integrity verification. 5. If the response has been maliciously altered, Bash executes attacker-controlled commands with the privileges of the invoking user. ### Impact Assessment Successful exploitation provides arbitrary command execution under the account running the installation command. An attacker could access files and environment variables available to that account, steal accessible credentials, alter user-owned configuration or executables, transmit local information, install persistence within user-writable locations, or destroy user-accessible data. ...[truncated 265 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Remove the direct `curl | bash` execution pattern. - Distribute a version-pinned installer or package through a trusted package manager. - If a script must be downloaded, save it to disk before execution and require explicit user approval. - Publish a checksum through an independently protected channel and verify it before running the installer. - Prefer cryptographically signed release artifacts and validate the signature against a pinned, documented signing key. - Document the exact version being installed and avoid mutable installation URLs. - Run installation with ordinary user privileges unless a specific operation demonstrably requires elevation. - Example hardened workflow: ```bash curl -fSLo oo-install.sh "https://trusted.example/releases/<pinned-version>/install.sh" echo "<expected-sha256> oo-install.sh" | sha256sum -c - less oo-install.sh bash oo-install.sh ``` The placeholder URL, version, and checksum must be replaced with authenticated values published by the vendor. ]]>
