T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:63
- Finding
- Unverified Remote Shell Script Execution<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, line 63 **Vulnerability Type**: Remote payload retrieval and immediate execution **Risk Level**: High ### Vulnerable Code ```bash curl -fsSL https://cli.oomol.com/install.sh | bash # macOS / Linux ``` ### Technical Analysis The installation instruction downloads a mutable script from an external server and pipes it directly into Bash. The payload is not pinned to a version, saved for inspection, validated against a cryptographic checksum, or verified with a trusted signature. The command is presented as a conditional first-time setup step when `oo` is unavailable, rather than as an action performed during every skill invocation. Nevertheless, once invoked, the external server controls the code executed locally. The installer itself is absent from the audited project, so its behavior and future changes cannot be statically reviewed. This creates a remote code-execution and supply-chain channel. Compromise of the hosting infrastructure, release process, domain, or TLS delivery path could substitute arbitrary shell commands. The source domain is consistent with the stated OOMOL provider, but domain consistency alone does not provide payload integrity. ### Attack Path 1. The `oo` command is unavailable and an installation is initiated using the documented setup instruction. 2. `curl` requests the current contents of `https://cli.oomol.com/install.sh`. 3. An attacker who has compromised the hosting service, publishing process, or relevant delivery infrastructure modifies the response. 4. The response is streamed directly into Bash without inspection or integrity verification. 5. The substituted commands execute with the privileges of the user running the installation. ### Impact Assessment A substituted installer could execute arbitrary commands with the invoking user's permissions. Depending on those permissions and the host configuration, it could read or modify accessible files, collect ...[truncated 398 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Remove the `curl | bash` installation pattern. - Prefer a trusted operating-system package manager or a pinned release from the provider's verifiable official repository. - If a standalone installer is necessary: 1. Download it to a local file without executing it. 2. Pin the expected release version and immutable artifact URL. 3. Verify a published SHA-256 or stronger checksum. 4. Verify a cryptographic signature against a documented trusted public key. 5. Allow the user to inspect the script before execution. 6. Require explicit user approval before running it. - Execute installation with ordinary user privileges unless a narrowly defined operation demonstrably requires elevation. - Document the files, network destinations, and system changes expected from the installer. ]]>
