Back to skill

Security audit

Alibabacloud Dataworks Data Ops

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a read-only Alibaba DataWorks helper, but its installation and setup instructions require unsafe, broad, and persistent CLI/plugin changes.

Review before installing. Use only a preinstalled or independently verified Aliyun CLI, avoid curl-to-bash and unverified latest binaries, do not enable global automatic plugin installation unless you understand and can undo it, configure credentials outside the agent session, and scope RAM permissions to the specific DataWorks workspace rather than account-wide access.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
Findings (6)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:24
Finding

Unverified Remote Installation Script Executed Directly by Bash

Content
View full analysis
**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](references/cli-installation-guide.md) for installation instructions. ``` ### Technical Analysis The command pipes a mutable HTTPS response directly into Bash without first saving, inspecting, or validating it. There is no pinned version, cryptographic checksum, or publisher-signature verification. Although the URL appears associated with the Aliyun CLI distribution domain, domain reputation alone does not establish the integrity of the response at execution time. Compromise of the hosting infrastructure, distribution pipeline, DNS resolution, TLS trust chain, or upstream script could alter the effective payload after the Skill has been reviewed. Installing or updating the CLI may be necessary, but immediate execution of an unverified remote script is not the minimum privilege or minimum-risk mechanism required to support the Skill's read-only DataWorks queries. ### Attack Path 1. The Skill is activated on a system where Aliyun CLI is missing or older than version 3.3.3. 2. The Agent or user follows the prescribed installation command. 3. `curl` retrieves the current response from the remote URL. 4. The response is passed directly to Bash without integrity verification. 5. If the response has been compromised, arbitrary commands execute with the privileges of the Agent or user. 6. The payload could inspect local cloud configuration, steal credentials, replace executables, modify files, or establish persistence. ### Impact Assessment Successful exploitation provides arbitrary code execution under the accoun ...[truncated 291 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Error
Location
SKILL.md:29
Finding

Mandatory Unpinned Plugin Updates and Persistent Automatic Installation

Content
View full analysis
**Pre-check: Aliyun CLI plugin update required** > [MUST] run `aliyun configure set --auto-plugin-install true` to enable automatic plugin installation. **[MUST] CLI AI-Mode & User-Agent** — Before executing any business CLI command: ```bash aliyun configure ai-mode enable aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-ops" aliyun plugin update ``` ``` ### Technical Analysis The Skill mandates updating executable plugins without pinning versions or verifying package integrity. It also enables automatic plugin installation through a persistent CLI setting. Consequently, later commands may retrieve and execute plugin code that was not present during the Skill audit. The global automatic-installation setting can affect CLI activity outside the current workflow. The cleanup section disables AI mode but does not restore the previous `auto-plugin-install` value. These changes exceed what is minimally necessary for read-only DataWorks API calls: the Skill only needs a known-compatible DataWorks plugin, not automatic installation of arbitrary future plugins or updates to all installed plugins. ### Attack Path 1. The Agent enables global automatic plugin installation. 2. The Agent runs the unpinned `aliyun plugin update` command. 3. The CLI retrieves current plugin packages from its configured upstream source. 4. A compromised or unexpectedly changed package is installed. 5. A subsequent legitimate-looking Aliyun CLI command loads or executes the changed plugin. 6. The plugin runs in the authenticated CLI context and can access local data or issue cloud requests permitted by the active identity. ### Impact Assessment A malicious plugin could execute local code with the Agent's privile ...[truncated 295 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Error
Location
references/cli-installation-guide.md:39
Finding

Unverified Mutable Binaries Installed into a Privileged System PATH

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
references/cli-installation-guide.md:101
Finding

Cloud Credentials Exposed Through Command-Line Configuration Examples

Content
View full analysis
\ --access-key-secret \ --region cn-hangzhou ``` The guide repeats this pattern for access keys, STS tokens, role configuration, profile creation, credential rotation, and token renewal. ### Technical Analysis The instructions encourage users to place access-key secrets and STS tokens directly in command arguments. Depending on the operating system and shell, substituted secrets can be retained in shell history, terminal logs, automation logs, or process telemetry. Command arguments may also be observable to other local processes or administrative monitoring systems. This guidance directly conflicts with the main Skill's security rules, which state that literal credentials must never be supplied through `aliyun configure set` and must be configured outside the Agent session. The inconsistency makes accidental credential disclosure more likely. ### Attack Path 1. A user copies an example and substitutes real credentials. 2. The shell stores the complete command in its history or a CI system records it in logs. 3. During execution, process arguments may be visible through local process-inspection facilities. 4. Another local user, support bundle, log reader, or compromised process obtains the credential. 5. The attacker authenticates to Alibaba Cloud using the recovered key or token. 6. The attacker performs operations allowed by that identity until the credential is revoked or expires. ### Impact Assessment The attainable cloud privileges equal those of the exposed a ...[truncated 290 chars]
Remediation
View remediation

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
references/ram-policies.md:45
Finding

Recommended RAM Policy Defaults to Account-Wide Resource Access

Content
View full analysis
Remediation
View remediation
::project/" ] ``` 2. Require explicit region, account, and project substitution before applying the policy. 3. Separate permissions by workflow so users can grant only the specific read actions needed. 4. Document account-wide scope as an exceptional configuration requiring a clear operational justification and administrator approval. 5. Use separate short-lived identities for different workspaces where practical. 6. Periodically review CloudTrail or equivalent audit records for cross-workspace access. ]]>

