T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:53
- Finding
- Unverified Remote Installation Scripts Executed Directly by Shells<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 53–63 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code ```markdown - **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>): ```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 download mutable content from an external URL and immediately execute it using Bash or PowerShell. Neither command pins a specific release nor verifies a cryptographic signature or checksum before execution. Although installing the `oo` CLI is relevant when the command is unavailable, direct execution of an unverified remote script is not the minimum-risk installation method. The effective installer payload can change after the Skill has been reviewed. Consequently, compromise of the OOMOL publication infrastructure, hosting account, DNS resolution, TLS termination, or installer build process could turn these instructions into an arbitrary-code execution channel. The PowerShell `irm ... | iex` instruction has the same trust-boundary problem as the Bash `curl ... | bash` instruction. ### Attack Path 1. The Agent attempts to use the Skill and receives an `oo: command not found` error. 2. The Agent follows the first-time setup instructions. 3. The Agent downloads the current contents of `install.sh` or `install.ps1`. 4. The response is passed directly to Bash or PowerShell without local inspection or integrity verification. 5. If the remote delivery or publication system has been compromised, attacker-controlled commands execute with the privileges of the user running the Agent. 6. The payload can then access user-readable files, alter local tools or configuration, install persistence where permissions permit, or do ...[truncated 567 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove the `curl | bash` and `irm | iex` installation patterns. 2. Pin installation instructions to a specific, audited CLI release rather than a mutable installer endpoint. 3. Download the installer or release artifact to a local file without executing it. 4. Verify the artifact using a vendor signature and a SHA-256 checksum obtained through an independently trusted channel. 5. Prefer a trusted package manager or signed release package with explicit version constraints. 6. Show the proposed version, source, checksum, and installation effects to the user and obtain explicit approval before execution. 7. Run installation with ordinary user privileges unless elevated privileges are demonstrably required. 8. Document what files, environment settings, and network endpoints the installer modifies. ]]>
