T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:131- Finding
Unsafe Remote Script Execution Recommended as a Universal Installation Method
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 131
Vulnerability Type: Remote payload retrieval and execution
Risk Level: HighVulnerable Code
bash curl -fsSL https://get.example.com | sh # Universal: curl-pipe-shTechnical Analysis
The Skill recommends piping an HTTP response directly into
sh. Althoughexample.comis a reserved placeholder domain, the instruction presentscurl | shas a universal installation pattern that may be reproduced with a real project-controlled URL in generated READMEs.This pattern executes mutable remote content without giving the user an opportunity to inspect it. It provides no version pinning, checksum verification, cryptographic signature validation, or trust-boundary separation between downloading and execution. The code reviewed during the Skill audit can therefore differ from the script eventually executed by a downstream user.
Remote shell execution is not necessary for the Skill's declared README-writing functionality. Recommending it exceeds the minimum capability required and creates an avoidable downstream supply-chain risk.
Attack Path
- The Skill uses the installation guidance to generate or improve a project's README.
- The placeholder URL is replaced with a real installer endpoint controlled by the project or another party.
- A downstream user copies and runs the generated command.
curlretrieves the endpoint's current response.- The response is passed directly to
shwithout integrity or authenticity verification. - An attacker who controls or compromises the endpoint, hosting account, release pipeline, or relevant network infrastructure serves a malicious script.
- The malicious response executes with the privileges of the user running the installation command.
Impact Assessment
Successful exploitation provides arbitrary command execution with the invoking user's privileges. The reachable scope can include:
- Reading or modifying files acce ...[truncated 564 chars]
- Remediation
View remediation
Remediation Suggestions
-
Remove the
curl | shexample and do not characterize this installation method as universal. -
Prefer trusted package managers with package signing and explicit version selection, such as
apt, Homebrew, PyPI, npm, or crates.io, as appropriate for the project. -
When distributing standalone binaries, link to immutable, versioned release artifacts and publish cryptographic checksums and signatures through an independent trusted channel.
-
If an installer script is unavoidable, separate retrieval from execution:
bash curl -fL --proto '=https' --tlsv1.2 \ -o install.sh \ https://downloads.example.org/releases/v1.2.3/install.sh printf '%s %s\n' 'EXPECTED_SHA256' 'install.sh' | sha256sum --check - less install.sh sh install.sh -
Pin the script to a specific release rather than a mutable branch or generic installer endpoint.
-
Document the script's intended filesystem changes and required privileges. It should refuse to run with elevated privileges unless those privileges are strictly necessary.
-
Update the Skill's guidance to warn against directly executing unverified network responses and to require integrity and authenticity checks in generated installation instructions.
-
