T03 · Remote Payload Retrieval and Execution
- Location
- references/installation.md:115
- Finding
- Unverified Remote Installers Are Executed Directly by a Shell<![CDATA[ ## Vulnerability Details **File Location**: - `references/examples.md:56` - `references/examples.md:81-82` - `references/examples.md:178-179` - `references/examples.md:182-183` - `references/nodes-and-remote.md:50` - `references/nodes-and-remote.md:155` - `references/tailscale-integration.md:170-171` - `references/tailscale-integration.md:182-183` - `references/troubleshooting.md:354-362` - `references/installation.md:110-116` **Vulnerability Type**: Unverified remote payload retrieval and execution **Risk Level**: Critical ### Vulnerable Code ```bash # references/examples.md:56 curl -fsSL https://get.openclaw.ai | bash ``` ```bash # references/examples.md:81-82 curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up ``` ```bash # references/examples.md:178-183 curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash - sudo apt install -y nodejs curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up ``` ```bash # references/nodes-and-remote.md:50 and 155 curl -fsSL https://tailscale.com/install.sh | sh ``` ```bash # references/tailscale-integration.md:170-183 curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up --ssh # Raspberry Pi: curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up ``` ```json5 // references/troubleshooting.md:354-362 sandbox: { docker: { network: "bridge", readOnlyRoot: false, user: "0:0", setupCommand: "apt-get update && apt-get install -y curl && curl -LsSf https://astral.sh/uv/install.sh | sh", }, } ``` ```bash # references/installation.md:110-116 # Alpine-basiertes Community-Image: docker pull alpine/openclaw:latest # Phioranex Community-Image mit install-Script: curl -fsSL https://raw.githubusercontent.com/phioranex/openclaw-docker/main/install.sh | sudo bash ``` ### Technical Analysis These instructions stream mutable content from external servers directly into a shell without first saving, inspecting, pinning, or cryptographically verifyin ...[truncated 1973 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove all `curl | bash`, `curl | sh`, and `curl | sudo bash` instructions. 2. Download installers to a local file before execution: ```bash curl --fail --show-error --location \ --output /tmp/installer.sh \ https://trusted.example/release/installer.sh ``` 3. Pin an immutable release version, tag, or commit rather than a mutable branch or generic installer endpoint. 4. Verify a publisher-provided cryptographic signature or checksum before execution. 5. Display or review the downloaded script before running it. 6. Execute with an unprivileged account unless a documented installation step specifically requires elevation. 7. Prefer signed operating-system repositories and package managers over remote shell installers. 8. Remove the personal-repository root installer or replace it with an audited official release artifact. 9. For the sandbox setup, install `uv` from a pinned package or verified artifact during image build rather than through a root `setupCommand`. ]]>
