T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:63
- Finding
- Unverified Remote Installer Download and Immediate Shell Execution## Vulnerability Details **File Location**: `SKILL.md`, lines 63-67 **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 installation instructions retrieve mutable scripts from an external server and pass their contents directly to `bash` or PowerShell's `Invoke-Expression`. Neither command pins a release nor validates a cryptographic signature or expected checksum before execution. HTTPS authenticates and encrypts the transport under normal conditions, but it does not establish that the remotely hosted script is the same payload that was reviewed with this Skill. Compromise of the hosting service, publishing account, deployment pipeline, or signing infrastructure—or an unintended modification of the installer—could therefore turn these instructions into an arbitrary-code-execution channel. The behavior is not required for routine Kuaidi100 operations because the document states that the CLI should normally already be installed. It is presented as a fallback after an `oo: command not found` error. Installing a prerequisite may be functionally related to first-time setup, but executing an unverified remote response exceeds the minimum safe mechanism needed to perform that setup. ### Attack Path 1. The `oo` CLI is unavailable, causing the Agent or user to follow the first-time setup instructions. 2. An attacker compromises or gains publishing control over `https://cli.oomol.com/install.sh` or `install.ps1`, or otherwise causes the trusted endpoint to return a modified installer. 3. `curl` or `irm` downloads the current response without pinning or independent integrity validation. 4. The pipe to `bash` or `iex` executes the response immediately, without an opportunity to ...[truncated 1263 chars]
- Remediation
- ## Remediation Suggestions 1. Remove the direct `curl | bash` and `irm | iex` installation patterns. 2. Pin installation to a specific, reviewed CLI release rather than a mutable generic installer URL. 3. Download the release artifact without executing it, then verify a cryptographic signature or a trusted, hard-coded checksum before installation. 4. Prefer a signed operating-system package or reputable package-manager distribution with version pinning and provenance verification. 5. Keep download, verification, and execution as separate commands so users can inspect the artifact and abort safely. 6. Execute installation with ordinary user privileges unless a specific operation demonstrably requires elevation. Clearly enumerate any requested filesystem or system changes. 7. Require explicit user approval before downloading or executing any installer; an Agent should not automatically perform installation merely because an action failed. 8. Document the expected publisher, release version, verification key, checksums, destination paths, and rollback procedure. 9. For connector operations, disclose that shipping and order data is transmitted to OOMOL and Kuaidi100, request only action-required fields, and obtain confirmation before state-changing actions or transmission of sensitive personal data.
