T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:39
- Finding
- Mutable Remote PowerShell Installer Is Executed Without Inspection<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:39-40` **Additional Locations**: `README.md:51-52`, `web/index.html:182`, `web/index.html:487` **Vulnerability Type**: Remote payload retrieval followed by direct execution **Risk Level**: Critical ### Vulnerable Code ```powershell irm openclaw.irisgo.xyz/i | iex ``` ### Technical Analysis `irm` is an alias for `Invoke-RestMethod`, while `iex` is an alias for `Invoke-Expression`. The command retrieves a response from `openclaw.irisgo.xyz` and immediately evaluates that response as PowerShell code. The effective installer is not contained in the audited repository. Consequently, the code executed by users can change after review without any corresponding repository modification. TLS protects the network connection but does not protect against compromise of the hosting account, web server, deployment pipeline, DNS configuration, or domain ownership. No cryptographic hash, Authenticode signature, immutable version identifier, or manual review step is required before execution. ### Attack Path 1. An attacker compromises the installer domain, hosting infrastructure, deployment credentials, or DNS configuration. 2. The attacker replaces the response at `/i` with a malicious PowerShell payload. 3. A user follows the documented installation command. 4. `Invoke-RestMethod` downloads the attacker's current response. 5. `Invoke-Expression` executes it without displaying or validating it. 6. The payload operates with all privileges held by the PowerShell process and can install further persistence or steal accessible data. ### Impact Assessment Successful exploitation provides arbitrary code execution under the invoking user's security context. This can expose user files, browser data, clipboard contents, OpenClaw configuration, API credentials, and other locally accessible information. If the user runs the command from an elevated PowerShell session, the payload may obtain administrator-level con ...[truncated 268 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove all `irm ... | iex` installation instructions. 2. Publish the installer as a versioned file in the source repository or as an immutable release asset. 3. Require users to download the installer separately before execution. 4. Publish a SHA-256 digest through an independently controlled, authenticated release channel and verify it before execution. 5. Authenticode-sign the installer and verify the expected publisher and signature status. 6. Fail closed if either signature or digest verification fails. 7. Allow users to inspect the downloaded script before running it. 8. Execute the installer with the minimum required privileges and elevate only narrowly scoped operations that require administrator access. 9. Pin documentation and website commands to a specific release rather than a mutable endpoint. ]]>
