T03 · Remote Payload Retrieval and Execution
- Location
INSTALL.md:22- Finding
Mutable Remote Installer Is Downloaded and Executed Without Integrity Verification
- Content
View full analysis
Vulnerability Details
File Locations:
INSTALL.md:22README.md:51README.md:89SKILL.md:48SKILL.md:342SKILL.md:508
Vulnerability Type: Remote payload retrieval and immediate shell execution
Risk Level: HighComplete Vulnerable Code Snippet:
bash curl -fsSL https://raw.githubusercontent.com/AnthonyFrancis/openclaw-checkpoint/main/scripts/install-openclaw-checkpoint.sh | bashTechnical Analysis
The installation and recovery documentation repeatedly instructs users to download a shell script from the mutable
mainbranch of a personal GitHub repository and stream it directly into Bash.The command provides no immutable commit or release pin, cryptographic signature, checksum validation, or local review step. Consequently, the code executed by a user can differ from the code that existed when this Skill was audited. The referenced installer and installed checkpoint scripts are not included in the audited artifact, which contains only Markdown files, so their behavior cannot be statically verified.
Piping the response directly into Bash also eliminates a meaningful inspection boundary. TLS protects the network connection but does not establish that the repository owner, account, or current branch content is trustworthy. Compromise of the GitHub account or intentional modification of the remote script would allow the payload to be changed without modifying this Skill package.
The behavior exceeds the minimum privileges needed to present installation instructions because a safer clone-and-review procedure is already documented. Direct execution of an unverified mutable payload is not necessary for the declared backup and restore functionality.
Attack Path
- An attacker compromises the referenced GitHub account or otherwise gains the ability to modify the installer on the repository's
mainbranch. - The attacker replaces the installer with commands that ste ...[truncated 1570 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove every
curl | bashinstallation command fromINSTALL.md,README.md, andSKILL.md. - Include the installer and all executable checkpoint scripts in the audited Skill package so reviewers can verify the exact code users will execute.
- Prefer installation from a reviewed repository checkout pinned to an immutable commit or signed release tag.
- If remote download remains necessary:
- Download the installer to a local file rather than piping it into a shell.
- Pin the URL to an immutable commit or versioned release.
- Publish and verify a SHA-256 checksum or cryptographic signature.
- Require users to inspect the downloaded file before execution.
- Abort installation if verification fails.
- Use a command sequence such as:
bash curl -fL -o install-openclaw-checkpoint.sh \ https://raw.githubusercontent.com/AnthonyFrancis/openclaw-checkpoint/IMMUTABLE_COMMIT/scripts/install-openclaw-checkpoint.sh echo "EXPECTED_SHA256 install-openclaw-checkpoint.sh" | shasum -a 256 -c - less install-openclaw-checkpoint.sh bash install-openclaw-checkpoint.sh- Sign release artifacts and document how users can verify the signing identity.
- Avoid silently changing installation behavior through a mutable default branch.
- Clearly document every file, SSH configuration item, scheduled task, and shell profile entry modified by the installer.
- Remove every
