T03 · Remote Payload Retrieval and Execution
- Location
README.md:93- Finding
Unpinned Remote Installer Is Piped Directly into a Shell
- Content
View full analysis
Vulnerability Details
File Locations:
README.md:93-97references/RTK.md:18-22
Vulnerability Type: Supply-chain remote code execution through mutable remote content
Risk Level: HighComplete Vulnerable Code Snippets:
README.md:93-97bash Linux/macOS quick install: ```bash curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | shtext `references/RTK.md:18-22` ```bash ### Linux/macOS Quick Install ```bash curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | shtext ### Technical Analysis The instructions retrieve an installation script from the mutable `master` branch of an external GitHub repository and immediately pass the response to `sh`. The downloaded content is not pinned to an immutable commit or release, displayed for review, or authenticated using a checksum or cryptographic signature. Consequently, the effective executable payload may change after this Skill has been reviewed. Compromise of the external repository, maintainer account, branch, release process, or delivery path could turn this documented command into arbitrary code execution. RTK is explicitly described as an optional companion. Installing it is not required for OOT's core context optimization, model routing, heartbeat scheduling, or local budget tracking. Direct remote execution therefore exceeds the minimum privileges and dependencies needed by the Skill itself. ### Attack Path 1. An attacker compromises the `rtk-ai/rtk` repository, a maintainer account, or another mechanism capable of changing `install.sh` on the `master` branch. 2. The attacker adds commands to the installer to steal credentials, alter shell initialization, install persistence, or execute another payload. 3. A user follows the installation command from `README.md` or `references/RTK.md`. 4. `curl` retrieves the attacker's current script without pres ...[truncated 902 chars]- Remediation
View remediation
Remediation Suggestions
- Remove all
curl | shinstallation instructions. - Prefer a trusted package manager with version pinning where available.
- If direct download is necessary:
- Pin the URL to an immutable release or commit.
- Download the file without executing it.
- Publish and verify a SHA-256 checksum or cryptographic signature.
- Ask the user to inspect the script before running it.
- Execute the verified local file as a separate command.
- Document RTK as optional and clearly separate it from the minimum OOT installation path.
- Avoid recommending global initialization until its generated hooks and modified files have been disclosed and reviewed.
- Apply the same remediation consistently in both
README.mdandreferences/RTK.md.
A safer pattern is:
bash curl -fL -o rtk-install.sh "https://example.invalid/immutable-release/install.sh" echo "EXPECTED_SHA256 rtk-install.sh" | sha256sum -c - less rtk-install.sh sh rtk-install.sh- Remove all
