T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:57- Finding
Unverified Remote Installer Download and Immediate Shell Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 57–61
Vulnerability Type: Remote payload retrieval and execution
Risk Level: CriticalThe first-time setup instructions download mutable scripts from an external service and execute them immediately:
bash curl -fsSL https://cli.oomol.com/install.sh | bash # macOS / Linuxpowershell irm https://cli.oomol.com/install.ps1 | iex # Windows PowerShellTechnical Analysis
Both installation commands combine remote retrieval with immediate code execution. The downloaded content is not pinned to a specific release and is not validated using a cryptographic signature or published checksum before execution. The user or agent therefore cannot verify that the executed script is the same artifact that was security-reviewed.
TLS protects data in transit but does not mitigate compromise of the hosting domain, DNS infrastructure, web server, release pipeline, or installer source. Any party able to alter the response from either URL can supply arbitrary shell or PowerShell commands.
Installing the CLI is relevant only when it is absent, but executing an unverified remote script is not the minimum privilege or minimum-risk method necessary to perform that installation. A pinned and independently verified package could provide the same functionality without directly executing mutable network content.
Attack Path
- An action fails because the
oocommand is unavailable. - The agent or user follows the documented first-time setup procedure.
- An attacker compromises the installer host, deployment pipeline, DNS path, or another component capable of changing the installer response.
- The command downloads the attacker's substituted script.
- The shell or PowerShell interpreter executes the response immediately, without inspection or integrity verification.
- The malicious installer performs arbitrary actions under the privilege ...[truncated 868 chars]
- An action fails because the
- Remediation
View remediation
Remediation Suggestions
- Remove the
curl | bashandirm | iexinstallation patterns. - Direct users to a pinned release or trusted platform package manager rather than a mutable installer endpoint.
- Download the installer or package as a separate step and do not execute it automatically.
- Publish a SHA-256 checksum and, preferably, a cryptographic signature for every release.
- Verify the checksum and signature against metadata obtained through an independent trusted channel before execution.
- Pin the expected CLI version so reviewed behavior cannot change silently.
- Display the artifact location and require explicit user approval before running any installer.
- Run installation with ordinary user privileges unless a specific, documented operation requires elevation.
- Document the files, directories, network endpoints, and configuration changes used by the installer.
- Prefer commands similar to the following staged process:
bash curl -fSLo oo-installer.sh https://trusted.example/releases/vX.Y.Z/install.sh echo '<published-sha256> oo-installer.sh' | sha256sum --check # Inspect the downloaded script and obtain explicit approval before execution. bash oo-installer.shEquivalent PowerShell instructions should use a pinned artifact, validate its Authenticode signature or published cryptographic hash, and obtain approval before invoking it.
- Remove the
