T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:57
- Finding
- Unverified Remote Installation Scripts Executed Directly by Shells<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 57–65 **Vulnerability Type**: Unverified remote payload retrieval and execution **Risk Level**: Critical ### Vulnerable 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.com` and immediately execute the response with Bash or PowerShell. They do not pin an installer version, verify a cryptographic checksum or signature, inspect the downloaded content, or establish that the received payload matches a reviewed artifact. The commands therefore transfer control of the local shell to externally hosted content whose effective behavior can change after this Skill has been audited. HTTPS protects the connection in transit but does not mitigate compromise of the hosting service, publication account, installer pipeline, DNS/TLS trust chain, or upstream infrastructure. Installation is only presented as a fallback when `oo` is unavailable, and routine tool access is otherwise constrained to `Bash(oo *)`. Nevertheless, executing an unverified installer exceeds the minimum privilege necessary to describe or operate the Linkly connector. The installer’s actual filesystem, network, credential, and persistence behavior is not visible in the audited project. The project also sends Linkly action data through the OOMOL connector. That network behavior is consistent with the declared integration, and the audited file does not show raw credential harvesting or unrelated exfiltration. The confirmed issue is specifically the direct execution of unverified remote installer content. ### Attack Path 1. The `oo` CLI is missing from the environment, ...[truncated 1706 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove both pipe-to-shell installation commands. 2. Direct users to a documented, version-pinned release artifact or trusted operating-system package manager. 3. Download the installer to a local file rather than executing the network response immediately. 4. Publish and require verification of a cryptographic signature or SHA-256 checksum obtained through an independently protected channel. 5. Display or inspect the downloaded script before execution. 6. Pin an explicit CLI version so the audited dependency cannot change silently. 7. Request explicit user approval before downloading or installing software. 8. Run installation with ordinary user privileges and avoid `sudo` or administrator execution unless a documented component strictly requires it. 9. Document the installer’s expected filesystem changes, network destinations, required permissions, and uninstall procedure. 10. Prefer an auditable sequence such as: ```bash curl -fSLo oo-install.sh "https://cli.oomol.com/releases/<pinned-version>/install.sh" echo "<expected-sha256> oo-install.sh" | sha256sum --check less oo-install.sh bash oo-install.sh ``` The PowerShell procedure should likewise use a pinned artifact, verify an Authenticode signature or cryptographic digest, permit inspection, and execute only after explicit approval. ]]>
