Back to skill

Security audit

Alibabacloud Dataworks Infra Manage

Security checks for vulnerabilities and agentic risk

Overview

The skill matches its DataWorks infrastructure purpose, but it needs Review because its setup, permissions, and examples can expose secrets or grant broader cloud authority than the task requires.

Review before installing. Use a minimally scoped RAM role, avoid the provided Full Access policy, do not enable automatic plugin installation unless you accept the supply-chain risk, verify CLI/plugin integrity through trusted vendor channels, avoid sudo/global installs where possible, and do not paste real passwords, access keys, refresh tokens, or bearer tokens into chat or shell commands. Treat HTTP, FTP, no-SSL, and anonymous examples as non-production unless explicitly approved by your security team, and confirm any PostPaid resource group creation may incur charges.

Vulnerability Patterns
  • 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
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
Findings (5)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:185
Finding

Sensitive credentials are passed through command-line arguments

Content
View full analysis
--endpoint dataworks..aliyuncs.com] --ProjectId --Name --Type --ConnectionPropertiesMode --ConnectionProperties '' --Description "" ``` ```text - **UrlMode**: `{"envType":"Prod","address":[{"host":"","port":}],"database":"","username":"","password":""}` - **InstanceMode**: `{"envType":"Prod","instanceId":"","regionId":"","database":"","username":"","password":""}` ``` ### Technical Analysis The documented workflow places database usernames and passwords directly inside the `--ConnectionProperties` command-line argument. Although quoting can prevent basic shell expansion, it does not protect the secret from operating-system process listings, shell history, terminal capture, debug output, Agent execution logs, command auditing systems, or telemetry. The Skill prohibits printing Alibaba Cloud access keys, but it does not apply equivalent protections to database passwords or access keys embedded in data-source connection properties. Redaction performed by the remote API cannot protect a secret that has already appeared in the local process invocation. ### Attack Path 1. A user asks the Agent to create a data source. 2. The Agent constructs the documented `aliyun` command using the real database password. 3. The shell or Agent runtime records the complete invocation, or another local process observes the process arguments while the command runs. 4. An attacker with access to local history, process metadata, CI logs, terminal recordings, or Agent traces extracts the password. 5. The attacker authenticates to the database o ...[truncated 516 chars]
Remediation
View remediation

T08 · Insecure Dependencies

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

Mutable Aliyun CLI binaries are installed with elevated privileges without integrity verification

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Error
Location
SKILL.md:38
Finding

Automatic installation of unpinned Aliyun CLI plugins expands the executable supply chain

Content
View full analysis
= 3.3.1**: `aliyun version` (Installation guide: [references/cli-installation-guide.md](references/cli-installation-guide.md)) 2. **First-time use**: `aliyun configure set --auto-plugin-install true` 3. **jq** (required for resource group operations): `which jq` 4. **Credential status**: `aliyun configure list`, verify valid credentials exist ``` The referenced installation guide repeats the setting: ```bash aliyun configure set --auto-plugin-install true ``` ### Technical Analysis The Skill requires users to enable automatic plugin installation as a persistent CLI configuration. Subsequent product commands can therefore cause executable components not included in the audited project to be retrieved and run automatically. The instructions do not pin plugin versions, require user approval for each plugin, identify an allowlisted repository, or verify plugin signatures or checksums. Consequently, the effective executable code can change after this Skill has been reviewed. Because plugins run in the context of a credentialed CLI session, a compromised plugin can potentially access local cloud credentials and manipulate requests or responses. ### Attack Path 1. The user enables `--auto-plugin-install` as instructed. 2. A later Aliyun product command requires a plugin that is not installed. 3. The CLI automatically retrieves the current plugin artifact without an explicit review step. 4. A compromised repository, publishing process, or plugin release supplies malicious code. 5. The plugin executes under the user's account and inherits access to local files, environment variables, and cloud configuration. 6. It can steal credentials, alter API requests, falsify output, or execute addition ...[truncated 408 chars]
Remediation
View remediation

T05 · Unauthorized Access and Privilege Escalation

Error
Location
references/ram-policies.md:72
Finding

Recommended RAM policy grants workspace membership administration outside the Skill scope

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
references/data-sources/README.md:501
Finding

Credential-bearing data-source examples use plaintext HTTP and FTP transports

