T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:16- Finding
Unverified Remote Installation Script Is Piped Directly into Bash
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is mostly aligned with Alibaba Cloud MaxCompute project management, but it uses unsafe installer and plugin-update instructions and has under-scoped cloud-resource authority that should be reviewed before installation.
Install only after reviewing the setup steps. Prefer installing Aliyun CLI through a trusted package manager or verified download, avoid piping remote scripts into bash, do not enable global automatic plugin installation unless you accept that persistent change, use least-privilege RAM credentials, and require a clear confirmation before creating any billable MaxCompute project.
SKILL.md:16Unverified Remote Installation Script Is Piped Directly into Bash
SKILL.md:203Global Automatic Plugin Installation and Unpinned Plugin Updates Expand Supply-Chain Exposure
SKILL.md:95User-Controlled Parameters Are Interpolated into Shell Commands and JSON Without Safe Argument Handling
references/cli-installation-guide.md:39Mutable “Latest” CLI Binaries Are Installed Without Integrity Verification
The skill instructs users to pipe a remotely fetched script directly into bash, which bypasses review and grants immediate code execution from an external source. In an agent skill, this is especially dangerous because installation steps may be treated as part of the trusted workflow and executed reflexively.
**Pre-check: Aliyun CLI >= 3.3.3 required**
> Run `aliyun version` to verify >= 3.3.3. If not installed or version too low,
> run `curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash` to update,
> or see `references/cli-installation-guide.md` for installation instructions.
>
> Then [MUST] run `aliyun plugin update` to ensure that any existing plugins on your local machine are always up-to-date.
Repeating the remote-script installation instruction normalizes unsafe execution of unreviewed code and increases the chance it will be followed. Because this skill otherwise focuses on cloud project management, bundling shell bootstrap execution materially broadens the attack surface beyond the business need.
**Pre-check: Aliyun CLI >= 3.3.3 required**
> Run `aliyun version` to verify >= 3.3.3. If not installed or version too low,
> run `curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash` to update,
> or see `references/cli-installation-guide.md` for installation instructions.
**Pre-check: Aliyun CLI plugin update required**
The explicit command example curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash is a textbook unsafe pattern that can lead to arbitrary code execution if the remote host, transport, or script content is compromised. The danger is elevated here because the skill presents it as a normative installation step users must perform.
# Install/Update Alibaba Cloud CLI
curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash
# Verify version (must be >= 3.3.3)
aliyun version
The | bash chain converts fetched network content directly into executable shell input, eliminating any inspection point and enabling one-step compromise. In combination with a privileged CLI setup workflow, this chaining can be abused to run arbitrary commands on the local machine.
# Install/Update Alibaba Cloud CLI
curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash
# Verify version (must be >= 3.3.3)
aliyun version
The trigger phrase maxcompute project is broad enough to activate on general discussion, not just on an explicit request to perform cloud actions. In a skill that can create resources, ambiguous activation increases the chance of unintended operational guidance or accidental invocation in sensitive contexts.
The instruction When user asks about MaxCompute projects lacks a clear boundary between informational conversation and an operational workflow. Because this skill includes creation of billable cloud resources, vague activation criteria make unintended use more dangerous than in a read-only skill.
The skill provides instructions to create MaxCompute projects, which are account-affecting and potentially billable, but does not include a prominent warning about cost, quota consumption, or organizational impact. Users may authorize creation without understanding the financial or operational consequences.
Skill grants unrestricted tool access without appropriate constraints. An agent with unfettered tool access can perform arbitrary actions including file modification, network requests, and code execution.
> 2. **NEVER** use hardcoded values — always ask user for parameters, then use their ACTUAL answer (not placeholder text)
> 3. **NEVER** use `aliyun configure set` with literal credential values
> 4. **NEVER** run `aliyun ram` commands
> 5. **NEVER** execute ANY command without `--user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-project-manage`
> 6. **NEVER** skip asking for RegionId — this is ALWAYS required
> 7. **NEVER** assume a default region — always ask the user
> 8. **NEVER** use uppercase API action format as CLI commands — ALWAYS use plugin format with lowercase and hyphens (e.g., `create-project`)
The skill instructs users to enable aliyun configure set --auto-plugin-install true, which changes a global CLI setting unrelated to the narrow task of MaxCompute project management. This expands the trust boundary by allowing future plugin installation behavior account-wide, increasing supply-chain and unintended tool-execution risk beyond the immediate workflow.
The acceptance criteria expands the skill’s operational scope to include delete-project, even though the declared skill metadata only covers creating, querying, and listing MaxCompute projects. This kind of scope drift is dangerous because downstream agents, tests, or maintainers may infer that destructive actions are intended and permitted, increasing the chance of accidental resource deletion without explicit user expectation or authorization boundaries.
The document includes a destructive aliyun maxcompute delete-project command as a correct pattern without any warning, confirmation requirement, or cautionary language. In an agent skill context, presenting destructive operations as ordinary accepted behavior can normalize unsafe execution paths and lead to irreversible deletion of projects or data if an agent or user follows the example blindly.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
tar -xzf aliyun-cli-macosx-latest-amd64.tgz
# Move to PATH
sudo mv aliyun /usr/local/bin/
# Verify
aliyun version
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
tar -xzf aliyun-cli-macosx-latest-amd64.tgz
# Move to PATH
sudo mv aliyun /usr/local/bin/
# Verify
aliyun version
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
tar -xzf aliyun-cli-macosx-latest-amd64.tgz
# Move to PATH
sudo mv aliyun /usr/local/bin/
# Verify
aliyun version
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
tar -xzf aliyun-cli-linux-latest-arm64.tgz sudo mv aliyun /usr/local/bin/
### Windows
The guide instructs users to place long-lived Access Key credentials directly on the command line and in persistent CLI configuration without prominently warning about secret exposure risks. Command-line arguments can leak via shell history, process inspection, automation logs, and copied config files, making credential theft more likely.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
1. Log in to Aliyun Console: https://ram.console.aliyun.com/
2. Navigate to: AccessKey Management
3. Create a new AccessKey pair
4. Save the secret immediately — it's only shown once
### Configuration Modes
The environment-variable examples export cloud credentials without warning that such values may propagate to child processes, debugging tools, crash dumps, and CI/CD logs. In automation-heavy skill usage, this creates a realistic path for accidental credential disclosure.
The file belongs to a MaxCompute project-management skill, but it provides broad Aliyun CLI guidance covering ECS operations, general credential setup, debug usage, custom endpoints, proxies, and arbitrary plugin usage. In an agent-skill context, this scope expansion increases the chance that the skill will be used to perform actions outside its declared purpose, violating least privilege and enabling unintended cloud access paths.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
# Restrict permissions
chmod 600 ~/.aliyun/config.json
The guide explicitly recommends installing arbitrary Alibaba Cloud product plugins such as ECS, VPC, and RDS, which are unrelated to MaxCompute project management. In a skill consumed by an agent, this broadens available functionality and may let the agent access or invoke additional services beyond the intended trust boundary.
The documented API set includes DeleteProject even though the skill metadata declares only creating, querying, and listing projects. In an agent skill context, this scope mismatch can enable destructive actions that users and policy controls may not expect, increasing the risk of unauthorized or accidental deletion of cloud resources and data.
The CreateProject examples show how to create persistent cloud resources without warning about side effects, billing, or environment changes. In an agent setting, omission of these caveats can cause unintended resource creation and unexpected charges because the user may interpret the example as low-risk informational output.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
**API Endpoint:** `https://maxcompute.{regionId}.aliyuncs.com`
**API Documentation:** [CreateProject](https://api.aliyun.com/api/MaxCompute/2022-01-04/CreateProject)
### CLI Command
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
**API Endpoint:** `https://maxcompute.{regionId}.aliyuncs.com`
**API Documentation:** [CreateProject](https://api.aliyun.com/api/MaxCompute/2022-01-04/CreateProject)
### CLI Command
No suspicious patterns detected.