T08 · Insecure Dependencies

Warning
Location
references/cli-installation-guide.md:499
Finding

Installation Guide Recommends Unrelated Cloud Service Plugins

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
Findings (14)

External Script Fetching

High
Category
Supply Chain
Confidence
99% confidence
Finding

The skill instructs users to execute a remote shell script directly via curl piped to bash, which is a classic supply-chain and arbitrary code execution risk. If the remote host, network path, or served script is compromised, the user may execute attacker-controlled code on their machine with their current privileges.

Content

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

md
> **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](references/cli-installation-guide.md) for installation instructions.

> **Pre-check: Aliyun CLI plugin update required**

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest and top-level description state that the skill supports "alert rule creation and management," which implies modification capabilities. However, the RAM permissions and command sections only include ListAlertRules and GetAlertRule, explicitly labeled read-only, with no create, update, or delete operations documented.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The documentation claims coverage of "failure recovery," and trigger keywords include "rerun," but the command workflows only show list/get/log retrieval operations for tasks, instances, workflows, and alert rules. No rerun, retry, restart, resume, or other recovery command is provided, so the stated operational intent contradicts the actual documented behavior.

Content

No source excerpt is available for this finding.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · references/cli-installation-guide.md (reported line 30)May include surrounding context.

md
tar -xzf aliyun-cli-macosx-latest-amd64.tgz

# Move to PATH
sudo mv aliyun /usr/local/bin/

# Verify
aliyun version

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · references/cli-installation-guide.md (reported line 45)May include surrounding context.

md
tar -xzf aliyun-cli-macosx-latest-amd64.tgz

# Move to PATH
sudo mv aliyun /usr/local/bin/

# Verify
aliyun version

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · references/cli-installation-guide.md (reported line 58)May include surrounding context.

md
tar -xzf aliyun-cli-macosx-latest-amd64.tgz

# Move to PATH
sudo mv aliyun /usr/local/bin/

# Verify
aliyun version

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · references/cli-installation-guide.md (reported line 71)May include surrounding context.

Extract and install

tar -xzf aliyun-cli-linux-latest-arm64.tgz sudo mv aliyun /usr/local/bin/

text

### Windows

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The guide shows non-interactive CLI commands with secrets embedded directly on the command line and then shows those secrets persisted in plaintext config. This is dangerous because command-line arguments may be captured in shell history, process listings, logs, or agent telemetry, and the persisted config becomes a high-value credential target.

Content

No source excerpt is available for this finding.

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 · references/cli-installation-guide.md (reported line 118)May include surrounding context.

md
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

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The environment variable examples present long-lived credentials without warning that environment variables can leak to child processes, debug dumps, CI logs, crash reports, and session inspection. In automation contexts, this can silently widen credential exposure across tools that were never intended to access Alibaba Cloud APIs.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The documentation uses verification, debugging, and permission examples centered on ECS and generic Alibaba Cloud service access rather than DataWorks operations. That mismatched guidance can lead users or agents to test permissions against unrelated services, broadening operational reach and encouraging credential setups with unnecessary privileges.

Content

No source excerpt is available for this finding.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
80% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · references/cli-installation-guide.md (reported line 404)May include surrounding context.

bash
# Restrict permissions
chmod 600 ~/.aliyun/config.json

Troubleshooting

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The guide encourages installing and exploring broad Alibaba Cloud plugins and commands such as ECS and FC that are outside the declared DataWorks Operations Center scope. In an agent skill, this scope expansion increases the chance the agent will assist with unrelated cloud administration tasks and can normalize use of higher-privilege credentials than the skill should require.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The manifest says the skill supports 'alert rule creation and management', which implies mutating operations such as create, update, or delete. In this command reference, the alert rule section is explicitly labeled 'read-only' and includes only list/get commands, indicating the documented behavior is narrower than the claimed capability.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.