T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:36- Finding
Unverified Remote Installer Piped Directly into Bash
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 36
Vulnerability Type: Remote payload retrieval and execution
Risk Level: CriticalVulnerable code:
bash curl -fsSL https://raw.githubusercontent.com/traderhc123/agentic-trader/main/install.sh | bashTechnical Analysis
The installation command retrieves
install.shfrom the mutablemainbranch of a personal GitHub repository and pipes the response directly into Bash. This gives the downloaded content arbitrary command-execution capability under the invoking user's account.The command does not pin the payload to an immutable commit or version, verify a cryptographic checksum or signature, or allow inspection before execution. Consequently, the effective payload can change after this Skill has been reviewed. The audited project contains only
SKILL.md; the installer and application implementation are not included locally, so their behavior cannot be statically verified.Direct arbitrary shell execution exceeds the minimum privileges necessary to distribute a Python application. Although the command does not explicitly invoke elevated privileges, it grants the remote payload all permissions available to the current user. The payload also runs before the documented application-level consent gate, so that gate cannot constrain the installer.
Attack Path
- An attacker compromises the referenced GitHub account, repository, publishing credentials, or another mechanism capable of changing the
mainbranch. - The attacker modifies
install.shto include arbitrary malicious shell commands. - A user follows the setup instructions in
SKILL.md. curldownloads the attacker-controlled response without preserving it for review.- Bash immediately executes the response with the user's privileges.
- The payload can access or alter resources available to that user before the trading application's consent checks are reached.
Imp
...[truncated 829 chars]
- An attacker compromises the referenced GitHub account, repository, publishing credentials, or another mechanism capable of changing the
- Remediation
View remediation
Remediation Suggestions
- Remove the
curl | bashinstallation pattern. - Include the installer and relevant application code in the reviewed package, or distribute a signed, versioned release artifact from an immutable location.
- Pin downloads to a specific release or commit rather than the mutable
mainbranch. - Publish and verify a cryptographic checksum or trusted digital signature before execution.
- Download the installer to a local file first and instruct the user to inspect it before running it.
- Ensure installation runs as an ordinary user without
sudoor other privilege escalation. - Install Python dependencies inside an isolated virtual environment and pin their versions and hashes.
- Include referenced operational instructions such as
BOOT.mdlocally so setup behavior, credential handling, network access, and trading controls can be audited together. - Keep the human consent gate, but do not treat it as protection against installer compromise because remote code executes before that control.
- Remove the
