T03 · Remote Payload Retrieval and Execution
Error
- Location
- openclaw_docs/install/installer.md:25
- Finding
- Documentation Recommends Direct Execution of Mutable Remote Installer Scripts<![CDATA[ ## Vulnerability Details **File Location**: `openclaw_docs/install/installer.md:25-45` **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High Equivalent patterns also appear in `openclaw_docs/start/getting-started.md`, `openclaw_docs/help/faq.md`, localized documentation, and several platform installation guides. ### Vulnerable Code Snippet ```markdown ## Quick commands <Tabs> <Tab title="install.sh"> ```bash curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash ``` ```bash curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --help ``` </Tab> <Tab title="install-cli.sh"> ```bash curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash ``` ```bash curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --help ``` </Tab> <Tab title="install.ps1"> ```powershell iwr -useb https://openclaw.ai/install.ps1 | iex ``` ``` ### Technical Analysis The documented commands pass a network response directly to Bash or PowerShell. The response is neither pinned to an immutable release nor verified using a cryptographic digest or signature before execution. The use of TLS options protects the connection in transit but does not establish that the returned script is an approved, immutable build. A compromise of the domain, CDN, DNS configuration, hosting account, or installer publication pipeline could change the effective payload after this Skill has been reviewed. The Skill safety contract says documentation examples must not be executed automatically. Consequently, this is not automatic code execution by the Skill itself. Nevertheless, installation guidance is part of the content the Skill is intended to provide to users, and users may execute the returned command as instructed. ### Attack Path 1. An attacker compromises the installer host, deployment p ...[truncated 1020 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Replace pipe-to-interpreter instructions with a staged installation process: ```bash curl -fL --proto '=https' --tlsv1.2 \ -o openclaw-install.sh \ https://openclaw.ai/releases/<version>/install.sh ``` 2. Publish a SHA-256 digest and, preferably, a signature for each immutable installer release. 3. Require users to verify the downloaded file before execution: ```bash echo "<approved-sha256> openclaw-install.sh" | sha256sum --check - ``` 4. Direct users to inspect the downloaded script and then execute it as a separate operation: ```bash less openclaw-install.sh bash openclaw-install.sh ``` 5. Pin documentation examples to versioned release URLs rather than mutable generic endpoints. 6. Apply the same change to PowerShell examples and all translated or duplicated installation pages. 7. Preserve the existing Skill prohibition against automatically executing commands copied from documentation. ]]>
