T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:79
- Finding
- Unverified Remote Installation Scripts Executed Directly by Shells## Vulnerability Details **File Location**: `SKILL.md`, lines 79–83 **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 immediately execute them using Bash or PowerShell. The instructions do not pin a script version, verify a cryptographic checksum or publisher signature, save the script for inspection, or otherwise establish that the downloaded content matches an audited artifact. HTTPS protects the transfer in transit but does not address compromise of the hosting service, DNS or certificate infrastructure, deployment pipeline, or publisher account. It also cannot prevent the remote script from being replaced after this Skill has been reviewed. Consequently, the code that ultimately executes is not bounded by the contents of the audited project. This execution capability exceeds the minimum privilege necessary for ordinary Notion operations. Although installing a missing CLI may be functionally relevant, arbitrary unverified code execution is not required to provide that installation. ### Attack Path 1. The `oo` CLI is absent, causing the documented `oo: command not found` fallback to apply. 2. A user or Agent follows the first-time setup instructions. 3. `curl` or `irm` retrieves the current script from the external OOMOL endpoint. 4. The response is passed directly to Bash or `Invoke-Expression` without inspection or integrity verification. 5. If the remote endpoint, publishing pipeline, or delivered script is compromised, attacker-controlled commands execute immediately. 6. Those commands can perform additional downloads, access files available to the invoking account, alter the ...[truncated 885 chars]
- Remediation
- ## Remediation Suggestions 1. Remove the `curl | bash` and `irm | iex` installation patterns. 2. Prefer installation through a trusted platform package manager with a version-pinned package. 3. If standalone artifacts are necessary, link to a version-specific release hosted through the project's official release channel. 4. Publish SHA-256 checksums and, preferably, cryptographic signatures using a documented publisher key. 5. Require users to download the installer to a local file, verify its checksum or signature, and inspect it before execution. 6. Obtain explicit user approval before installing software or executing any installer. 7. Run installation with ordinary user privileges and avoid requesting administrative elevation unless a documented installation step strictly requires it. 8. Document the files, network endpoints, and configuration changes made by the installer so users can evaluate its scope. 9. Where possible, instruct users to install the CLI independently rather than allowing an Agent to execute installation commands.
