T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:69- Finding
Unverified Remote Installation Scripts Executed Directly by Shells
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 69-73
Vulnerability Type: Remote payload retrieval and execution
Risk Level: CriticalVulnerable 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 retrieve mutable scripts from external URLs and immediately execute their contents using Bash or PowerShell. Neither command pins a release version, verifies a cryptographic signature or checksum, nor gives the user an opportunity to inspect the downloaded content before execution.
Although installing the
ooCLI supports the Skill's declared functionality, piping a network response directly into a command interpreter is not the minimum safe privilege or trust model required for installation. The effective code is controlled outside the reviewed project and may change after this Skill has been audited.The instructions also use failure-suppressing or compact execution patterns. In particular,
curl -fsSLproduces little visible output, while PowerShell'sirm ... | iexdirectly evaluates the response. A compromise of the distribution server, publishing process, DNS/TLS trust path, or upstream account could therefore turn these documented setup steps into arbitrary code execution.Attack Path
- The
oocommand is unavailable, causing the agent or user to follow the first-time setup instructions. - An attacker compromises the remote installer endpoint, its release infrastructure, or another part of the trusted delivery path.
- The installer URL returns attacker-controlled shell or PowerShell code.
bashoriexexecutes the response immediately without integrity or authenticity verification.- The payload performs arbitrary actions with the permissions of the invoking user or agent process.
...[truncated 1046 chars]
- The
- Remediation
View remediation
Remediation Suggestions
- Remove both direct network-to-interpreter pipelines.
- Prefer installation through a trusted operating-system package manager or another repository that provides signed, versioned packages.
- Pin the CLI to a specific reviewed release rather than retrieving a mutable installer from a generic URL.
- If a standalone installer is necessary, download it to a local file without executing it:
- Use a version-specific HTTPS URL.
- Verify a cryptographic signature from a separately established trust root.
- Verify a published SHA-256 or stronger checksum obtained through an independent authenticated channel.
- Display the resolved version, source, and verification result to the user.
- Require explicit user approval before executing the verified installer.
- Run installation with the least-privileged account possible and do not request administrative privileges unless a documented installation step strictly requires them.
- Publish reproducible installer sources and document the expected file changes so users can inspect and validate the installation behavior.
- Treat integrity-verification failure, redirects to unexpected hosts, or unavailable signatures as fatal errors rather than falling back to direct execution.
