T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:63
- Finding
- Unverified Remote Shell Script Download and Execution## Vulnerability Details **File Location**: `SKILL.md:63` **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code ```bash curl -fsSL https://cli.oomol.com/install.sh | bash # macOS / Linux ``` ### Technical Analysis The installation instruction pipes a remotely downloaded, mutable shell script directly into `bash`. The downloaded content is not pinned to a version and is not authenticated through a cryptographic signature or verified against a trusted checksum before execution. Although HTTPS provides transport protection, it does not mitigate compromise of the hosting service, publishing account, CDN, DNS infrastructure, or upstream build process. It also cannot prevent the remote script from changing after this Skill has been audited. Consequently, the effective code executed by this instruction is outside the reviewed project. Installing the CLI may support the Skill's declared Railway connector functionality, but immediate execution of an unverified remote script is not the minimum privilege or minimum-risk mechanism necessary to perform that installation. ### Attack Path 1. The `oo` CLI is absent, and execution fails with `oo: command not found`. 2. The user or agent follows the first-time setup instruction in `SKILL.md`. 3. `curl` downloads the current content of `https://cli.oomol.com/install.sh`. 4. The downloaded bytes are passed directly to `bash` without being saved, inspected, version-pinned, or cryptographically verified. 5. If the remote origin or delivery chain has been compromised—or the installer has been maliciously changed—the supplied commands execute immediately. 6. The payload operates with all privileges available to the user running the command. ### Impact Assessment A malicious installer could execute arbitrary commands with the invoking user's privileges. Depending on those privileges and the host environment, it could read or modify use ...[truncated 386 chars]
- Remediation
- ## Remediation Suggestions - Do not pipe network responses directly into a shell. - Distribute the CLI through a trusted, authenticated package manager or a pinned official release. - Pin an explicit version rather than retrieving a mutable installer endpoint. - Download the artifact to a local file without executing it. - Verify a published SHA-256 checksum and, preferably, a cryptographic signature whose trusted public key is distributed independently. - Allow the user to inspect the downloaded installer or package before execution. - Require explicit user approval before installation and run it with the least-privileged account possible. - Document the files, permissions, and network endpoints used by the installer.
