T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:312- Finding
Unverified Remote Installer Download and Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 312–314
Vulnerability Type: Remote payload retrieval and execution
Risk Level: Criticalbash curl -fsSL "https://raw.githubusercontent.com/redotpay/redotpay-cli/v0.1.1/install.sh" -o redotpay-install.sh shasum -a 256 -c SHA256SUMS --ignore-missing bash redotpay-install.shTechnical Analysis
The installation procedure downloads a shell script from an external GitHub repository and then executes it with
bash. Consequently, the code ultimately executed is not contained in the audited Skill and may differ from the content available during review.The apparent integrity check is ineffective because the audited project does not contain the referenced
SHA256SUMSfile or an embedded trusted digest forredotpay-install.sh. Moreover, the checksum command and script execution are separate commands: neither&&nor an equivalent fail-closed mechanism prevents execution if verification fails. The--ignore-missingoption further weakens the intended validation by allowing entries for missing files to be ignored.This installation behavior is not required merely to document or perform service discovery when a trusted CLI is already available. Automatically retrieving and executing an external installer exceeds the minimum privilege necessary for the Skill's declared search and data-retrieval functionality.
Attack Path
- An attacker compromises the external repository, the account controlling it, or the referenced installer content.
- The Agent determines that the
redotpayexecutable is unavailable and follows the Installation Reference. curlretrieves the modifiedinstall.shpayload and writes it toredotpay-install.sh.- The checksum operation fails or performs no meaningful validation because no trusted project-supplied checksum is available.
- The following command still executes
redotpay-install.shwith the Agent ...[truncated 891 chars]
- Remediation
View remediation
Remediation Suggestions
- Do not automatically download and execute installation scripts as part of the Skill workflow. Require the CLI to be installed separately through an approved, trusted deployment process.
- Prefer a trusted package registry or bundle a reviewed installer with the Skill so the executed code is included in the audited artifact.
- If remote retrieval is unavoidable, pin the download to an immutable commit rather than a mutable repository reference.
- Embed the exact expected SHA-256 digest in the Skill itself and validate the downloaded file directly against that trusted value.
- Make verification fail closed by chaining successful validation to execution:
bash curl -fsSL "https://raw.githubusercontent.com/redotpay/redotpay-cli/<immutable-commit>/install.sh" -o redotpay-install.sh printf '%s %s\n' '<trusted-sha256>' redotpay-install.sh | shasum -a 256 -c - && bash redotpay-install.sh- Download into a securely created temporary directory, reject redirects to unapproved hosts where practical, and remove the installer after use.
- Display the source, version, expected digest, and intended filesystem changes to the user, then obtain explicit approval before installation.
- Run installation with the least-privileged account possible and prohibit requests for elevated privileges unless separately justified and approved.
