T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:111
- Finding
- Unverified Remote Installer Executed Directly by Bash<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:111` **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code ```bash curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard ``` ### Technical Analysis The bare-metal installation procedure downloads a mutable shell script from an external URL and passes it directly to Bash. No release version is pinned, and no cryptographic signature or checksum is verified before execution. HTTPS protects the connection in transit but does not guarantee that the content hosted at the URL remains identical to the content reviewed during this audit. Compromise of the domain, hosting infrastructure, publishing credentials, or installer distribution process could change the effective payload at any time. Piping the response directly into Bash also prevents meaningful review of the retrieved script before execution. The behavior is unnecessary at this privilege level: a versioned installer can be downloaded, verified, and then executed separately. ### Attack Path 1. An attacker compromises the installer hosting service, domain, release process, or associated publishing credentials. 2. The attacker replaces `install.sh` with a malicious shell payload. 3. A user requests a bare-metal agent deployment. 4. The Skill downloads the current remote response and immediately executes it with Bash. 5. The malicious script runs with all privileges available to the account invoking the Skill. 6. The payload can read or alter user files, steal OpenClaw credentials, modify shell configuration, install additional software, or establish persistence where permissions allow. ### Impact Assessment Successful exploitation provides arbitrary command execution under the invoking user's identity. This includes access to that user's OpenClaw configuration, environment secrets, workspace data, SSH material, and other readable files. If the command is invoked from a privileged ...[truncated 62 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Replace the mutable installer URL with a version-pinned release artifact. 2. Download the artifact to a local file rather than piping it into a shell. 3. Verify a publisher-provided cryptographic signature or a checksum obtained through a separately trusted channel. 4. Display the source, version, and verified digest in the deployment plan. 5. Require explicit user confirmation after verification and before execution. 6. Run the installer as an unprivileged account and avoid `sudo` unless a specific operation requires it. 7. Prefer a package manager or reproducible installation method with signed metadata. Example hardened flow: ```bash curl -fL -o openclaw-install.sh \ "https://example.invalid/releases/<pinned-version>/install.sh" echo "<trusted-sha256> openclaw-install.sh" | sha256sum -c - bash openclaw-install.sh --no-onboard ``` ]]>
