T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:66
- Finding
- Unverified Remote Installer Scripts Executed Directly by Shells## Vulnerability Details **File Location**: `SKILL.md`, lines 66–70 **Vulnerability Type**: Remote payload retrieval and immediate execution **Risk Level**: Critical ### 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 setup instructions download remotely controlled scripts and pass their contents directly to `bash` or PowerShell's `Invoke-Expression`. The commands do not pin a reviewed release, verify a cryptographic signature or checksum, or provide an opportunity to inspect the downloaded payload before execution. HTTPS protects transport under normal conditions but does not establish that the retrieved script is immutable or safe. The effective code can change after the Skill has been reviewed. Compromise of the hosting service, deployment infrastructure, DNS or certificate trust chain, or the publisher account could consequently turn these installation commands into an arbitrary code-execution channel. Installing the required CLI is related to the declared functionality. However, executing a mutable network response directly in a shell exceeds the minimum privileges and trust required to install that dependency safely. ### Attack Path 1. The `oo` command is unavailable, or a command fails in a manner interpreted as the CLI being absent. 2. The Agent or user follows the first-time setup instructions in `SKILL.md`. 3. `curl` or `Invoke-RestMethod` retrieves the current script from `cli.oomol.com`. 4. The response is passed directly to a local command interpreter without integrity or authenticity verification beyond HTTPS. 5. If the remote script or its delivery infrastructure has been compromised, attacker-controlled commands execute with the privileges of the invoking account. 6. The payload may then access local files and credentials availab ...[truncated 1080 chars]
- Remediation
- ## Remediation Suggestions 1. Remove the `curl | bash` and `irm | iex` installation patterns. 2. Pin the CLI to a specific, reviewed release rather than retrieving a mutable installer endpoint. 3. Download the installer or release artifact to a local file without executing it immediately. 4. Publish and verify a cryptographic checksum and, preferably, a trusted digital signature before execution. 5. Display the exact version, source URL, expected digest, and intended filesystem changes to the user. 6. Require explicit user approval before installing software or executing any downloaded artifact. 7. Prefer a trusted platform package manager with version locking and package-signature verification. 8. Run installation with ordinary user privileges unless elevated privileges are demonstrably necessary. 9. Fail closed if signature or checksum validation is unavailable or unsuccessful. 10. Keep the existing behavior of attempting connector actions before suggesting setup, but provide non-executing installation documentation when the CLI is absent. A safer shell workflow would download a pinned artifact, verify its published digest or signature, and only then invoke the verified local file after user approval.
