T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:53- Finding
Unverified Remote Installation Scripts Executed Directly by Shell Interpreters
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 53–62
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 installation instructions retrieve mutable scripts from `cli.oomol.com` and pass their contents directly to Bash or PowerShell. Neither command gives the user or Agent an opportunity to inspect the downloaded payload before execution. The Skill does not pin a CLI or installer version, verify a cryptographic signature, validate a checksum, or include an auditable copy of either installer. Consequently, the effective code executed by these instructions may change after the Skill has been reviewed. HTTPS protects data in transit but does not protect against a compromised distribution server, compromised publishing credentials, domain or DNS takeover, or a malicious future replacement of the installer. The remote script executes with all privileges available to the shell that launches it. Installing the CLI may be relevant when it is absent, but immediate execution of an unverified remote payload exceeds the minimum safe mechanism necessary to provide installation guidance. ### Attack Path 1. The Agent attempts to use the Skill on a system where the `oo` command is unavailable. 2. The command fails with `oo: command not found`, activating the documented first-time setup path. 3. The Agent or user runs the applicable installation command. 4. `curl` or PowerShell's `Invoke-RestMethod` downloads the current installer from the remote server. 5. The downloaded response is immediately interpreted by Bash or `Invoke-Expression`. 6. If the server, ...[truncated 1149 chars]- Remediation
View remediation
Remediation Suggestions
- Remove both pipe-to-shell installation commands from the Skill instructions.
- Direct users to a trusted package manager or a versioned official release instead of an unversioned installer endpoint.
- Pin the exact CLI version required by the Skill.
- Download the release artifact to disk without executing it immediately.
- Publish a SHA-256 digest and a cryptographic signature through an independently protected channel.
- Verify both the checksum and signature before installation; abort on any verification failure.
- Allow the user to inspect the downloaded installer before explicitly approving execution.
- Avoid administrative or root execution unless a documented installation step strictly requires it.
- Prefer a platform-specific package format with signature validation and an auditable manifest.
- Document the files, permissions, network destinations, and configuration changes made during installation.
A safer Unix-like workflow would follow this pattern:
bash curl -fL -o oo-cli.tar.gz "https://trusted.example/releases/vX.Y.Z/oo-cli.tar.gz" echo "<PINNED_SHA256> oo-cli.tar.gz" | sha256sum --check - # Verify a publisher signature and inspect the package before installing it.The equivalent Windows process should use a versioned artifact, validate its Authenticode or detached publisher signature and pinned digest, and avoid
Invoke-Expression.
