T03 · Remote Payload Retrieval and Execution
Error
- Location
- ClawRouter 安装指南.md:16
- Finding
- Mutable Remote Installer Is Piped Directly into Bash<![CDATA[ ## Vulnerability Details **File Location**: `ClawRouter Installation Guide.md` (`ClawRouter 安装指南.md`), line 16; `clawrouter.json Configuration Template.md` (`clawrouter.json 配置模板.md`), line 144 **Vulnerability Type**: Remote payload retrieval and immediate execution **Risk Level**: Critical ### Vulnerable Code ```bash curl -fsSL https://blockrun.ai/ClawRouter-update | bash ``` ### Technical Analysis The recommended installation command downloads content from a mutable external URL and immediately executes it through Bash. There is no separation between download and execution, no pinned release version, no cryptographic checksum, no publisher-signature verification, and no opportunity to inspect the downloaded script. TLS only protects the connection in transit. It does not protect users if the hosting account, domain, update infrastructure, or upstream release process is compromised. The command therefore allows the effective payload to change after this Skill has been reviewed. Executing a remote installer is not required for the Skill's declared configuration-management functionality and exceeds the minimum behavior necessary to provide a ClawRouter configuration template. ### Attack Path 1. An attacker compromises the `blockrun.ai` update endpoint, its deployment credentials, DNS configuration, or hosting infrastructure. 2. The attacker changes the response returned from `/ClawRouter-update`. 3. A user follows the Skill's recommended installation procedure. 4. `curl` downloads the attacker-controlled response. 5. The shell pipe passes the response directly to Bash without inspection or integrity validation. 6. Bash executes the payload with all privileges available to the invoking user. 7. The payload may read OpenClaw credentials, alter Agent instructions, replace wallet details, modify local programs, or install persistence. ### Impact Assessment The payload obtains arbitrary command execution under the invoking account. It can access al ...[truncated 294 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove all `curl | bash` installation instructions. 2. Direct users to a versioned release artifact hosted through a verifiable release channel. 3. Pin the installer to a specific release version or immutable commit. 4. Publish and verify a SHA-256 checksum and a cryptographic publisher signature. 5. Separate the process into explicit download, verification, inspection, and execution steps. 6. Run the installer with an unprivileged account and document the exact files and permissions it requires. 7. Prefer a package manager that supports signed metadata and reproducible version pinning. 8. Treat installation failure as fatal; never fall back to executing unverified content. ]]>
