T03 · Remote Payload Retrieval and Execution
- Location
README.md:22- Finding
Unpinned Remote Installation Script Is Executed Directly by Bash
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill has a coherent always-on OpenClaw purpose, but its privileged installer uses unsafe install patterns and can expose the gateway token to local users.
Install only if you truly need OpenClaw running persistently at the system level. Do not use the one-line curl-to-bash command; download a pinned installer, inspect it, and verify integrity first. On systems where this installer has already been used, treat the gateway token as potentially exposed to local users and rotate it. Prefer a LaunchAgent or a Keychain-backed token design if always-on system service behavior is not required.
README.md:22Unpinned Remote Installation Script Is Executed Directly by Bash
install.sh:35Gateway Authentication Token Is Stored in a World-Readable LaunchDaemon Plist
install.sh:14Predictable Shared Temporary File Enables Privileged LaunchDaemon Configuration Replacement
The curl-to-bash pipeline is a classic dangerous command chain because it combines network retrieval and immediate shell execution without an opportunity for inspection. In this skill, that chain is particularly risky because the install process is associated with admin-required setup and persistent system service creation, compounding the blast radius of any malicious or tampered content.
One-line installation:
curl -fsSL https://raw.githubusercontent.com/happydog-intj/openclaw-macos-always-on/master/install.sh | bash
Or manual installation - see SKILL.md for detailed instructions.
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<!-- Key configuration -->
<key>ProgramArguments</key>
<array>
<string>/usr/bin/caffeinate</string>
Piping curl output directly into bash creates an unsafe execution chain that eliminates review, integrity validation, and provenance checks before code execution. In a skill that establishes persistence and uses admin-level setup, this sharply increases the chance of full host compromise if the upstream content is altered or intercepted.
一键安装命令:
curl -fsSL https://raw.githubusercontent.com/happydog-intj/openclaw-macos-always-on/master/install.sh | bash
或手动安装 - 查看 SKILL.md 获取详细说明。
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 launchctl bootout system/ai.openclaw.gateway
sudo rm /Library/LaunchDaemons/ai.openclaw.gateway.plist
# 可选:恢复 LaunchAgent
mv ~/Library/LaunchAgents/ai.openclaw.gateway.plist.disabled \
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 launchctl bootout system/ai.openclaw.gateway
sudo rm /Library/LaunchDaemons/ai.openclaw.gateway.plist
# 可选:恢复 LaunchAgent
mv ~/Library/LaunchAgents/ai.openclaw.gateway.plist.disabled \
The skill recommends piping a remotely fetched script directly into bash with no integrity verification, pinning, or review step. That creates a direct arbitrary code execution path: if the remote content, repository, branch, or transport trust is compromised, users immediately execute attacker-controlled shell code.
Piping curl output directly into bash chains remote retrieval with immediate shell execution, eliminating any opportunity for review or integrity validation. This is a classic unsafe installation pattern that can deliver arbitrary code if the source is tampered with.
curl -fsSL https://raw.githubusercontent.com/YOUR_USERNAME/clawd/master/skills/macos-launchdaemon/install.sh | bash
Or manual setup below ⬇️
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<key>RunAtLoad</key>
<true/>
<!-- Enhanced KeepAlive for network services -->
<key>KeepAlive</key>
<dict>
<key>SuccessfulExit</key>
The command permanently removes a file in /Library/LaunchDaemons, which is a sensitive system path containing persistence configuration. In a skill context, destructive parameter use is real because it can remove system configuration unexpectedly if copied without understanding.
sudo launchctl bootout system/ai.openclaw.gateway
# 2. Remove plist
sudo rm /Library/LaunchDaemons/ai.openclaw.gateway.plist
# 3. Restore LaunchAgent (optional)
mv ~/Library/LaunchAgents/ai.openclaw.gateway.plist.disabled ~/Library/LaunchAgents/ai.openclaw.gateway.plist 2>/dev/null
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
ls -l /Library/LaunchDaemons/ai.openclaw.gateway.plist
The skill's design places the gateway token into LaunchDaemon environment variables stored in a plist, effectively harvesting a credential from configuration and materializing it in a broadly readable file. Because the file is configured 0644, any local user may be able to read the secret and impersonate or interfere with the gateway.
ls -l /Library/LaunchDaemons/ai.openclaw.gateway.plist
## Performance Impact
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
ls -l /Library/LaunchDaemons/ai.openclaw.gateway.plist
## Performance Impact
This migration/removal step also uses rm against the system LaunchDaemon plist, making destructive modification of persistent system configuration easy to execute. The danger is increased by its placement in a concise migration example.
# Stop daemon
sudo launchctl bootout system/ai.openclaw.gateway
sudo rm /Library/LaunchDaemons/ai.openclaw.gateway.plist
# Restore agent
mv ~/Library/LaunchAgents/ai.openclaw.gateway.plist.backup ~/Library/LaunchAgents/ai.openclaw.gateway.plist
The quick reference exposes a high-risk destructive command against a system persistence file with no surrounding safety context. Users are especially likely to copy-paste quick-reference commands without reading details.
sudo launchctl bootout system/ai.openclaw.gateway sudo rm /Library/LaunchDaemons/ai.openclaw.gateway.plist
The README explicitly recommends fetching a remote script and piping it directly to a shell, which executes unreviewed code immediately and bypasses normal integrity review. In this skill's context, the script is intended to set up a system-level LaunchDaemon and requires admin privileges, so any compromise of the remote content or repository could lead to privileged persistence or arbitrary code execution.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
## 📋 Requirements
- **macOS 10.15+** (tested on 14.4)
- **Admin access** (sudo required for installation)
- **OpenClaw already installed** (`npm install -g openclaw`)
## 📖 Documentation
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
## 📋 Requirements
- **macOS 10.15+** (tested on 14.4)
- **Admin access** (sudo required for installation)
- **OpenClaw already installed** (`npm install -g openclaw`)
## 📖 Documentation
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
## 📋 Requirements
- **macOS 10.15+** (tested on 14.4)
- **Admin access** (sudo required for installation)
- **OpenClaw already installed** (`npm install -g openclaw`)
## 📖 Documentation
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
## 📋 Requirements
- **macOS 10.15+** (tested on 14.4)
- **Admin access** (sudo required for installation)
- **OpenClaw already installed** (`npm install -g openclaw`)
## 📖 Documentation
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
## 📋 Requirements
- **macOS 10.15+** (tested on 14.4)
- **Admin access** (sudo required for installation)
- **OpenClaw already installed** (`npm install -g openclaw`)
## 📖 Documentation
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
## 📋 Requirements
- **macOS 10.15+** (tested on 14.4)
- **Admin access** (sudo required for installation)
- **OpenClaw already installed** (`npm install -g openclaw`)
## 📖 Documentation
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
## 📋 Requirements
- **macOS 10.15+** (tested on 14.4)
- **Admin access** (sudo required for installation)
- **OpenClaw already installed** (`npm install -g openclaw`)
## 📖 Documentation
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
## 📋 Requirements
- **macOS 10.15+** (tested on 14.4)
- **Admin access** (sudo required for installation)
- **OpenClaw already installed** (`npm install -g openclaw`)
## 📖 Documentation
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
## 📋 Requirements
- **macOS 10.15+** (tested on 14.4)
- **Admin access** (sudo required for installation)
- **OpenClaw already installed** (`npm install -g openclaw`)
## 📖 Documentation
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
## 📋 Requirements
- **macOS 10.15+** (tested on 14.4)
- **Admin access** (sudo required for installation)
- **OpenClaw already installed** (`npm install -g openclaw`)
## 📖 Documentation
No suspicious patterns detected.