T03 · Remote Payload Retrieval and Execution
- Location
README.md:39- Finding
Unverified Remote Installation Script Piped Directly to Bash
- Content
View full analysis
Vulnerability Details
File Location:
README.md:39
Vulnerability Type: Remote payload retrieval and execution
Risk Level: HighVulnerable Code:
bash # one-liner curl -fsSL https://raw.githubusercontent.com/Olafs-World/flight-search/main/install.sh | bashTechnical Analysis
The documented installation command downloads a shell script from the mutable
mainbranch of a personal GitHub repository and immediately executes it with Bash. The payload is not pinned to an immutable commit, authenticated with a release signature, or checked against a published cryptographic hash. Piping the response directly to a shell also prevents the user from reviewing the exact content before execution.The currently reviewed
install.shonly selects an available Python package manager and installsflight-search. However, the effective payload is the content served remotely at execution time, not necessarily the version audited in this project. The remote script can therefore change after review.This execution mechanism is not required for the Skill's flight-search functionality. The README and
SKILL.mdalready provide direct package installation alternatives such asuv tool install flight-searchandpip install flight-search.Attack Path
- An attacker compromises the GitHub repository, its maintainer account, or another component capable of modifying the remote
mainbranch. - The attacker replaces or modifies
install.shto include malicious shell commands. - A user or automated Agent follows the README installation command.
curlretrieves the attacker-controlled version without pinning or integrity verification.- Bash immediately executes the response.
- The payload operates with all permissions available to the invoking user and may access or alter resources available to that account.
Impact Assessment
Successful exploitation permits arbitrary command execution und ...[truncated 471 chars]
- An attacker compromises the GitHub repository, its maintainer account, or another component capable of modifying the remote
- Remediation
View remediation
Remediation Suggestions
-
Remove the pipe-to-shell installation command and make a standard package-manager command the primary installation method:
bash uv tool install flight-searchor:
bash python -m pip install flight-search -
If distributing a shell installer remains necessary, publish it as a versioned release artifact rather than retrieving it from a mutable branch.
-
Pin retrieval to an immutable commit or release version.
-
Publish a SHA-256 checksum or cryptographic signature through an independent trusted release channel.
-
Require users to download, verify, inspect, and then execute the script as separate steps.
-
Avoid recommending privileged execution and explicitly document the permissions and filesystem changes required by the installer.
-
