T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:60
- Finding
- Unverified Remote Installation Scripts Executed Directly by Shells## Vulnerability Details **File Location**: `SKILL.md`, lines 60–64 **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 server and immediately execute them using Bash or PowerShell. Neither command pins the downloaded artifact to a specific version nor verifies a cryptographic signature or expected checksum before execution. Consequently, the code ultimately executed is not limited to the content reviewed in this Skill. If the distribution server, hosted script, DNS resolution, certificate issuance process, or publishing account is compromised, the fetched response can contain arbitrary commands. Immediate piping also prevents meaningful inspection before execution. Installing the CLI may be necessary for the declared Square connector functionality, but direct execution of an unverified network response exceeds the minimum safe mechanism required to perform that installation. ### Attack Path 1. The `oo` command is unavailable, causing the user or agent to follow the first-time setup instructions. 2. An attacker compromises the remote installation endpoint or its publication infrastructure, or otherwise gains the ability to serve a malicious script from the trusted URL. 3. The installation command downloads the attacker-controlled response. 4. Bash or PowerShell immediately interprets the response as executable code without integrity verification. 5. The payload executes with all permissions held by the user running the installation command. 6. The payload can access or modify resources available to that user and may install additional components or steal accessible credentials. ### Impact Asse ...[truncated 855 chars]
- Remediation
- ## Remediation Suggestions 1. Remove direct `curl | bash` and `irm | iex` execution patterns. 2. Prefer a version-pinned package distributed through a trusted package manager. 3. If scripts must be used, download them to a local file without executing them: ```bash curl --fail --show-error --location --output install.sh https://cli.oomol.com/install.sh ``` 4. Publish an expected SHA-256 digest through an independently protected release channel and verify it before execution: ```bash echo "<EXPECTED_SHA256> install.sh" | sha256sum --check ``` 5. Cryptographically sign release artifacts and verify the signature against a documented, pinned publisher key. 6. Pin installation instructions to a specific immutable CLI release rather than a mutable generic installer URL. 7. Allow users to inspect the downloaded script before running it explicitly. 8. Document that installation must use a non-administrative account unless elevated privileges are demonstrably required. 9. Apply equivalent download, version-pinning, signature, and digest-verification controls to the PowerShell installer.
