T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:62- Finding
Remote Installer Scripts Are Downloaded and Executed Without Verification
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 62–66
Vulnerability Type: Remote payload retrieval and execution
Risk Level: HighAffected 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 pipe installer content retrieved from
cli.oomol.comdirectly into Bash or PowerShell. The downloaded payload is neither pinned to an immutable version nor authenticated using a published checksum or cryptographic signature before execution.Although installing the
ooCLI may be necessary when it is absent, immediate execution of mutable remote content exceeds the minimum privilege and trust required to provide installation guidance. The effective code is controlled by the remote server at execution time and can change after this Skill has been reviewed. Consequently, auditingSKILL.mddoes not establish what commands will ultimately run.This behavior creates a remote code-execution channel if the hosting infrastructure, release process, DNS resolution, TLS trust chain, or installer content is compromised. HTTPS protects transport under normal conditions but does not provide payload immutability or protect against compromise of the legitimate distribution server. No evidence in the audited file establishes that the current remote scripts are malicious; the vulnerability is the unverified execution mechanism itself.
Attack Path
- The
oocommand is unavailable and the Skill follows its documented first-time setup procedure. - An attacker compromises the installer host, its deployment pipeline, or another trusted component capable of serving accepted content from the referenced URL.
- The attacker modifies
install.shorinstall.ps1to include arbitrary commands. curl | bashor `irm ...[truncated 1429 chars]
- The
- Remediation
View remediation
Remediation Suggestions
- Remove direct
curl | bashandirm | iexexecution from the setup instructions. - Prefer a trusted operating-system package manager or an official package repository that verifies signed package metadata.
- If standalone installers are required, pin an explicit CLI release version rather than a mutable generic installer URL.
- Download the installer to a local file, publish an expected SHA-256 digest through a separately protected release channel, and verify it before execution.
- Cryptographically sign release artifacts and require signature verification against a documented, pinned publisher key.
- Allow users to inspect the downloaded script before executing it, and fail closed when checksum or signature verification fails.
- Run installation with ordinary user privileges and avoid requesting elevation unless a documented installation step strictly requires it.
- Keep installation outside routine Skill execution. The Skill should report that the CLI is missing and direct the user to independently verified installation documentation rather than automatically executing remote content.
A safer Unix-style workflow would be:
bash curl -fL --proto '=https' --tlsv1.2 \ -o oo-install.sh \ 'https://cli.oomol.com/releases/EXPECTED_VERSION/install.sh' echo 'EXPECTED_SHA256 oo-install.sh' | sha256sum --check - less oo-install.sh bash oo-install.shThe digest and release version must be replaced with values published through an authenticated release channel. An equivalent signed-artifact verification process should be used on Windows.
- Remove direct
