T03 · Remote Payload Retrieval and Execution
Error
- Location
- README.md:51
- Finding
- Unverified Remote Installer Is Executed Directly by Bash<![CDATA[ ## Vulnerability Details **File Location**: `README.md:51-55` **Vulnerability Type**: Remote payload retrieval and immediate execution **Risk Level**: Critical ### Vulnerable Code ```markdown One-line install: ```bash curl -fsSL https://raw.githubusercontent.com/LucasZH7/auto-authenticator-local/main/install.sh | bash ``` ``` ### Technical Analysis The documented installation command retrieves `install.sh` from the mutable `main` branch of a personal GitHub repository and pipes the response directly into Bash. The content is executed without an opportunity for inspection and without validating a version, commit digest, checksum, or cryptographic signature. Although the bundled copy of `install.sh` contains no overt malicious payload, the command does not guarantee that users receive the audited copy. The effective payload can change at any time after review. Compromise of the repository owner, GitHub repository, branch, or delivery path could therefore turn the installation command into an arbitrary-code execution mechanism. This behavior is not necessary for the declared local TOTP functionality. A versioned, verified installation process can provide the same functionality with substantially less risk. ### Attack Path 1. An attacker compromises the repository account or otherwise gains permission to modify `main/install.sh`. 2. The attacker replaces the installer with a payload that steals credentials, modifies Skills, or establishes persistence. 3. A user follows the one-line command in the README. 4. `curl` retrieves the attacker's current payload. 5. Bash executes it immediately with all permissions available to the invoking user. ### Impact Assessment Successful exploitation provides arbitrary code execution in the invoking user's security context. The payload could read user-accessible files, alter OpenClaw Skills, access locally available credentials subject to operating-system controls, install persistence, or transmit sensitive da ...[truncated 103 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Remove the `curl | bash` installation instruction. - Publish immutable, versioned releases rather than installing from `main`. - Instruct users to download the installer as a separate file, verify its checksum or cryptographic signature, inspect it, and only then execute it. - Pin the download URL to a release artifact or immutable commit. - Publish expected SHA-256 checksums through a separately protected release channel. - Do not recommend elevated execution. ]]>
