T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:58
- Finding
- Unverified Remote Installation Scripts Are Executed Directly## Vulnerability Details **File Location**: `SKILL.md`, lines 58–62 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: Critical The first-time setup instructions execute mutable remote content directly in Bash or PowerShell: ```bash curl -fsSL https://cli.oomol.com/install.sh | bash ``` ```powershell irm https://cli.oomol.com/install.ps1 | iex ``` ### Technical Analysis Both installation commands retrieve content from an external server and immediately pass the response to a command interpreter. The downloaded payload is not pinned to a specific version, saved for inspection, checked against an expected cryptographic digest, or verified using a trusted digital signature. HTTPS protects the connection in transit but does not guarantee that the server, hosting account, deployment pipeline, or published script has not been compromised. Because the effective script can be changed after the Skill has been reviewed, these commands create a remote code-execution channel controlled by the installation endpoint. Installing the `oo` CLI may be necessary for the declared integration. However, executing an unverified, mutable response is not the minimum safe capability required to install it. The PowerShell `Invoke-RestMethod | Invoke-Expression` instruction has the same security properties as the Bash `curl | bash` instruction. ### Attack Path 1. The user or Agent attempts to use the Skill on a system where the `oo` CLI is unavailable. 2. The documented first-time setup fallback is followed. 3. An attacker compromises the installation endpoint, its deployment pipeline, hosting credentials, or another trusted distribution component. 4. The endpoint returns an attacker-controlled Bash or PowerShell payload. 5. The shell evaluates the response immediately, without integrity verification or an opportunity for inspection. 6. The payload executes with all permissions available to the user running the ...[truncated 760 chars]
- Remediation
- ## Remediation Suggestions 1. Remove the direct `curl | bash` and `Invoke-RestMethod | Invoke-Expression` installation patterns. 2. Prefer a trusted, platform-native package manager with a version-pinned package where available. 3. Otherwise, download a versioned installation artifact to a local file without executing it. 4. Publish an expected SHA-256 or stronger digest through an independently protected release channel and verify the downloaded artifact before execution. 5. Prefer cryptographic signature verification using a documented signing key over checksum-only verification. 6. Abort installation if integrity or signature validation fails. 7. Allow the user to inspect the downloaded script before explicitly executing it. 8. Document that installation must occur without elevated privileges unless a specific, justified step requires them. 9. Pin the installer and CLI to a specific release rather than retrieving an implicitly mutable latest version. 10. Protect the release pipeline with restricted publishing access, multifactor authentication, signed releases, and auditable build provenance.
