T03 · Remote Payload Retrieval and Execution
- Location
references/installation.md:115- Finding
Unverified Remote Installers Are Executed Directly by a Shell
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a documentation-only OpenClaw administration skill, but it repeatedly recommends high-impact installation and permission commands that users should review carefully before running.
Install only if you want an OpenClaw sysadmin reference skill and are comfortable manually reviewing commands before execution. Do not run curl-to-shell, sudo bash, chmod -R 777, or ~/.zshrc helper commands blindly; prefer official package-manager installs, pinned/checksummed downloads, restrictive permissions, SecretRef-based credential handling, and backups before OpenClaw changes.
references/installation.md:115Unverified Remote Installers Are Executed Directly by a Shell
references/docker-setup.md:349Mutable Downloaded Shell Helper Is Persisted in the User's Shell Startup File
references/docker-setup.md:253World-Writable Permissions Are Recommended for the OpenClaw Data Directory
references/installation.md:173Sensitive API Keys and Channel Tokens Are Passed Through Command Arguments and URLs
references/troubleshooting.md:390Credential File Is Duplicated Without Enforcing Secure Destination Permissions
This command chains network-derived output directly into a privileged write via a shell pipe to sudo tee. Even though the source is a DNS lookup for a legitimate service, the pattern is dangerous because it normalizes taking externally influenced command output and writing it as root without an intermediate verification step.
dig +short api.telegram.org AAAA
echo "$(dig +short api.telegram.org A | head -1) api.telegram.org" | sudo tee -a /etc/hosts
The recursive chown/chmod block can be misused because it modifies an entire state directory that likely contains authentication tokens, configuration, memory, and workspace files for the agent system. Combined with the later 777 fallback, this can make sensitive files writable by unintended local users or malware, enabling credential theft, configuration tampering, and persistence.
# Option 1 (empfohlen): Ownership auf UID 1000
sudo chown -R 1000:$(id -g) ~/.openclaw
sudo chmod -R u+rwX,g+rwX,o-rwx ~/.openclaw
# Option 2: Gruppe beschreibbar
The example instructs users to pipe a remote script directly into bash, which grants immediate code execution to whatever is served by that URL at runtime. In a setup guide for an agent framework, this is especially risky because users are likely to run it verbatim on servers that will later hold tokens, channel credentials, and agent data.
# 1. Installieren
curl -fsSL https://get.openclaw.ai | bash
# 2. Wizard durchlaufen (Token, Model, Telegram-Bot)
openclaw setup
Piping curl output directly into bash is a classic unsafe chaining pattern because it executes attacker-controlled network data without validation. In this skill's context, the resulting host may store gateway tokens and messaging credentials, increasing the real-world impact of compromise.
# 1. Installieren
curl -fsSL https://get.openclaw.ai | bash
# 2. Wizard durchlaufen (Token, Model, Telegram-Bot)
openclaw setup
Piping the Tailscale installer directly into sh executes unreviewed network content immediately, creating a straightforward supply-chain and MITM execution risk if the distribution path is compromised. Because this config is for a VPS gateway environment, successful exploitation could expose network routing, credentials, and access to connected agent infrastructure.
# Tailscale installieren
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
tailscale ip -4 # z.B. 100.64.x.x
The '| sh' chain causes immediate shell execution of remote content with no integrity or authenticity verification. On a VPS used for gateway and tailnet connectivity, exploitation could grant persistent access to both the host and attached communication channels.
# Tailscale installieren
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
tailscale ip -4 # z.B. 100.64.x.x
Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.
# 1. Raspberry Pi OS Lite (64-bit) installieren
# 2. SSH aktivieren, Updates
sudo apt update && sudo apt upgrade -y
# 3. Node.js 22+ installieren
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash -
The pipeline sends remotely fetched content straight into sudo bash, combining chaining abuse with privileged execution. This removes opportunities for inspection and turns any compromise of the upstream script or delivery path into immediate root code execution.
sudo apt update && sudo apt upgrade -y
# 3. Node.js 22+ installieren
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash -
sudo apt install -y nodejs
# 4. Tailscale
This repeats the same high-risk curl-to-sh pattern for Tailscale on the Raspberry Pi node. Since the node is intended to connect back to the gateway and may receive automation capabilities, compromise here could be leveraged into broader control of the OpenClaw environment.
sudo apt install -y nodejs
# 4. Tailscale
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
# 5. OpenClaw (nur Node-Host, kein Gateway!)
This is the same unsafe network-to-shell chaining pattern on the Raspberry Pi node setup. Because the node is designed to participate in the OpenClaw control plane, a compromised install can become a foothold for later movement or abuse of granted capabilities.
sudo apt install -y nodejs
# 4. Tailscale
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
# 5. OpenClaw (nur Node-Host, kein Gateway!)
The curl ... | sudo bash chain combines remote content retrieval, shell piping, and privilege escalation into a single opaque command, eliminating opportunities for user review or integrity checks. In security terms this greatly amplifies the blast radius of any compromise in the source, transport, or command substitution path.
docker pull alpine/openclaw:latest
curl -fsSL https://raw.githubusercontent.com/phioranex/openclaw-docker/main/install.sh | sudo bash
### Docker-Volumes
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
# Index zurücksetzen (bei Provider/Modell-Wechsel)
rm ~/.openclaw/memory/<agentId>.sqlite
# Gateway neu starten
systemctl --user restart openclaw-gateway
Piping a remote script directly into 'sh' executes unverified code from the network with no integrity check or review step. If the remote host, transport, DNS, or distribution path is compromised, an attacker could gain code execution during installation, which is especially dangerous because the next step uses administrative privileges and this guide targets gateway infrastructure.
# Auf dem VPS:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
# Tailscale-IP notieren: tailscale ip -4
The '| sh' chain is the dangerous mechanism that turns a network fetch into immediate shell execution, removing any opportunity for review or integrity enforcement. In infrastructure documentation for gateways and remote nodes, this materially increases the chance of accidental execution of attacker-controlled content.
# Auf dem VPS:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
# Tailscale-IP notieren: tailscale ip -4
This installation pattern again executes a remotely fetched script without validation, creating a supply-chain and remote code execution risk on a Raspberry Pi node. In this skill's context, nodes may later execute shell commands and remain always-on, so compromising the node during setup can yield durable control over a trusted device.
# Auf dem Pi:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
npm install -g openclaw@latest
Using '| sh' on the Pi setup path creates immediate execution of remote content on a device intended to be persistent and trusted within the OpenClaw environment. A compromise here could lead to long-term node takeover, abuse of exec capabilities, and pivoting within the tailnet or attached environment.
# Auf dem Pi:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
npm install -g openclaw@latest
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
providers: {
filemain: {
source: "file",
path: "~/.openclaw/secrets.json",
mode: "json", // oder "singleValue"
},
},
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
providers: {
filemain: {
source: "file",
path: "~/.openclaw/secrets.json",
mode: "json", // oder "singleValue"
},
},
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
ssh: {
target: "user@gateway-host:22",
workspaceRoot: "/tmp/openclaw-sandboxes",
identityFile: "~/.ssh/id_ed25519",
// ODER SecretRefs:
identityData: { source: "env", provider: "default", id: "SSH_IDENTITY" },
certificateData: { source: "env", provider: "default", id: "SSH_CERTIFICATE" },
The documentation instructs users to fetch and execute a remote script directly with 'curl ... | sh', which creates a supply-chain execution risk. If the remote server, transport path, or script content is compromised, arbitrary code will run immediately on the target host, likely followed by privileged operations.
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --ssh # Optional: SSH über Tailscale
tailscale ip -4 # IP notieren
tailscale status # Prüfen
Piping directly into 'sh' removes any review barrier and enables immediate command chaining from untrusted network content into shell execution. In a deployment guide for remote access tooling, this increases the likelihood of infrastructure compromise because administrators may run it on sensitive servers.
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --ssh # Optional: SSH über Tailscale
tailscale ip -4 # IP notieren
tailscale status # Prüfen
This is the same unsafe remote-script execution pattern in another installation path. Because the document targets infrastructure setup on Raspberry Pi/nodes, compromise of the fetched script could give an attacker code execution on systems that may later join the agent/network environment.
brew install tailscale
curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up
The same chaining-abuse pattern appears in the Raspberry Pi/node setup path, where users are instructed to execute remote content immediately. That is dangerous because it normalizes unaudited shell execution on devices that may have access to internal services, secrets, or management channels.
brew install tailscale
curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up
The chained setupCommand combines package installation and remote script execution in a single shell line using && and a pipe to sh. This increases risk by making review and failure isolation harder, while still culminating in arbitrary code execution from a remote source under a permissive sandbox configuration (root, writable root filesystem, network enabled).
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", }, }
The skill instructions, warnings, and operational guidance are presented in German throughout the file, which effectively forces a specific language for users of the skill. The file does not state that German is optional, nor does it justify a German-only scope such as a region-specific compliance or locale-limited deployment context.
Detected: suspicious.exposed_secret_literal, suspicious.prompt_injection_instructions, suspicious.secret_argv_exposure