T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:57- Finding
Unverified Remote Installer Download and Immediate Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 57–61
Vulnerability Type: Remote payload retrieval and execution
Risk Level: HighVulnerable Code
bash curl -fsSL https://cli.oomol.com/install.sh | bash # macOS / Linuxpowershell irm https://cli.oomol.com/install.ps1 | iex # Windows PowerShellTechnical Analysis
The first-time setup instructions download mutable scripts from
cli.oomol.comand pass their contents directly to a command interpreter. The Unix command pipes the response into Bash, while the Windows command usesInvoke-Expressionto execute the downloaded PowerShell content.Neither command pins an installer version nor verifies a cryptographic signature or checksum. The code ultimately executed can therefore change after the Skill has been reviewed. Although installation is described as a fallback for a missing CLI, installing software through an unverified remote script exceeds the minimum privileges needed to perform the Skill's declared Semrush read operations.
Exploitation does not require modifying this repository. An attacker capable of compromising the installer host, its deployment pipeline, or another trusted delivery component could replace the installer with arbitrary code. The Skill would then direct the agent or user to execute that payload.
Attack Path
- The
ooCLI is unavailable, causing an action to fail withoo: command not found. - The agent or user follows the first-time setup instructions in
SKILL.md. curlorInvoke-RestMethodretrieves the current installer fromcli.oomol.com.- The response is passed directly to Bash or
Invoke-Expressionwithout inspection or integrity verification. - A compromised or malicious installer executes with the privileges of the invoking account.
- The payload can access resources available to that account and may download further components, alter local files, or es ...[truncated 712 chars]
- The
- Remediation
View remediation
Remediation Suggestions
- Remove direct
curl | bashandInvoke-RestMethod | Invoke-Expressionexecution patterns. - Distribute the CLI through a trusted package manager or a versioned release artifact from an authenticated official repository.
- Pin a specific installer or binary version rather than retrieving a mutable endpoint.
- Publish cryptographic checksums or signatures through an independently protected channel and verify them before execution.
- Download the installer to a local file, inspect or validate it, and execute it only after explicit user approval.
- Do not let the agent install software automatically. On a missing dependency, provide manual installation guidance and require the user to approve the exact artifact and operation.
- Run installation with ordinary user privileges where possible, and document any files, permissions, or services the installer creates.
- Prefer a hardened workflow such as:
bash curl --fail --show-error --location \ --output oo-installer.sh \ https://example.invalid/releases/VERSION/install.sh echo "EXPECTED_SHA256 oo-installer.sh" | sha256sum --check less oo-installer.sh bash oo-installer.shThe release URL and checksum in the actual instructions must come from authenticated, version-specific official release metadata.
- Remove direct