Content
View full analysis
", "accessKey": "" } ``` ```json { "envType": "Prod", "regionId": "us-east-1", "endpoint": "http://s3.amazonaws.com", "bucket": "my-bucket", "accessId": "", "accessKey": "" } ``` ```json { "envType": "Prod", "protocol": "ftp", "host": "192.168.1.100", "port": "21", "username": "ftpuser", "password": "" } ``` ### Technical Analysis The examples combine reusable credentials with endpoints or protocols that do not provide transport encryption. Plain HTTP offers no confidentiality or server authentication at the transport layer, while conventional FTP transmits usernames, passwords, commands, and data without encryption. Even where an application protocol signs requests, plaintext transport can still expose metadata and transferred content and may permit downgrade, replay, or traffic-manipulation attacks depending on the service implementation. FTP credentials are directly exposed to any network observer on the path. Since these examples are presented as valid connection configurations, an Agent may reproduce them with real secrets unless explicit secure-scheme validation is added. ### Attack Path 1. A user asks the Agent to configure a DataHub, S3-compatible, or FTP data source. 2. The Agent follows the documented example and substitutes real credentials. 3. DataWorks or a connected resource group communicates with the configured service using HTTP or FTP. 4. An attacker positioned on the local network, VPC path, proxy, gateway, or upstream route observes or modifies the traffic. 5. The attacker captures credentials wher ...[truncated 629 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (55)

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/data-sources/salesforce.md (reported line 38)May include surrounding context.

md
## Notes

> Salesforce data source uses OAuth authentication. You need to complete the authorization process through the console to obtain the refreshToken. The refreshToken is long-lived and used to automatically refresh access tokens.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The trigger scope is intentionally broad and includes colloquial phrases such as generic infrastructure setup and connection-failure requests, which can cause the skill to activate for ambiguous support conversations. In this skill, activation can lead to write-capable flows for creating data sources, compute resources, resource groups, binding, and connectivity tests, so over-triggering increases the chance of unintended operational or billing-impacting actions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The resource group creation flow can provision billable cloud resources using PostPaid billing, but the skill does not present a clear user-facing cost warning immediately before creation. Even though it requires parameter confirmation, a user may not understand that the action incurs charges, making accidental spend more likely in a conversational interface.

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 20)May include surrounding context.

bash
wget https://aliyuncli.alicdn.com/aliyun-cli-macosx-latest-amd64.tgz
tar -xzf aliyun-cli-macosx-latest-amd64.tgz
sudo mv aliyun /usr/local/bin/
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 29)May include surrounding context.

bash
wget https://aliyuncli.alicdn.com/aliyun-cli-macosx-latest-amd64.tgz
tar -xzf aliyun-cli-macosx-latest-amd64.tgz
sudo mv aliyun /usr/local/bin/
aliyun version

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The document includes multiple credential-bearing examples and a full CLI invocation showing inline username and password fields without any warning about secret handling, redaction, shell history exposure, or safer alternatives. In an infrastructure-management skill, users are likely to copy these examples directly, which can lead to accidental credential leakage into terminals, logs, screenshots, version control, or agent telemetry.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documentation repeatedly shows credential-bearing configuration patterns for many data source types, including usernames/passwords and accessId/accessKey fields, but provides no consistent warning about secret handling, storage, redaction, or avoiding shell history/log exposure. In the context of an agent skill that helps users provision infrastructure and connectivity, operators may copy real credentials into commands, tickets, chats, or generated files, increasing the risk of secret leakage and downstream account compromise.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The documentation presents both plaintext HTTP Elasticsearch endpoints and an anonymous access example (authEnable: disable) without any security warning or restriction, which can normalize unsafe deployments. In an infrastructure-management skill, users may directly copy these examples into production-like configurations, increasing the risk of unauthenticated access, credential exposure in transit, and data disclosure or tampering.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The documentation includes plaintext secret-bearing fields such as password, truststorePassword, keystorePassword, accessKey, and keytab-related material without any warning about secret handling, storage, masking, or rotation. In an infrastructure-management skill, users may copy these examples into prompts, config files, logs, or version control, increasing the likelihood of credential leakage and subsequent unauthorized access.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

Multiple examples normalize insecure defaults such as securityProtocol: authTypeNone, loginMode: Anonymous, localhost metastore access, and plaintext password fields without a clear warning that these settings reduce transport and authentication protections. In the context of a DataWorks infrastructure skill that helps create real data-source connections, users may adopt these examples verbatim in production, leading to weak authentication, unencrypted connections, and easier credential interception or unauthorized access.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The Cross-Account Instance Mode property table states that authType is fixed as RamRole, but the example under that section sets authType to Executor. This is an active contradiction in the documentation that could cause users or downstream tooling to construct invalid configurations.

Content

