T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:59- Finding
Unverified Remote Installer Scripts Executed Directly by Shells
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 59–68
Vulnerability Type: Remote payload retrieval and execution
Risk Level: CriticalVulnerable 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 / Linuxpowershell irm https://cli.oomol.com/install.ps1 | iex # Windows PowerShelltext ### Technical Analysis The instructions retrieve mutable scripts from `cli.oomol.com` and execute them immediately using Bash or PowerShell. Neither command pins a specific installer version, verifies a cryptographic signature or checksum, nor separates download from execution for inspection. HTTPS provides transport protection but does not establish that the downloaded script is safe. If the hosting service, publishing account, DNS configuration, or deployment pipeline is compromised, the remote content can be replaced after this skill has been reviewed. The next user or agent following the setup instructions would then execute the changed payload. Installing the required CLI is relevant to the skill's declared functionality, but direct pipe-to-shell execution exceeds the minimum privileges and risk necessary for installation. A separately downloaded, version-pinned, cryptographically verified package would provide the same functionality with a materially smaller attack surface. ### Attack Path 1. The `oo` CLI is unavailable, causing an `oo: command not found` error. 2. The user or agent follows the documented first-time setup procedure. 3. An attacker compromises or otherwise gains control over the remote installer delivery path. 4. The attacker replaces `install.sh` or `install.ps1` with a malicious payload. 5. `curl | bash` or `irm | iex` executes the payload without integrity verification or prior inspection. 6. The payload operates with all permissions hel ...[truncated 925 chars]- Remediation
View remediation
Remediation Suggestions
-
Remove both direct execution patterns:
- Do not pipe
curloutput directly into Bash. - Do not pass downloaded PowerShell content to
Invoke-Expression.
- Do not pipe
-
Publish versioned installation artifacts through an authenticated official release channel and pin the documented installation procedure to a specific version.
-
Download the artifact to a local file before execution. Do not execute it until verification succeeds.
-
Publish SHA-256 checksums through a separately protected channel and verify the downloaded artifact against the expected checksum. Prefer cryptographic release signatures with a pinned, independently distributed public key.
-
Provide package-manager installation methods where available, using signed repositories and fixed package versions.
-
Run installation with ordinary user privileges unless a specific operation demonstrably requires elevation. Clearly identify any privileged steps rather than executing the whole installer as an administrator.
-
Document the expected files, network destinations, and system modifications made by the installer so users can assess the requested privileges.
-
For PowerShell, use a signed script with an appropriate execution policy and invoke the verified local file directly rather than using
iex.
A safer high-level workflow is:
text Download a version-pinned artifact → Verify its signature and published checksum → Inspect or validate the local artifact → Execute it with the minimum required privileges-
