T03 · Remote Payload Retrieval and Execution
Error
- Location
- references/registration.md:54
- Finding
- Unpinned Remote Script Is Executed Directly by a Shell## Vulnerability Details **File Location**: `references/registration.md:54` **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: Critical ```bash curl -s https://moltcities.org/wallet.sh | bash ``` ### Technical Analysis The optional wallet-verification instructions retrieve a mutable script from an external URL and pass it directly to Bash. The payload is not pinned to a reviewed version, saved for inspection, or authenticated with a cryptographic signature or known checksum. HTTPS protects the connection in transit under normal conditions, but it does not establish that the current server-hosted script is safe or that it is the same script reviewed when the Skill was published. Compromise of the MoltCities host, its deployment pipeline, domain or TLS trust path—or an intentional later change to `wallet.sh`—would change the code executed by users without requiring a change to this Skill. The command also uses `curl -s` without `--fail`, providing poor visibility into retrieval errors. More importantly, piping directly into Bash allows the response to perform any operation available to the invoking account. Unrestricted shell execution is broader than the minimum capability inherently necessary to prove control of a wallet. ### Attack Path 1. An attacker compromises or gains the ability to modify `https://moltcities.org/wallet.sh`, or otherwise controls the response delivered through the trusted endpoint. 2. The attacker replaces the response with shell commands that read credentials, modify user files, install persistence, or invoke additional payloads. 3. A user follows Step 5 of the registration instructions. 4. `curl` streams the attacker-controlled response directly to `bash`. 5. Bash executes the payload immediately with the permissions of the invoking user. 6. The payload can access files and services available to that account, including MoltCities credentials and locally stored cryptographic material. ### Impact Assessm ...[truncated 686 chars]
- Remediation
- ## Remediation Suggestions - Remove the `curl | bash` workflow. - Prefer a documented and auditable wallet challenge-signing procedure that requires no general-purpose remote script. - If a helper is necessary, bundle a reviewed implementation with the Skill or distribute an immutable, versioned release artifact. - Download the artifact without executing it, then verify both a published cryptographic signature and a pinned checksum before use. - Make the verification key available through an independent, trusted channel and document key rotation. - Allow users to inspect the downloaded script before execution. - Run the helper with the minimum filesystem, network, and wallet permissions required; never recommend `sudo`. - Use fail-fast retrieval options such as `curl --fail --show-error --location` after the trust and integrity controls are implemented.
