T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:55- Finding
Unverified Remote Shell Script Execution via curl and Bash
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 55
Vulnerability Type: Remote payload retrieval and immediate execution
Risk Level: HighComplete Code Snippet:
bash curl -fsSL https://cli.oomol.com/install.sh | bash # macOS / LinuxTechnical Analysis
The installation instruction retrieves a shell script from a mutable external URL and passes it directly to Bash. The project does not pin a release version, verify a cryptographic checksum, validate a digital signature, or give the user an opportunity to inspect the downloaded script before execution.
Consequently, the effective code executed by this Skill is not contained in the audited package and can change after the audit. HTTPS protects the connection in transit under normal conditions, but it does not protect against compromise of the hosting account, web server, DNS infrastructure, certificate issuance process, or release pipeline.
Installing a CLI is relevant to the declared functionality, but executing an unauthenticated mutable payload exceeds the minimum privilege and trust necessary to perform installation safely.
Attack Path
- The
ooCLI is unavailable, causing the user or agent to follow the first-time setup instructions. - An attacker compromises or gains control over the installer endpoint, its delivery infrastructure, or its release pipeline.
- The attacker replaces
install.shwith a malicious shell payload. curldownloads the modified payload without artifact integrity verification.- The shell pipeline passes the response directly to Bash.
- The payload executes with all privileges available to the account that invoked the command.
Impact Assessment
Successful exploitation provides arbitrary command execution with the invoking user's privileges. The payload could access files and environment variables readable by that user, steal locally available credentials, alter shell configuration, ...[truncated 312 chars]
- The
- Remediation
View remediation
Remediation Suggestions
- Do not pipe network responses directly into a shell.
- Publish versioned and immutable release artifacts through an official release channel.
- Pin the installer or package to an explicit version.
- Publish a SHA-256 or stronger digest through an independently protected channel and verify it before execution.
- Prefer signed native packages and validate the package publisher's signature.
- Download the artifact to a local file, verify its integrity, and allow inspection before running it.
- Document the exact files, permissions, and system changes made by the installer.
- Run installation with ordinary user privileges unless a specific operation demonstrably requires elevation.
A safer workflow is:
bash curl -fSLo oo-install.sh "https://cli.oomol.com/releases/VERSION/install.sh" echo "EXPECTED_SHA256 oo-install.sh" | sha256sum --check - less oo-install.sh bash oo-install.sh
