T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:29- Finding
Mutable Remote Installer and Automatically Updated Plugins Can Execute Unreviewed Code
- Content
View full analysis
Run `aliyun version` to verify >= 3.3.3. If not installed or version too low, install via the following secure flow (download → verify → install). **Do NOT use `curl ... | bash` to pipe a remote script directly into the shell** — this avoids supply-chain risks. > > **Step 1: Download the installer and the setup script:** > ```bash > # Choose the tarball that matches your architecture (amd64 / arm64) and OS > curl -fsSL -o aliyun-cli.tgz https://aliyuncli.alicdn.com/aliyun-cli-macosx-latest-arm64.tgz > curl -fsSL -o setup.sh https://aliyuncli.alicdn.com/setup.sh > ``` > > **Step 2: Inspect the script manually before executing:** > ```bash > less setup.sh > shasum -a 256 aliyun-cli.tgz setup.sh > bash ./setup.sh > aliyun version > ``` ``` ```bash aliyun configure set --auto-plugin-install true aliyun plugin update ``` ### Technical Analysis The pre-scan warning about direct `curl | bash` execution is a false positive: the Skill explicitly prohibits that pattern. Nevertheless, it still downloads a mutable remote shell script and executes it locally. The `setup.sh` URL and the archive name containing `latest` do not identify immutable artifacts. The instructions calculate hashes but do not provide trusted expected values, a signed checksum file, or a vendor-signature verification procedure. Calculating and recording the hash of a compromised download does not establish its authenticity. The mandatory plugin configuration also enables automatic installation and performs an unrestricted update. No exact plugin version, package digest, or signature is pinned. Consequently, the effective code executed by the Skill can change after the Skill itself has been audited. The installation is only necessary when the CLI is absent or outdated, but automatic plugi ...[truncated 1617 chars]- Remediation
View remediation
