Back to skill

Security audit

alibabacloud-agent-toolkit-install

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent Alibaba Cloud toolkit installer, but it installs persistent cloud/agent tooling from mutable, unverified remote sources.

Review before installing. Only proceed if you trust the Alibaba Cloud and openplugin distribution paths, are comfortable with user-level PATH and client plugin persistence, and understand that the skill may run cloud identity/token checks and install agent hooks/MCP configuration. Prefer pinned versions and verified checksums or signatures where available.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (3)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:38
Finding

Mutable Remote Installation Scripts Are Executed Directly by the Shell

Content
View full analysis
`/bin/bash -c "$(curl -fsSL https://aliyuncli.alicdn.com/setup.sh)"` to install or update. ``` ```markdown | Platform | Command | |---|---| | macOS / Linux | `curl -LsSf https://astral.sh/uv/install.sh \| sh` | | Windows (PowerShell) | `powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 \| iex"` | ``` ```bash /bin/bash -c "$(curl -fsSL https://aliyuncli.alicdn.com/install.sh)" ``` ### Technical Analysis The Skill directs users or an agent, after confirmation, to retrieve mutable content from external URLs and immediately execute it using `sh`, `bash`, or PowerShell `Invoke-Expression`. No immutable release reference, cryptographic checksum, publisher signature, or local content review is required before execution. User confirmation reduces the risk of unexpected execution but does not validate the payload. The command displayed for approval does not reveal the script body, and the server can return different content after the Skill has been audited. PowerShell's `ExecutionPolicy Bypass` also removes an execution-policy safeguard for that invocation, although it does not independently grant administrator privileges. The prerequisite instruction references `setup.sh`, while the main installation step references `install.sh`. This inconsistency makes it harder to establish precisely which installer has been reviewed and trusted. ### Attack Path 1. An attacker compromises the remote hosting account, CDN, upstream build process, DNS resolution, or another component in the delivery chain. 2. The attacker replaces the installation response with a malicious shell or PowerShell payload. 3. A user approves and runs the documented command. 4. `curl` or `Invoke-RestMethod` retrieves the changed payload. 5. `sh`, `bash`, or `Invoke-Expression` exe ...[truncated 939 chars]
Remediation
View remediation
``` 4. Obtain the expected SHA-256 digest from independently authenticated, signed release metadata and verify it before execution: ```bash printf '%s %s\n' '' 'uv-install.sh' | sha256sum --check ``` 5. Verify a publisher signature where available and document the expected signer identity. 6. Present the downloaded file path, version, checksum, signer, and intended changes to the user before requesting execution approval. 7. Execute the verified local file as a separate action and with ordinary user privileges. 8. On Windows, avoid `Invoke-Expression` and do not use `ExecutionPolicy Bypass` unless strictly necessary and explicitly justified. 9. Reconcile the inconsistent `setup.sh` and `install.sh` references so only one reviewed, versioned installation path is documented. ]]>

T08 · Insecure Dependencies

Error
Location
SKILL.md:365
Finding

Toolkit Plugins, Hooks, and MCP Configuration Are Installed from Unpinned Sources

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Error
Location
scripts/install-aliyun-cli-windows.ps1:59
Finding

Windows Installer Places an Unverified Downloaded Executable in the User PATH

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • System Prompt LeakageDirect Leakage, Indirect Extraction, Tool-Based Exfiltration
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (6)

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · SKILL.md (reported line 29)May include surrounding context.

md
|----------------|----------------|
| **Auto** (read-only check) | Execute without asking. |
| **Confirm** (local install / CLI plugin install) | Show the user the exact command, explain what it does, and **wait for explicit approval** before executing. Never pipe-to-shell silently. |
| **User-only** (interactive / browser-based) | Display instructions for the user to run in a **separate terminal**. Do not attempt to execute. |
| **Confirm-cloud** (cloud-side write) | Explain the cloud resource that will be created, then **wait for explicit approval** before executing. |

---

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · SKILL.md (reported line 27)May include surrounding context.

md
| Classification | Agent behavior |
|----------------|----------------|
| **Auto** (read-only check) | Execute without asking. |
| **Confirm** (local install / CLI plugin install) | Show the user the exact command, explain what it does, and **wait for explicit approval** before executing. Never pipe-to-shell silently. |
| **User-only** (interactive / browser-based) | Display instructions for the user to run in a **separate terminal**. Do not attempt to execute. |
| **Confirm-cloud** (cloud-side write) | Explain the cloud resource that will be created, then **wait for explicit approval** before executing. |

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

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.

Content

Scanner excerpt · SKILL.md (reported line 384)May include surrounding context.

md
that three local QwenWork plugins will be installed, and **wait for explicit
approval**. After approval:

1. Create a temporary directory and clone
   `https://github.com/aliyun/alibabacloud-agent-toolkit.git` into it.
2. Validate `.qoder-plugin/plugin.json` in `alibabacloud-core` and
   `alibabacloud-spec-ops`.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The skill instructs use of npx openplugin without pinning a specific package version or immutable source. This allows the installed code path to change over time or resolve to a compromised upstream release, creating a supply-chain risk during toolkit installation.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

This is a second occurrence of the same unpinned npx openplugin install path, reinforcing a supply-chain exposure. Because the command executes code fetched at runtime, an upstream change or registry compromise could result in unintended code execution on the user's machine.

Content

No source excerpt is available for this finding.

External Script Fetching

Low
Category
Supply Chain
Confidence
98% confidence
Finding

The skill recommends a pipe-to-shell installation command (curl ... | sh), which executes remote script content directly on the user's machine. If the remote host, connection, or delivered script is compromised, this becomes immediate arbitrary code execution.

Content

Scanner excerpt · SKILL.md (reported line 90)May include surrounding context.

md
| Platform        | Command |
|-----------------|---------|
| macOS / Linux   | `curl -LsSf https://astral.sh/uv/install.sh \| sh` |
| Windows (PowerShell) | `powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 \| iex"` |

> **Security note:** These are pipe-to-shell commands. Show the command to the user

Static analysis

No suspicious patterns detected.