T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:60
- Finding
- Unverified Remote Installer Download and Execution## Vulnerability Details **File Location**: `SKILL.md`, lines 60–64 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: Critical ```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 immediately execute their contents through Bash or PowerShell. There is no version pinning, checksum validation, cryptographic signature verification, local inspection step, or trusted package-manager boundary. HTTPS protects the connection in transit but does not establish that the returned script is the same code that was reviewed. The effective payload can change after publication of the Skill. A compromise of the domain, hosting infrastructure, installer release pipeline, or signing account could therefore turn these setup commands into arbitrary code-execution mechanisms. This behavior is not required for the Skill's primary function of reading Granola data through an already-installed `oo` CLI. Installation should be separated from normal Skill operation and remain an explicit, independently verifiable user action. ### Attack Path 1. A Granola action fails because the `oo` CLI is not installed. 2. The Agent or user follows the documented first-time setup procedure. 3. `curl` or `Invoke-RestMethod` retrieves the current installer response from the remote server. 4. The response is passed directly to Bash or `Invoke-Expression` without verification or review. 5. If the remote source or delivery pipeline has been compromised, attacker-controlled commands execute with the privileges of the invoking process. 6. Those commands could access locally available data, alter files, install additional software, or establish persistence, subject to the invoking account's permissions. ### Im ...[truncated 673 chars]
- Remediation
- ## Remediation Suggestions 1. Remove both direct download-to-shell pipelines from the Skill instructions. 2. Prefer an official operating-system package manager or another installation channel that verifies signed, versioned packages. 3. If standalone installers are necessary, pin an explicit release version and publish immutable artifact URLs. 4. Require users to download the installer as a file rather than executing the network response directly. 5. Publish SHA-256 checksums through a separately protected channel and verify the downloaded artifact before execution. 6. Prefer detached cryptographic signatures backed by a documented release key; verify both the signature and expected signer identity. 7. Ask the user for explicit approval before any installation and clearly describe the commands, destination, and required privileges. 8. Run installation without administrative privileges unless a specific, documented operation requires elevation. 9. Keep CLI installation outside routine Skill execution. The Skill should fail safely and direct the user to reviewed installation documentation when the CLI is unavailable.
