T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:67
- Finding
- Unverified Remote Installer Downloaded and Executed Directly<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 67–71 **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 first-time setup instructions retrieve installation scripts from remote URLs and immediately pass their contents to a command interpreter. Neither command pins the installer to an immutable version nor performs checksum, digital-signature, or provenance verification before execution. The effective code executed by these commands is not contained in the audited project and can change after the Skill has been reviewed. HTTPS protects the connection in transit but does not ensure that the hosted script remains unchanged or safe if the distribution infrastructure, domain, or publishing account is compromised. This behavior exceeds the minimum privileges required to document how to operate the BigMailer connector. Installing a system-level CLI is also distinct from invoking the declared `oo` commands. Although the installation steps are presented as an authentication-error fallback rather than part of every action, an agent or user following them would still execute unreviewed remote code. The PowerShell command has the same security properties as the Unix command: `irm` retrieves the script and `iex` immediately evaluates it in the current PowerShell process. ### Attack Path 1. The `oo` CLI is absent, causing an `oo: command not found` error. 2. The agent or user follows the first-time setup instructions. 3. The command retrieves the current installer from `cli.oomol.com`. 4. A compromised hosting service, publishing pipeline, domain, or installer endpoint returns attacker-controlled script content. 5. The pipe to `bash`, or the use of `iex`, executes that content without local ...[truncated 999 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove the direct `curl | bash` and `irm | iex` installation patterns. 2. Direct users to an official, versioned installation guide rather than instructing an agent to execute an installer automatically. 3. Pin downloads to a specific immutable release and trusted artifact URL. 4. Download the artifact to disk without executing it immediately. 5. Publish and verify a cryptographic checksum or, preferably, a digital signature using a separately distributed trusted public key. 6. Display the exact version, source, permissions, and intended changes before installation, and require explicit user approval. 7. Prefer a signed platform package distributed through a reputable package manager where available. 8. Run installation with ordinary user privileges unless elevated privileges are strictly necessary and separately approved. 9. Keep installation outside the Skill's normal action path. The Skill should invoke only the already-installed `oo` CLI under its declared `Bash(oo *)` tool restriction. 10. Document how users can review, uninstall, and verify the installed CLI. ]]>
