T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:64- Finding
Unverified Remote Installer Is Piped Directly into Command Interpreters
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 64–72
Vulnerability Type: Remote payload retrieval and immediate execution
Risk Level: HighVulnerable 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 / Linux ``` ```powershell irm https://cli.oomol.com/install.ps1 | iex # Windows PowerShell ```Technical Analysis
The installation instructions download mutable content from
cli.oomol.comand pass the response directly to Bash or PowerShell. Neither installation path pins a release, verifies a cryptographic signature or checksum, nor provides an opportunity to inspect the downloaded code before execution.HTTPS protects the connection in transit under normal conditions, but it does not establish that the current remote script is the same payload that was reviewed. Compromise of the distribution server, publishing account, certificate trust path, or installer deployment process could therefore turn this documented setup step into arbitrary code execution.
The installer runs with the privileges of the invoking user and may gain greater privileges if it requests elevation and the user approves it. This exceeds the minimum privilege required for a read-only Shopify connector skill: the skill only needs access to an already installed
ooCLI, while installing mutable remote code creates a separate system-wide trust boundary.Attack Path
- The
oocommand is absent, causing the user or agent to follow the first-time setup instructions. - An attacker compromises or otherwise gains control over the installer response served from
cli.oomol.com. - The victim runs the documented
curl ... | bashorirm ... | iexcommand. - The shell executes the attacker-controlled response immediately, without inte ...[truncated 1175 chars]
- The
- Remediation
View remediation
Remediation Suggestions
- Remove both direct execution pipelines. Never pass an uninspected network response directly to Bash or PowerShell.
- Prefer a trusted operating-system package manager or a signed vendor package with a version pinned in the instructions.
- If a standalone installer is unavoidable:
- Download it to a local file without executing it.
- Pin the expected installer or release version.
- Obtain the checksum or signature through an independently authenticated channel.
- Verify a SHA-256 checksum and, preferably, a vendor cryptographic signature.
- Abort installation if verification fails.
- Allow the user to inspect the file before execution.
- Execute it only after explicit user approval.
- Publish immutable, versioned installer URLs rather than mutable
install.shandinstall.ps1endpoints. - Document the files, directories, network destinations, and privilege level required by installation.
- Ensure installation defaults to the current user's scope and does not request administrator or root privileges unless a clearly identified operation requires them.
- Keep the existing behavior that installation occurs only after a genuine
command not foundfailure, but require user confirmation before beginning any installation.
