T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:61
- Finding
- Unverified Remote Installation Scripts Executed Directly by Shells<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 61–65 **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 download mutable scripts from `cli.oomol.com` and immediately execute them with Bash or PowerShell. No version is pinned, and no cryptographic signature or checksum is validated before execution. The pipe to `bash` and the PowerShell `Invoke-Expression` alias (`iex`) also prevent meaningful inspection before the downloaded content runs. The effective code is controlled by the remote endpoint and can change after this Skill has been reviewed. If the hosting infrastructure, domain, DNS resolution, TLS trust chain, or installation pipeline is compromised, an attacker could substitute arbitrary shell commands. Installing the CLI is not required for normal AroFlo read operations when the CLI is already available. Although the instructions only recommend installation after a command-not-found failure, executing an unverified installer exceeds the minimum privileges needed to describe or invoke the connector. No evidence establishes that the current remote scripts are malicious, but the execution mechanism creates a direct supply-chain code-execution risk. ### Attack Path 1. The `oo` command is unavailable, or an attacker induces a command-not-found condition. 2. The agent or user follows the first-time setup instructions in `SKILL.md`. 3. The shell retrieves `install.sh` or `install.ps1` from the remote endpoint. 4. An attacker who has compromised the endpoint or its delivery chain returns a modified script. 5. Bash or PowerShell immediately executes the response without integrity verification or review. 6. The payload performs arbitrary actions with the pe ...[truncated 996 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove both direct download-and-execute patterns: - Do not pipe `curl` output directly to `bash`. - Do not pass downloaded PowerShell content directly to `iex`. 2. Require CLI installation to occur outside the Skill's automated execution flow, with explicit user approval. 3. Use a pinned, versioned release artifact from a verified official repository rather than a mutable generic installer URL. 4. Download the installer without executing it, then verify a cryptographic signature or a SHA-256 checksum published through an independent trusted channel. 5. Allow the user or administrator to inspect the downloaded artifact before execution. 6. Run installation with the least-privileged account possible. Do not request administrator or root access unless a documented installation step strictly requires it. 7. Prefer a trusted package manager with signed packages and repository metadata where available. 8. Document the exact files, directories, environment settings, and network endpoints modified by installation. A safer pattern is: ```bash curl -fL -o oo-install.sh "https://trusted.example/releases/vX.Y.Z/oo-install.sh" printf '%s %s\n' "<trusted-sha256>" "oo-install.sh" | sha256sum --check less oo-install.sh bash oo-install.sh ``` The checksum must be obtained from an authenticated, independent source and pinned to a specific release. Equivalent signature validation should be used on Windows before invoking the downloaded installer. ]]>
