T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:11- Finding
Mutable Remote Installer Is Downloaded and Executed Without Verification
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 11
Vulnerability Type: Remote payload retrieval and execution
Risk Level: HighComplete Code Snippet:
bash bash <(curl -sSL https://raw.githubusercontent.com/iiroak/iBus.CL-API/main/install.sh)Technical Analysis
The documented installation command retrieves a shell script from a personal GitHub repository and passes it directly to Bash through process substitution. The URL references the mutable
mainbranch rather than a reviewed commit or immutable release. Consequently, the code executed by users can change after this Skill has been audited.No checksum, digital signature, version pin, or manual review step is required before execution. The remote
install.shfile is not included in this project, so its commands and side effects cannot be verified from the audited artifact. The-Loption also follows redirects, while-ssuppresses progress and some diagnostic output.This installation mechanism exceeds the minimum privileges necessary for the declared functionality. Installing a public-transport query CLI may require downloading package files, but it does not require blindly granting an unaudited, mutable remote script all permissions held by the invoking user.
Attack Path
- An attacker compromises the upstream GitHub account or repository, gains write access, or otherwise causes the content served for
install.shto change. - The attacker modifies
install.shon the referencedmainbranch to contain arbitrary shell commands. - A user follows the installation command documented in
SKILL.md. curldownloads the attacker-controlled script without verifying its version, checksum, or signature.- Bash immediately executes the payload with the permissions of the invoking user.
- The payload can perform arbitrary actions available under that account. If the command is invoked from an elevated shell, the resulti ...[truncated 650 chars]
- An attacker compromises the upstream GitHub account or repository, gains write access, or otherwise causes the content served for
- Remediation
View remediation
Remediation Suggestions
- Remove the direct remote-to-shell installation command.
- Distribute the CLI through a trusted package registry or an immutable, versioned release.
- Pin installation material to a reviewed commit or release rather than the mutable
mainbranch. - Publish and verify a cryptographic checksum or signature before executing or installing downloaded content.
- Require users to download the installer as a file, inspect it, verify its integrity, and only then execute it.
- Include the installer in the audited Skill package if it is required, so its complete behavior can be reviewed.
- Recommend installation in a dedicated Python virtual environment under a non-privileged account.
- Avoid
sudoor administrator execution unless a clearly documented operation strictly requires it. - Document all filesystem, network, and configuration changes made by the installer.
A safer workflow would use an immutable release archive, verify its published hash or signature, inspect the extracted project, create a virtual environment, and run
python -m pip install .without elevated privileges.
