T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:261- Finding
Remote setup script is downloaded and executed directly as root
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is openly for autonomous cloud self-cloning, but its examples give spawned VMs broad paid-account credentials and use unsafe setup and secret-handling patterns.
Review before installing. Use only in an isolated test account or VM, set hard spending and instance limits outside the agent, require human approval for provisioning, use delegated per-child Aleph keys instead of copying the parent key, verify SSH host keys, pin and verify dependencies, and avoid placing API keys or wallet keys in command-line arguments or logs.
SKILL.md:261Remote setup script is downloaded and executed directly as root
SKILL.md:24Unpinned dependencies are installed with system-wide root privileges
SKILL.md:252SSH host authenticity verification is disabled for privileged connections and file transfers
SKILL.md:412Parent account private key is duplicated to autonomous child agents
SKILL.md:463API and gateway secrets may be exposed through process arguments and deployment logs
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
Some versions of aleph-client may still show prompts. Use pexpect:
#!/usr/bin/env python3
The document explicitly says never to log or echo private keys, but later activates an account by passing the private key inline on the command line via --private-key $(cat ...). Command-line arguments can be exposed through shell history, process listings, audit logs, or orchestration telemetry, making wallet compromise much more likely.
The skill instructs importing or creating a long-lived private key for automated instance control and later reuses that credential to enable recursive self-deployment. Persisting such wallet keys on disk across autonomous child instances expands the blast radius of any host compromise and creates durable access to billing and provisioning functions.
# Import existing private key
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
aleph account create --chain BASE --active
Keys are stored at `~/.aleph-im/private-keys/`. Always `chmod 600` key files.
### Check Balance
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
aleph account create --chain BASE --active
Keys are stored at `~/.aleph-im/private-keys/`. Always `chmod 600` key files.
### Check Balance
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
aleph account create --chain BASE --active
Keys are stored at `~/.aleph-im/private-keys/`. Always `chmod 600` key files.
### Check Balance
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
aleph account create --chain BASE --active
Keys are stored at `~/.aleph-im/private-keys/`. Always `chmod 600` key files.
### Check Balance
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
aleph account create --chain BASE --active
Keys are stored at `~/.aleph-im/private-keys/`. Always `chmod 600` key files.
### Check Balance
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
EOF
chmod 700 /root/.openclaw chmod 600 /root/.openclaw/openclaw.json
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
EOF
chmod 700 /root/.openclaw chmod 600 /root/.openclaw/openclaw.json
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
echo -n "aleph-client: "; aleph --version
echo -n "Balance: "; aleph account balance 2>&1 | head -3
echo -n "SSH key: "; ls ~/.ssh/aleph_agent.pub 2>/dev/null && echo "OK" || echo "MISSING — generate with: ssh-keygen -t ed25519 -f ~/.ssh/aleph_agent -N ''"
echo -n "This skill: "; ls ~/openclaw/skills/aleph-vm-deployment/SKILL.md 2>/dev/null && echo "OK" || echo "MISSING"
echo -n "OpenClaw: "; openclaw --version
echo "=== Ready to deploy ==="
REMOTE
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
}
CONF
chmod 700 /root/.openclaw
chmod 600 /root/.openclaw/openclaw.json
echo "=== Starting gateway ==="
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
CONF
chmod 700 /root/.openclaw
chmod 600 /root/.openclaw/openclaw.json
echo "=== Starting gateway ==="
openclaw gateway install --force
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
CONF
chmod 700 /root/.openclaw
chmod 600 /root/.openclaw/openclaw.json
echo "=== Starting gateway ==="
openclaw gateway install --force
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
CONF
chmod 700 /root/.openclaw
chmod 600 /root/.openclaw/openclaw.json
echo "=== Starting gateway ==="
openclaw gateway install --force
The skill's security guidance says API keys should not be stored in config files, yet the instructions create auth-profiles.json containing the Anthropic token. This contradiction encourages persistent plaintext secret storage on disk, increasing the chance of credential theft through file disclosure, backup leakage, or compromise of the spawned VM.
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.
sleep 3 openclaw gateway status --token "$GATEWAY_TOKEN"
The systemd service file caches the token — `install --force` re-syncs it.
### Interactive TUI Blocks Automation
Use `--crn-hash <HASH>` + `--skip-volume` + `--crn-auto-tac`. If still interactive, use the pexpect script from Step 4.
Piping a remote script directly into bash executes third-party code without verification. If the upstream endpoint, network path, or DNS is compromised, the VM will run attacker-controlled code as root during bootstrap.
# Install Node.js 22
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs git
# Install OpenClaw
The markdown provides a direct aleph instance delete <INSTANCE_HASH> command to remove a VM instance, which is a destructive operation that can affect deployed workloads and associated data. Although the document has general security notes elsewhere, this specific deletion step does not include a local warning about irreversibility or verifying the target instance first.
The setup script repeats the unsafe curl | bash pattern in an automation path intended for fresh VMs. Because this runs unattended and typically as root, compromise of the fetched script could fully subvert every deployed child instance.
ANTHROPIC_KEY="${1:-}"
echo "=== Installing Node.js 22 ==="
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs git python3-pip
echo "=== Installing OpenClaw ==="