T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:98
- Finding
- Unverified Remote Installer Scripts Executed Directly by the Shell## Vulnerability Details **File Location**: `SKILL.md`, lines 98–102 **Vulnerability Type**: Remote payload retrieval and 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 installation instructions retrieve scripts from external URLs and immediately execute their contents with Bash or PowerShell. The payload is not pinned to a specific immutable release, saved for review, or verified using a cryptographic checksum or digital signature. HTTPS provides transport protection but does not establish that the script remains identical to the version assessed during this audit. Compromise of the hosting origin, deployment pipeline, CDN, DNS/control plane, or publisher account could cause future invocations to execute attacker-controlled content. The PowerShell `Invoke-RestMethod | Invoke-Expression` pattern presents the same underlying risk as `curl | bash`. This behavior is not necessary for the Skill's declared Slack functionality. Installing the required CLI may be necessary, but direct execution of mutable remote content exceeds the minimum privilege and integrity requirements for a safe installation process. ### Attack Path 1. The `oo` command is unavailable, causing the agent or user to consult the first-time setup instructions. 2. An attacker compromises or gains control over the remote installer, its publication pipeline, or an associated delivery component. 3. The attacker replaces the expected installer response with a malicious shell or PowerShell payload. 4. The user executes the documented command. 5. `bash` or `iex` immediately interprets the downloaded response without integrity verification or prior inspection. 6. The payload performs arbitrary actions using the permissions of the invoking account and ...[truncated 1033 chars]
- Remediation
- ## Remediation Suggestions 1. Remove both direct execution pipelines. Do not pipe network responses into `bash`, `sh`, `iex`, or another interpreter. 2. Prefer an authenticated operating-system package manager or a signed, version-pinned release from the publisher's official distribution channel. 3. If a standalone installer is unavoidable: - Pin an explicit release version and immutable artifact URL. - Download the artifact to a local file without executing it. - Publish and verify a SHA-256 or stronger checksum obtained through a separately protected channel. - Verify a digital signature against a documented, pinned publisher key. - Abort installation if any verification fails. - Permit inspection before execution. 4. Run installation with ordinary user privileges and request elevation only for narrowly scoped operations that genuinely require it. 5. Document the files, directories, network destinations, and configuration changes made by the installer. 6. Add release-pipeline protections such as signed artifacts, protected publishing credentials, reproducible builds where practical, and monitoring for unexpected installer changes. 7. Replace the affected instructions with a workflow similar to: ```bash curl -fSLo oo-install.sh "https://trusted.example/releases/v1.0.9/install.sh" echo "<published-sha256> oo-install.sh" | sha256sum --check - less oo-install.sh bash oo-install.sh ``` The actual URL, version, checksum, and signature-verification procedure must come from a trusted, official release process rather than placeholders.
