T03 · Remote Payload Retrieval and Execution
Error
- Location
- skill.md:28
- Finding
- Mutable Remote Installer Executed Directly Through Bash## Vulnerability Details **File Location**: `skill.md`, line 28 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: Critical **Complete Code Snippet**: ```bash # macOS / Linux curl -fsSL https://pinchtab.com/install.sh | bash ``` ### Technical Analysis The installation command streams content retrieved from an external, mutable URL directly into Bash. The downloaded script is neither displayed nor saved for review, and no version pin, cryptographic checksum, or signature verification is performed before execution. HTTPS protects the connection in transit and authenticates the responding domain under the certificate trust model, but it does not guarantee that the script is safe or immutable. The effective executable payload can change after this Skill has been audited. Compromise of the website, hosting infrastructure, DNS resolution, certificate authority chain, deployment pipeline, or maintainer account could therefore turn the documented installation procedure into an arbitrary-code execution channel. The actual installer is not included in the audited project, so its commands, downloaded components, filesystem changes, requested permissions, and persistence behavior cannot be statically verified. Installing the declared browser automation utility may be necessary, but piping mutable remote content directly into a shell is not the minimum privilege or minimum trust mechanism required. The same document provides npm and Docker alternatives, demonstrating that this specific execution pattern is avoidable. ### Attack Path 1. An attacker compromises or gains control over `https://pinchtab.com/install.sh` or its delivery infrastructure. 2. The attacker replaces the expected installer response with malicious shell commands. 3. A user or automated agent follows the installation instructions in `skill.md`. 4. `curl` retrieves the attacker-controlled response. 5. The shell pipeline passes the respon ...[truncated 1094 chars]
- Remediation
- ## Remediation Suggestions 1. Remove the `curl | bash` installation instruction. 2. Publish versioned release artifacts through the referenced source repository or another authenticated release channel. 3. Pin installation instructions to an exact release version rather than a mutable latest installer. 4. Provide an expected SHA-256 or stronger digest and require users to verify it before execution. 5. Prefer signed artifacts and document signature verification against a pinned maintainer key. 6. Download the installer or binary to a local file first, verify its integrity and provenance, inspect it where practical, and only then execute it explicitly. 7. Run installation with an unprivileged account and request elevated permissions only for narrowly defined operations that genuinely require them. 8. Document the files, directories, services, network endpoints, and permissions affected by installation. 9. If npm or Docker alternatives remain documented, pin an exact npm package version and an immutable container image digest, and verify publisher provenance. 10. In automated environments, restrict outbound network access, filesystem access, secret availability, and installation permissions during dependency setup.
