T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:27
- Finding
- Unverified Mutable Remote Installer Is Piped Directly to Bash## Vulnerability Details **File Location**: `SKILL.md:27` **Vulnerability Type**: Remote payload retrieval and arbitrary shell execution **Risk Level**: Critical **Vulnerable Code Snippet**: ```bash curl -fsSL https://raw.githubusercontent.com/tedstonne/dotld/main/scripts/install.sh | bash ``` ### Technical Analysis The installation instruction retrieves a shell script from the mutable `main` branch of a personal GitHub repository and immediately executes the downloaded bytes with `bash`. It does not pin an immutable release or commit, validate a cryptographic checksum, verify a signature, or give the user an opportunity to inspect the script before execution. Consequently, the effective code executed during installation can differ from the code that existed when this Skill was reviewed. Compromise of the GitHub account or repository, a malicious repository update, or another supply-chain incident could turn this command into an arbitrary-code-execution channel. This behavior is not required for the Skill's declared domain availability functionality. The Skill only needs to invoke an installed `dotld` binary and make authorized Dynadot API requests. Automatically executing an unverified remote script exceeds that minimum requirement. ### Attack Path 1. An attacker compromises or otherwise gains write access to `tedstonne/dotld`, or a repository maintainer introduces malicious content into `scripts/install.sh` on the `main` branch. 2. The attacker modifies the installer to perform unauthorized actions, such as reading environment variables, copying credentials, modifying shell startup files, or downloading additional programs. 3. A user or Agent follows the installation instruction in `SKILL.md`. 4. `curl` downloads the current attacker-controlled script without integrity or authenticity verification. 5. The pipe passes the response directly to `bash`. 6. The malicious commands execute with all permissions of the user r ...[truncated 1015 chars]
- Remediation
- ## Remediation Suggestions - Remove the `curl | bash` installation method. - Distribute `dotld` through a reputable package registry or a signed release channel and pin an explicit version. - If a standalone artifact is necessary, download it as a separate step from an immutable release URL. - Publish and verify a SHA-256 checksum before installing or executing the artifact. - Prefer cryptographic signature verification using a documented maintainer key. - Present the installer or its intended filesystem changes for inspection before execution. - Run installation with ordinary user privileges and document the exact files and directories it creates. - Prevent automatic installation by the Agent; require informed user confirmation when external software must be installed. - Pin any source reference to an immutable commit rather than the mutable `main` branch.
