T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:62- Finding
Unverified Remote Installers Executed Directly by Shells
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 62–66
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 installation instructions retrieve mutable scripts from
cli.oomol.comand immediately pass their contents to a command interpreter. Neither command pins an installer version, validates 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, executing unverified network content directly is not the minimum safe installation mechanism. The effective code can change after the Skill has been audited. Compromise of the hosting server, DNS or TLS delivery chain, publishing credentials, or installer generation process could therefore turn these documented setup commands into an arbitrary-code-execution channel.The Windows command has the same security property as the Unix command:
Invoke-RestMethodretrieves the script andInvoke-Expressionexecutes it directly in the active PowerShell session.No evidence in the reviewed file establishes that the currently hosted installers are malicious. The confirmed vulnerability is the unsafe remote execution mechanism and its dependence on mutable, externally hosted content.
Attack Path
- The
oocommand is unavailable, causing the user or agent to follow the first-time setup instructions. - An attacker compromises the installer host, publishing process, delivery infrastructure, or another mechanism capable of controlling the response from the documented URL.
- The attacker replaces or modifies
install.shorinstall.ps1with hostile commands.
...[truncated 1410 chars]
- The
- Remediation
View remediation
Remediation Suggestions
- Remove both direct remote-to-interpreter pipelines.
- Prefer a trusted operating-system package manager or a signed, version-pinned release artifact.
- If a standalone installer is necessary, split download and execution into separate steps.
- Pin the installer to an immutable version rather than a mutable generic URL.
- Publish the expected SHA-256 digest through an independent trusted release channel and verify it before execution.
- Cryptographically sign release artifacts and require signature verification against a documented, pinned signing identity.
- Save the installer locally and instruct the user to inspect it before running it.
- Run installation with ordinary user privileges unless a narrowly defined operation demonstrably requires elevation.
- Fail closed if checksum or signature verification fails; do not silently fall back to executing the downloaded content.
- For automated environments, preinstall the verified CLI in a controlled image rather than dynamically retrieving executable code during Skill use.
A safer conceptual workflow is:
bash curl -fSLo oo-installer.sh "https://trusted.example/releases/<pinned-version>/install.sh" echo "<published-sha256> oo-installer.sh" | sha256sum --check - less oo-installer.sh bash oo-installer.shEquivalent Windows guidance should use a pinned download,
Get-FileHash, and signature validation before running the saved script. Placeholder values must be replaced with independently published, release-specific integrity information.
