Caveat verdict
openclaw-remote-install
Automates OpenClaw deployment to remote servers via SSH using user-supplied credentials passed as script arguments; while a legitimate DevOps use case, broad credential access and remote code execution across arbitrary hosts warrants scrutiny.
⚠ Flagged for review — coarse, uncorroborated signal, not a confirmed exploit. Review the config yourself before installing.
Automated static analysis — not a human review. Caveat flags capabilities, not confirmed intent, and can produce false positives. Disagree with this verdict? Use Dispute below.
Findings (9)
Possible hardcoded credential
SKILL.md · code · API_KEY="sk-ant-...
Accesses .ssh directory
SKILL.md · code · .ssh/
Pipe-to-shell pattern (curl | sh) — supply chain attack vector
scripts/install_openclaw_remote.sh · prose · downgraded · curl -fsSL https://get.docker.com | sh
Pipe to sh — executes piped content as shell commands
scripts/install_openclaw_remote.sh · prose · downgraded · | sh
Pipe to bash — executes piped content as shell commands
scripts/install_openclaw_remote.sh · prose · downgraded · | bash
subprocess execution — runs system commands from Python
scripts/configure_openclaw_remote.py · prose · downgraded · subprocess.run(
subprocess with shell=True — command injection vector
scripts/configure_openclaw_remote.py · prose · downgraded · subprocess.run(
full_cmd, shell=True
apt-get install — installs system packages
scripts/install_openclaw_remote.sh · prose · downgraded · apt-get install
apk add — installs Alpine packages
scripts/install_openclaw_remote.sh · prose · downgraded · apk add
Why the tier is capped
Execution sink present in raw bytes (Hard Floor: class A/D). Final tier capped at Caution — cannot be lifted by any downgrade, example-payload opt-in, or allowlist.
Permissions & capabilities
No declared permissions — minimal attack surface.
network_incredential_accesscredential_store Is this flag fair?
Thanks — recorded.