No source excerpt is available for this finding.

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 · references/data-sources/hologres.md (reported line 38)May include surrounding context.

md
| `crossAccountOwnerId` | String | `<ACCOUNT_ID>` | Yes | The other party's primary account ID for cross-Alibaba Cloud primary account. Required for cross-account scenarios. |
| `crossAccountRoleName` | String | `holo-accross-role-name` | Yes | The role name under the other party's account in cross-account scenarios. |
| `securityProtocol` | String | `authTypeNone` | No | Whether to enable SSL transmission for datasource access. Enum values:<br>• `authTypeNone`: Do not use SSL authentication<br>• `authTypeSsl`: Use SSL authentication |
| `sslMode` | String | `require` | No | Verification requirement during SSL transmission:<br>• `null`: Indicates no verification<br>• `require`: Indicates verification |
| `envType` | String | `Dev` | Yes | `envType` indicates the datasource environment information.<br>• `Dev`: Development environment<br>• `Prod`: Production environment |

---

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documentation uses plain HTTP URLs as examples for a datasource configuration without any warning that headers and data may be transmitted without confidentiality or integrity protection. In the context of DataWorks infrastructure and datasource setup, users may copy these examples directly, leading to insecure real-world configurations that expose credentials, metadata, or traffic to interception or tampering.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The documentation includes an example Authorization bearer token in request headers while also showing HTTP-based endpoints elsewhere, but it provides no guidance on secret handling, redaction, or requiring transport security. In an infrastructure-management skill that configures external data connections, this can normalize embedding credentials in plaintext configuration and increase the chance of token exposure through insecure transport, logs, screenshots, or copied examples.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The documentation explicitly includes credential fields (accessId and accessKey) and an example showing how they are supplied, but it provides no guidance on secure handling, storage, masking, or rotation of those secrets. In an infrastructure-management skill that helps users configure live DataWorks data sources, this increases the likelihood that operators paste long-lived credentials into prompts, logs, version control, or other insecure locations.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The documentation instructs users to supply a plaintext password field and provides no warning about secret handling, redaction, or use of secure secret storage. In an infrastructure-management skill that configures real DataWorks data sources, this increases the risk that operators paste credentials directly into prompts, files, logs, or version control, leading to credential exposure and downstream compromise of connected databases.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The parameter table states that authType may take values including Executor for same-account mode, but later notes explicitly say MaxCompute does not support Executor. This is an active contradiction in the documentation and could mislead users into configuring an unsupported identity mode.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documentation includes {"useSSL": "false"} as an example driver property without any warning, which normalizes disabling transport encryption for database connections. In an infrastructure-management skill that helps users configure DataWorks data sources, this can lead to credentials and data being transmitted without TLS, enabling interception or man-in-the-middle attacks on untrusted networks.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

This markdown file documents sensitive fields such as password, truststorePassword, and keystorePassword, but provides no warning about securely storing, redacting, or avoiding accidental disclosure of credentials. Under the markdown-specific missing-warning rule, documentation that omits privacy or security cautions for sensitive connection data should be flagged.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The sample configuration shows a password field in a realistic connection example, but the surrounding documentation does not warn users that these values are secrets or advise use of secret management mechanisms. This omission could normalize embedding credentials directly in configuration files.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The cross-account example includes password, crossAccountOwnerId, and crossAccountRoleName but does not mention that these values may be sensitive or security-relevant. For markdown documentation, missing warnings about configuration that can affect access boundaries or expose privileged connection details is in scope.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The documentation explicitly includes plaintext password fields and example credential values without any guidance on secret handling, redaction, or use of a secure secret store. In an infrastructure-management skill that configures real DataWorks data sources, this increases the chance operators will paste production credentials into logs, prompts, config files, or source control, leading to credential exposure.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documentation presents AuthTypeNone and useSSL: false as normal configuration values without warning that they disable transport encryption and server authentication. For a skill used to connect DataWorks to PostgreSQL, this can enable credential theft and traffic interception via man-in-the-middle attacks, especially across untrusted or cross-account network paths.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The production-oriented JSON examples set envType to Prod while using securityProtocol: AuthTypeNone, normalizing insecure deployment patterns for live systems. In the context of a DataWorks infrastructure skill, users are likely to copy these samples directly, which can result in real production databases being configured without TLS protection.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documentation presents authTypeNone as a normal configuration and includes non-SSL examples without warning that this may send Redis authentication and data over plaintext transport. Because this skill manages real infrastructure connectivity, users may adopt the insecure default in production, increasing the risk of credential interception or session/data exposure on untrusted networks.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.