T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:41- Finding
Mutable Remote Installation Script Executed as Root
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This hardening skill is purpose-aligned, but it asks users to run mutable third-party installers and persistent interception services with root-level system access.
Review this skill carefully before installing. Do not run the one-line installer or latest-release binary commands on a production host unless you first pin exact versions, verify checksums or signatures, inspect the scripts, and understand the SSH, firewall, systemd, proxy, and root-service changes. Prefer a test machine and an uninstall/rollback plan.
SKILL.md:41Mutable Remote Installation Script Executed as Root
SKILL.md:47Unverified Third-Party Executables Installed into Privileged Paths
SKILL.md:59Unverified Interception Binary Registered as a Persistent Root Service
SKILL.md:278Security Enforcement Fails Open to Observe-Only Operation
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).
## Layer 2: Chainwatch — Command Safety (5 min)
Chainwatch blocks destructive commands (rm -rf /, sudo su, curl|sh, fork bombs) and routes all LLM API traffic through an intercept proxy.
### Install
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).
## Layer 2: Chainwatch — Command Safety (5 min)
Chainwatch blocks destructive commands (rm -rf /, sudo su, curl|sh, fork bombs) and routes all LLM API traffic through an intercept proxy.
### Install
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).
## Layer 2: Chainwatch — Command Safety (5 min)
Chainwatch blocks destructive commands (rm -rf /, sudo su, curl|sh, fork bombs) and routes all LLM API traffic through an intercept proxy.
### Install
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).
## Layer 2: Chainwatch — Command Safety (5 min)
Chainwatch blocks destructive commands (rm -rf /, sudo su, curl|sh, fork bombs) and routes all LLM API traffic through an intercept proxy.
### Install
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).
## Layer 2: Chainwatch — Command Safety (5 min)
Chainwatch blocks destructive commands (rm -rf /, sudo su, curl|sh, fork bombs) and routes all LLM API traffic through an intercept proxy.
### Install
The command chains remote download directly into privileged execution, collapsing fetch and execute into a single step with no inspection boundary. This significantly raises the chance of undetected malicious or compromised installer content gaining root access.
curl -fsSL https://raw.githubusercontent.com/ppiankov/chainwatch/main/scripts/install-openclaw.sh | sudo bash
This one-liner does everything: installs chainwatch, creates clawbot profile, sets up intercept proxy as systemd service, configures ANTHROPIC_BASE_URL, hardens the host.
The guide claims the intercept proxy is 'non-bypassable', but the actual setup only relies on environment-variable routing. Any process that ignores, overrides, or unsets the base URL can bypass inspection and exfiltrate prompts or tool traffic directly to the provider.
Using 'rm -rf /tmp/old-data' as an endorsed wrapper example teaches the agent/operator pattern of destructive deletion under automation. In a security skill, examples should minimize the chance of users adapting them unsafely to more sensitive paths.
Route risky commands through chainwatch:
chainwatch exec --profile clawbot -- rm -rf /tmp/old-data # checked
chainwatch exec --profile clawbot -- git push --force # checked
Using 'rm -rf /tmp/old-data' as an endorsed wrapper example teaches the agent/operator pattern of destructive deletion under automation. In a security skill, examples should minimize the chance of users adapting them unsafely to more sensitive paths.
Route risky commands through chainwatch:
chainwatch exec --profile clawbot -- rm -rf /tmp/old-data # checked
chainwatch exec --profile clawbot -- git push --force # checked
The guide treats 'git push --force' as a normal risky command to route through automation. Force-push can irreversibly rewrite history and cause data loss or integrity issues, especially if an agent is allowed to invoke it without strong approval controls.
chainwatch exec --profile clawbot -- rm -rf /tmp/old-data # checked
chainwatch exec --profile clawbot -- git push --force # checked
Safe read-only commands (ls, cat, grep, git status) don't need the wrapper.
The skill contains agent-oriented examples of destructive filesystem and repository actions, specifically recursive deletion and force-push, which are dangerous patterns to normalize in automation guidance. Even when framed as 'checked', they can encourage autonomous high-impact operations with insufficient guardrails.
IC_BASE_URL": "http://localhost:9999" } }
For other providers, change --upstream:
- OpenAI: `--upstream https://api.openai.com` + set `OPENAI_BASE_URL`
- Custom: `--upstream https://your-provider.com`
### Usage
Route risky commands through chainwatch:
```bash
chainwatch exec --profile clawbot -- rm -rf /tmp/old-data # checked
chainwatch exec --profile clawbot -- git push --force # checked
Safe read-only commands (ls, cat, grep, git status) don't need the wrapper.
| Blocked | Allowed |
|---|---|
rm -rf /, rm -rf ~ | rm -f /tmp/file |
sudo su, sudo -i | mkdir, cp, mv |
dd if=/dev/zero | curl https://safe-url |
curl | sh | apt install, npm install |
chmod -R 777 / | chmod 600 specific-file |
| Fork bombs | systemctl status |
guarded mode is too aggressive for agents — it blocks mkdir, cp, touch. Use advisory mode with the denylist. The deny
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).
| Blocked | Allowed |
|---------|---------|
| `rm -rf /`, `rm -rf ~` | `rm -f /tmp/file` |
| `sudo su`, `sudo -i` | `mkdir`, `cp`, `mv` |
| `dd if=/dev/zero` | `curl https://safe-url` |
| `curl \| sh` | `apt install`, `npm install` |
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).
| Blocked | Allowed |
|---------|---------|
| `rm -rf /`, `rm -rf ~` | `rm -f /tmp/file` |
| `sudo su`, `sudo -i` | `mkdir`, `cp`, `mv` |
| `dd if=/dev/zero` | `curl https://safe-url` |
| `curl \| sh` | `apt install`, `npm install` |
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).
| Blocked | Allowed |
|---------|---------|
| `rm -rf /`, `rm -rf ~` | `rm -f /tmp/file` |
| `sudo su`, `sudo -i` | `mkdir`, `cp`, `mv` |
| `dd if=/dev/zero` | `curl https://safe-url` |
| `curl \| sh` | `apt install`, `npm install` |
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).
| Blocked | Allowed |
|---------|---------|
| `rm -rf /`, `rm -rf ~` | `rm -f /tmp/file` |
| `sudo su`, `sudo -i` | `mkdir`, `cp`, `mv` |
| `dd if=/dev/zero` | `curl https://safe-url` |
| `curl \| sh` | `apt install`, `npm install` |
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.
| `rm -rf /`, `rm -rf ~` | `rm -f /tmp/file` |
| `sudo su`, `sudo -i` | `mkdir`, `cp`, `mv` |
| `dd if=/dev/zero` | `curl https://safe-url` |
| `curl \| sh` | `apt install`, `npm install` |
| `chmod -R 777 /` | `chmod 600 specific-file` |
| Fork bombs | `systemctl status` |
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).
| `sudo su`, `sudo -i` | `mkdir`, `cp`, `mv` |
| `dd if=/dev/zero` | `curl https://safe-url` |
| `curl \| sh` | `apt install`, `npm install` |
| `chmod -R 777 /` | `chmod 600 specific-file` |
| Fork bombs | `systemctl status` |
### Key lesson
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
## Prerequisites
- OpenClaw installed and running
- Root/sudo access
- Linux (amd64)
## Layer 1: Host Hardening (2 min)
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
## Prerequisites
- OpenClaw installed and running
- Root/sudo access
- Linux (amd64)
## Layer 1: Host Hardening (2 min)
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
## Prerequisites
- OpenClaw installed and running
- Root/sudo access
- Linux (amd64)
## Layer 1: Host Hardening (2 min)
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
## Prerequisites
- OpenClaw installed and running
- Root/sudo access
- Linux (amd64)
## Layer 1: Host Hardening (2 min)
The skill instructs users to modify SSH settings, enable a deny-by-default firewall, install services, and change permissions with root-level impact, but does not prominently warn about lockout, service interruption, or recovery planning. Users can accidentally cut off remote access or alter system behavior without adequate safeguards.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
ufw default deny incoming && ufw default allow outgoing && ufw allow ssh && yes | ufw enable
# Brute-force protection
apt-get install -y fail2ban && systemctl enable --now fail2ban
# Lock credentials
chmod 700 ~/.openclaw/credentials
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
apt-get install -y fail2ban && systemctl enable --now fail2ban
chmod 700 ~/.openclaw/credentials
## Layer 2: Chainwatch — Command Safety (5 min)
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
## Layer 2: Chainwatch — Command Safety (5 min)
Chainwatch blocks destructive commands (rm -rf /, sudo su, curl|sh, fork bombs) and routes all LLM API traffic through an intercept proxy.
### Install