T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:33
- Finding
- Mutable Remote Installer Is Executed Directly Through Bash<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:33` and `cli-usage.md:14` **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code ```bash curl -fsSL https://sunapp-ai.github.io/sun-to-spotify/install.sh | bash ``` ### Technical Analysis The recommended installation command downloads a mutable remote shell script and passes it directly to Bash. The content is neither displayed nor stored for inspection before execution, and the documentation does not require a checksum, signature, immutable commit reference, or other integrity verification. TLS protects the connection in transit but does not protect against compromise of the hosting account, repository, publication workflow, or upstream domain. Because the effective script can change after the Skill has been reviewed, the command creates a remote code-execution channel controlled by the current content of `install.sh`. This behavior is not the minimum privilege necessary to install the CLI. The documentation already presents package-manager alternatives that can be isolated and pinned. ### Attack Path 1. An attacker compromises the GitHub repository, GitHub Pages deployment, maintainer account, or publication workflow serving `install.sh`. 2. The attacker modifies the remote installer to include arbitrary shell commands. 3. A user or agent follows the Skill's recommended installation instructions. 4. `curl` retrieves the modified content and streams it directly into Bash. 5. The payload executes with all filesystem, network, process, and credential access available to the invoking account. ### Impact Assessment Successful exploitation provides arbitrary command execution with the privileges of the user running the installer. The payload could read accessible credentials, including Sun or Spotify authentication material, modify shell configuration, alter files, install additional software, or exfiltrate user data. The command does not reque ...[truncated 242 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove the direct `curl | bash` pipeline from all documentation. 2. Prefer an isolated package-manager installation using an exact, audited version. 3. If a shell installer must remain available: - Publish it under an immutable release URL. - Download it to a local file first. - Publish and verify a SHA-256 checksum or cryptographic signature. - Require review of the downloaded script before execution. - Execute it as an unprivileged user. 4. Protect the release workflow with branch protection, mandatory review, signed releases, and tightly scoped deployment credentials. 5. Keep the installer optional rather than describing it as the recommended method. Example hardened workflow: ```bash curl -fSLo install.sh "https://example.invalid/releases/v0.2.1/install.sh" echo "<trusted-sha256> install.sh" | sha256sum --check - less install.sh bash install.sh ``` ]]>
