T03 · Remote Payload Retrieval and Execution
Error
- Location
- references/setup.md:8
- Finding
- Mutable Remote Installer Is Downloaded and Executed Without Cryptographic Verification<![CDATA[ ## Vulnerability Details **File Location**: `references/setup.md`, lines 8-10 **Vulnerability Type**: `T03: Remote Payload Retrieval and Execution` **Risk Level**: High ### Vulnerable Code ```bash curl -fsSL https://raw.githubusercontent.com/psyb0t/docker-claudebox/master/install.sh -o install.sh less install.sh # read it before running anything you downloaded bash install.sh ``` ### Technical Analysis The installation procedure retrieves executable shell code from the mutable `master` branch of a personal GitHub repository and subsequently runs it with the invoking user's privileges. The download is not pinned to a reviewed commit or immutable release, and no checksum or cryptographic signature is verified. Manual inspection with `less` is preferable to directly piping the response into a shell, but it does not establish reproducible integrity. The contents can change after the Skill has been audited, and users or automated agents may not reliably identify malicious changes during manual review. The installer is documented as creating directories and SSH keys, pulling container images, and installing a wrapper under `/usr/local/bin`. These operations give a compromised installer access to security-sensitive paths and may cause it to be run with elevated privileges. ### Attack Path 1. An attacker compromises the upstream repository, maintainer account, GitHub token, or mutable `master` branch. 2. The attacker replaces or modifies `install.sh` with a malicious payload. 3. A user or automation follows the documented installation procedure. 4. `curl` downloads the attacker-controlled current version without validating a checksum, signature, or commit identity. 5. The user executes `bash install.sh`. 6. The payload runs with the user's privileges and can access that user's files, credentials, SSH configuration, Docker access, and writable executable paths. 7. If installation is performed with administrative privileges, the payload can obtain syst ...[truncated 605 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin the installer URL to an immutable, reviewed commit hash rather than `master`. 2. Publish versioned release artifacts with SHA-256 or stronger checksums. 3. Cryptographically sign releases and verify the signature before execution. 4. Vendor the reviewed installer into the Skill package where feasible. 5. Abort installation if checksum or signature verification fails. 6. Run installation with the least-privileged account possible and avoid `sudo` unless a narrowly scoped operation requires it. 7. Separate privileged installation steps from unprivileged key generation and configuration. 8. Document the exact expected installer digest in the Skill so automated agents can verify it reproducibly. ]]>
