T03 · Remote Payload Retrieval and Execution
Error
- Location
- install.sh:6
- Finding
- Mutable Remote Installer Is Recommended for Direct Shell Execution<![CDATA[ ## Vulnerability Details **File Location**: `install.sh:6` **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: Critical ### Vulnerable Code ```bash # Usage: curl -fsSL https://raw.githubusercontent.com/clawdbot/node-scaling/main/install.sh | bash ``` Related repository retrieval in `install.sh:50-55`: ```bash else echo "Cloning repository..." mkdir -p "$CLAWDBOT_HOME/skills" git clone --quiet https://github.com/Chair4ce/node-scaling.git "$SKILL_DIR" echo -e "${GREEN}✓ Cloned${NC}" fi ``` ### Technical Analysis The installer explicitly recommends downloading a mutable script from a remote GitHub branch and piping it directly into Bash. Although the command appears in a usage comment, it is an executable installation instruction intended for users to copy and run. The downloaded content is not pinned to an immutable commit or release. There is no checksum, digital signature, or review step before execution. Consequently, the effective installer payload can change after the Skill has been audited. There is also a provenance inconsistency: the pipe-to-shell URL references `clawdbot/node-scaling`, while the installer clones `Chair4ce/node-scaling`. The project metadata and documentation similarly use different repository identities. This makes it harder for users to determine which publisher and repository are authoritative. ### Attack Path 1. A user follows the documented `curl ... | bash` installation instruction. 2. Before installation, an attacker compromises the referenced GitHub account, repository, branch, maintainer credentials, or publication process. 3. The attacker modifies the remote `install.sh` on the mutable `main` branch. 4. `curl` downloads the modified content. 5. Bash executes the content immediately, without displaying it or verifying its integrity. 6. The payload runs with all privileges available to the installing user and can access that user's files, credentials, environment, and ...[truncated 450 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove the `curl | bash` installation recommendation. 2. Publish immutable, versioned release archives rather than installing from a mutable branch. 3. Provide SHA-256 checksums and preferably signed release artifacts. 4. Instruct users to download the release, verify its signature or checksum, inspect the installer, and execute it as a separate step. 5. Pin automated installation to a release tag and immutable commit digest. 6. Reconcile the `clawdbot/node-scaling` and `Chair4ce/node-scaling` repository references and clearly identify the authoritative publisher. 7. Avoid running dependency installation from an unverified checkout. ]]>
