T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:62
- Finding
- Unverified Remote Installation Scripts Executed Directly by Shells<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 62-66 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code ```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 The installation instructions retrieve mutable scripts from an external URL and immediately execute their contents with `bash` or PowerShell's `Invoke-Expression`. There is no release pinning, cryptographic signature validation, checksum verification, or opportunity to inspect the downloaded files before execution. Although installation is presented as a conditional first-time setup step and the scripts are hosted on an OOMOL domain, the effective code executed by these commands can change after the Skill has been reviewed. Compromise of the hosting service, DNS resolution, TLS or release infrastructure, vendor account, or installation pipeline could therefore convert the documented setup process into arbitrary code execution. The PowerShell form has the same security property as the Unix command: data returned by the network endpoint is interpreted directly as executable code. ### Attack Path 1. The `oo` CLI is unavailable, causing an `oo: command not found` error. 2. The user or Agent follows the Skill's first-time setup instructions. 3. The command downloads the current contents of `install.sh` or `install.ps1`. 4. A compromised server, distribution pipeline, or other trusted delivery component supplies attacker-controlled script content. 5. The shell immediately executes that content without validating its identity or integrity. 6. The payload inherits the permissions and accessible environment of the user running the installation command. ### Impact Assessment Successful exploitation permits arbitrary command execution with the invoking user's privileges. Depending on tho ...[truncated 528 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove direct `curl | bash` and `Invoke-RestMethod | Invoke-Expression` execution patterns. 2. Pin installation instructions to a specific, immutable CLI release and versioned artifact. 3. Download the installer or binary to a local file before execution. 4. Publish and verify a SHA-256 or stronger cryptographic digest over the downloaded artifact. 5. Prefer vendor-signed packages and verify the signature against a documented, independently distributed signing key. 6. Use an operating-system package manager or a trusted release repository where package integrity and provenance are validated. 7. Require explicit user approval before installing software or granting elevated privileges. 8. Provide an inspection step before execution and fail closed if verification is unavailable or unsuccessful. 9. Keep installation outside normal connector execution so ordinary Credit Repair Cloud operations cannot trigger software installation automatically. A safer conceptual workflow is: ```bash # Download a pinned release without executing it. curl -fL -o oo-installer.sh "https://trusted.example/releases/<fixed-version>/install.sh" # Compare against a separately published, pinned digest. printf '%s %s\n' '<expected-sha256>' 'oo-installer.sh' | sha256sum --check - # Execute only after successful verification and explicit approval. bash oo-installer.sh ``` Equivalent signature or checksum validation should be required for the Windows installer. ]]>
