T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:20- Finding
Unverified Remote Installer Is Piped Directly Into a Shell
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:20-29andSKILL.md:45-51
Vulnerability Type: Remote payload retrieval and arbitrary code execution
Risk Level: HighComplete Code Snippet:
json { "id": "shell", "kind": "shell", "command": "curl -fsSL https://plasmate.app/install.sh | sh", "bins": ["plasmate"], "label": "Install Plasmate (pre-built binary)" }bash # Build from source (recommended) cargo install plasmate # Or use the install script curl -fsSL https://plasmate.app/install.sh | shTechnical Analysis
The installation instructions download a mutable script from an external server and pass its response directly to
sh. The downloaded content is not displayed for inspection, pinned to a specific release, checked against a cryptographic digest, or verified with a trusted signing key.Although HTTPS protects the connection under normal circumstances, it does not establish that every future response from the domain is safe. The effective code executed by this Skill can change after the package has been audited. A compromise of the website, hosting account, deployment pipeline, DNS infrastructure, TLS credentials, or installer publishing process could therefore convert the installation command into an arbitrary-code execution channel.
This behavior is not required for the declared web-browsing functionality. The document already provides
cargo install plasmateas a source-build alternative. Even that alternative should ideally be version-pinned, but it avoids directly interpreting a mutable HTTP response as shell code.Attack Path
- An attacker compromises or gains publishing control over
https://plasmate.app/install.sh, or redirects traffic through compromised infrastructure. - The attacker modifies the installer response to include arbitrary shell commands.
- A user or agent follows the documented installation command.
curlret ...[truncated 951 chars]
- An attacker compromises or gains publishing control over
- Remediation
View remediation
Remediation Suggestions
- Remove all
curl | shinstallation instructions and automated metadata entries. - Publish immutable, versioned release artifacts instead of relying on a mutable installer endpoint.
- Download the selected artifact as a separate step and verify a SHA-256 or stronger digest obtained through a trusted, independently protected channel.
- Prefer signed releases and validate signatures against a pinned project signing key.
- Pin the exact Plasmate version rather than installing an unspecified latest release.
- If a shell installer must remain available, instruct users to download and inspect it before execution; this is weaker than signed artifacts and should not replace signature verification.
- Do not recommend elevated execution unless a documented operation strictly requires it.
- Remove all
