T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:31- Finding
Unverified Mutable Remote Installer Executed Through Shell
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:31andSKILL.md:74
Vulnerability Type: Remote payload retrieval and execution
Risk Level: HighVulnerable Code
bash curl -sSL https://raw.githubusercontent.com/Moshik21/engram/main/scripts/install.sh | bash -s -- openclawbash curl -sSL https://raw.githubusercontent.com/Moshik21/engram/main/scripts/install.sh | bash -s -- fullTechnical Analysis
The installation instructions retrieve a shell script from the mutable
mainbranch of a personal GitHub repository and pipe it directly intobash. The downloaded content is not saved for inspection or verified using an immutable version, cryptographic signature, or expected checksum.This creates a remote code-execution channel whose effective payload can change after the Skill has been reviewed. HTTPS protects the network connection but does not protect against repository compromise, maintainer account compromise, malicious upstream changes, or later replacement of
install.sh.The
fullinstallation mode also delegates Docker-related setup to the unverified script. Depending on the invoking user's permissions and Docker access, this could expose a particularly powerful local control boundary.Attack Path
- An attacker compromises the repository, maintainer credentials, release process, or mutable
mainbranch. - The attacker replaces or modifies
scripts/install.shwith a malicious payload. - A user or agent follows the documented installation command.
curlretrieves the attacker-controlled script without integrity verification.- The shell executes the response immediately with the invoking user's privileges.
- The payload can inspect local files, steal credentials, alter OpenClaw configuration, install additional software, or establish persistence.
- In Docker-capable environments, the payload may abuse access to the Docker daemon to control containers or p ...[truncated 729 chars]
- An attacker compromises the repository, maintainer credentials, release process, or mutable
- Remediation
View remediation
Remediation Suggestions
- Remove all
curl | bashinstallation patterns. - Publish versioned installation artifacts associated with immutable release tags or commit hashes.
- Download the installer to a local file before execution so it can be reviewed:
bash curl --fail --location --output install.sh \ https://raw.githubusercontent.com/Moshik21/engram/<immutable-commit>/scripts/install.sh - Publish an expected SHA-256 digest through a separately protected release channel and verify it before execution.
- Cryptographically sign releases and verify the signature against a documented maintainer key.
- Require explicit user confirmation after displaying the files, services, configuration changes, and dependencies that will be installed.
- Prefer a reputable package manager with locked versions and reproducible packages.
- Pin every installer dependency and prevent fallback to unreviewed or mutable sources.
- Keep Docker installation as a separately authorized action rather than allowing a general installer to configure it implicitly.
- Document that the installer must not be executed with
sudounless a narrowly scoped operation demonstrably requires elevation.
- Remove all
