T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:63- Finding
Mutable Remote Installation Scripts Executed Directly by a Shell
- Content
View full analysis
Vulnerability Details
File Locations:
SKILL.md:63SKILL.md:68README.md:30README.md:35README-CN.md:29README-CN.md:34
Vulnerability Type: Remote payload retrieval and immediate execution
Risk Level: CriticalVulnerable Code:
bash # Shell installer curl -fsSL https://raw.githubusercontent.com/laiye-ai/adp-cli/main/scripts/adp-init.sh | bashpowershell # PowerShell installer irm https://raw.githubusercontent.com/laiye-ai/adp-cli/main/scripts/adp-init.ps1 | iexTechnical Analysis
These installation commands retrieve scripts from the mutable
mainbranch of an external GitHub repository and pass the responses directly tobashor PowerShell'sInvoke-Expression. The downloaded content is not displayed for review, pinned to an immutable commit, checked against a cryptographic digest, or authenticated with a vendor signature.Although the repository name is consistent with the advertised vendor, this project contains neither the installer source nor a checksum or signature that would allow the reviewed artifact to establish what code will run. The effective payload can therefore change after this Skill has been audited.
The commands also create a time-of-check/time-of-use trust problem: even if the remote script is benign at one point, compromise of the repository, publisher account, release process, or another relevant delivery component could cause subsequent installations to execute attacker-controlled code.
curl -fand HTTPS protect against some transport failures but do not establish artifact immutability or publisher-controlled code signing.Direct shell execution exceeds the minimum privilege necessary for the declared document-extraction functionality. Installing a CLI may be necessary, but executing an unverified mutable response is not. The script inherits all privileges and environmental access of the user who launches it; if invoked with elevated privileges, the payload receives t ...[truncated 1539 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove all direct
curl | bashandirm | iexinstallation instructions. - Publish versioned installation artifacts through immutable releases rather than a mutable branch.
- Instruct users to download the installer to disk without executing it:
bash curl -fL -o adp-init.sh https://example.invalid/releases/download/vX.Y.Z/adp-init.sh- Publish a SHA-256 digest over a separate authenticated channel and require verification before execution:
bash echo '<expected-sha256> adp-init.sh' | sha256sum --check -- Sign release artifacts with a documented vendor signing key and require signature verification. A checksum hosted beside a compromised artifact is insufficient by itself.
- Pin documentation to a specific release version or immutable commit rather than
main. - Advise users to inspect the downloaded script and execute it explicitly only after verification.
- Ensure the installer does not require administrator privileges unless a specific installation step genuinely needs them. Prefer installation into a user-owned directory.
- Apply equivalent download, signature, and version-pinning controls to the PowerShell installer.
- Document all filesystem changes, network requests, and executable locations used by the installer.
- Remove all direct
