T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:92
- Finding
- Unverified Remote Installer Download and Immediate Shell Execution<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 92–96 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code ```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 first-time setup instructions download mutable scripts from `cli.oomol.com` and execute them immediately through Bash or PowerShell. Neither command pins an installer version, validates a cryptographic checksum or signature, nor gives the user an opportunity to inspect the downloaded content before execution. The domain appears associated with the declared OOMOL service, and installation is only recommended when the `oo` command is unavailable. Nevertheless, the execution pattern creates a remote code-execution channel whose effective payload can change after the Skill has been reviewed. Compromise of the origin server, CDN, DNS path, deployment pipeline, or publishing account could therefore turn the documented installation process into arbitrary code execution. This installer execution is not inherently required to operate Google Calendar when the CLI is already installed. For first-time setup, safer installation and verification mechanisms can achieve the same purpose without directly piping remote content into a shell. ### Attack Path 1. The `oo` CLI is unavailable, causing the Agent or user to follow the first-time setup instructions. 2. An attacker compromises or interferes with the installer distribution endpoint, its publishing pipeline, or the relevant network delivery infrastructure. 3. The attacker substitutes malicious content for `install.sh` or `install.ps1`. 4. `curl | bash` or `irm | iex` passes the content directly to a command interpreter without integrity verification. 5. The malicious installer executes with the privileges of the user or Agent process. 6. T ...[truncated 919 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove both direct execution patterns: - Do not pipe `curl` output directly into Bash. - Do not pipe `Invoke-RestMethod` output directly into `Invoke-Expression`. 2. Publish versioned installer artifacts and require an explicit download step. Pin the documented installation command to a specific release rather than a mutable generic installer URL. 3. Publish SHA-256 checksums through a separately protected release channel and require verification before execution. 4. Cryptographically sign release artifacts and document how users can verify the publisher identity and signature. 5. Prefer trusted package managers with signed repositories and version pinning where available. 6. If a standalone installer remains necessary, use a process similar to: ```bash curl -fSLo oo-install.sh "https://example.invalid/releases/vX.Y.Z/install.sh" printf '%s %s\n' "<EXPECTED_SHA256>" "oo-install.sh" | sha256sum --check less oo-install.sh bash oo-install.sh ``` The real release URL and independently published checksum must replace the placeholders. 7. Run installation without administrative privileges unless a specific, documented operation requires elevation. Clearly disclose all files, directories, executables, and configuration entries modified by the installer. 8. Preserve the existing conditional behavior so installation is attempted only after a genuine `command not found` error, and require explicit user approval before downloading or executing installation software. ]]>
