T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:55
- Finding
- Remote Shell Script Downloaded and Executed Without Verification<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:55-60` **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### 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 ``` ``` ### Technical Analysis The installation command pipes content obtained from a mutable external URL directly into Bash. The downloaded script is neither pinned to a reviewed version nor validated using a cryptographic signature or checksum before execution. TLS protects the network connection to the currently resolved server, but it does not establish that the returned script is immutable or safe. Compromise of the hosting server, CDN, DNS infrastructure, deployment pipeline, or publisher account could change the effective payload after this Skill has been reviewed. Although installation is only presented as a fallback when `oo` is unavailable, executing an unrestricted installer is substantially more privileged than the routine `oo connector` commands required by the declared FullContact functionality. ### Attack Path 1. The `oo` command is unavailable on the user's system. 2. The Agent or user follows the first-time setup instructions. 3. An attacker compromises the installer host, its deployment pipeline, or another component controlling the response from `https://cli.oomol.com/install.sh`. 4. The endpoint returns a modified shell script. 5. `curl` sends the response directly to Bash without an inspection or verification step. 6. The attacker's commands execute with all permissions available to the invoking shell. ### Impact Assessment A malicious installer could execute arbitrary commands under the invoking account. Depending on that account's privileges and environment, it could: - Read or modify user-accessible files. - Access credentials, tokens, SSH material, ...[truncated 437 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Remove the `curl | bash` installation pattern. - Prefer an official operating-system package manager or a pinned release artifact from a documented publisher. - Download the installer as a separate file without executing it: ```bash curl -fL -o install.sh https://example.invalid/pinned/install.sh ``` - Publish and verify a cryptographic checksum or signature obtained through a separately trusted channel. - Pin the installer to an immutable version rather than a mutable generic `install.sh` endpoint. - Allow the user to inspect the downloaded file before execution. - Require explicit user approval before running installation commands. - Run the installer with the least-privileged account possible and document any files, permissions, or services it will modify. ]]>
