T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:33- Finding
Unverified Remote Installer Is Downloaded and Executed Directly
- Content
View full analysis
= 3.3.3`; otherwise: ```bash curl -fsSL --connect-timeout 10 --max-time 120 https://aliyuncli.alicdn.com/setup.sh | bash aliyun version ``` ``` `references/cli-installation-guide.md:4-11`: ```bash # Check the current version (requires >= 3.3.3; this skill is verified on 3.3.10) aliyun version # Install when missing or too old curl -fsSL --connect-timeout 10 --max-time 120 https://aliyuncli.alicdn.com/setup.sh | bash exec $SHELL -l aliyun version ``` ### Technical Analysis The instructions pipe a mutable network response directly into Bash. The downloaded script is not saved for inspection and is not authenticated through a pinned checksum, detached signature, or reproducible package version. TLS protects the connection under normal circumstances but does not establish that the current remote payload is the same payload reviewed when the Skill was published. Compromise of the CDN origin, hosting account, DNS infrastructure, or TLS trust chain could replace the script without changing the audited Skill. The installer executes with all privileges held by the user following the instructions. If the command is run from an administrative shell, the remote payload would obtain administrative privileges. ### Attack Path 1. An attacker compromises or gains control over the remote `setup.sh` response path. 2. The attacker modifies the response to include arbitrary shell commands. 3. A user follows the Skill's installation or upgrade instructions. 4. `curl` retrieves the attacker-controlled response. 5. Bash executes it immediately without verification or review. 6. The payload can access the user's files, cloud configuration, environment variables, and any privileges available to ...[truncated 613 chars]- Remediation
View remediation
' 'aliyun-cli-installer' | sha256sum --check - ``` 4. Prefer a vendor-supported, signed operating-system package repository where available. 5. Verify a detached vendor signature using a pinned and independently obtained public key. 6. Display the resolved version and source to the user before installation. 7. Run the installer without administrative privileges unless a documented installation step strictly requires elevation. 8. Pin and verify the subsequently installed `eflo-controller` plugin as well. ]]>
