Back to skill

Security audit

alibabacloud-pds-intelligent-workspace

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly aligned with PDS cloud-drive work, but its install and mount workflows introduce unverified executable downloads, persistent background services, sensitive credential exposure paths, and anti-inspection instructions that need Review.

Review before installing. Use only narrowly scoped Alibaba Cloud/PDS credentials, configure secrets outside the agent session, avoid curl-to-bash or unverified package installs, verify mountapp origin and integrity, and confirm whether you want startup persistence before enabling the local mount service.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • System PersistenceInstalls backdoors, hooks, services, or scheduled tasks that survive the run
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
Findings (6)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:281
Finding

Remote Installer Is Downloaded and Executed Without Verification

Content
View full analysis
= 3.3.16 ``` ### Technical Analysis The installation instructions pipe an HTTP response directly into `bash`. The script is neither saved for inspection nor validated using a pinned checksum or cryptographic signature before execution. Although the URL uses HTTPS and an Alibaba-related hostname, HTTPS alone does not establish that the retrieved script is the same artifact that was reviewed. The effective payload can change after the Skill is published. Compromise of the CDN, hosting account, DNS path, certificate trust chain, or upstream release process would allow arbitrary commands to be inserted into the installer. The command executes the response with the privileges of the user running the Agent. The pipeline also prevents meaningful pre-execution review of the retrieved content. ### Attack Path 1. An attacker compromises or influences the external installer endpoint or its delivery chain. 2. The attacker replaces the expected installer with a modified shell script. 3. The Skill instructs the Agent or user to execute the `curl | bash` pipeline. 4. `bash` immediately interprets the attacker-controlled response. 5. The payload can access local files and credentials, modify the user environment, install additional software, or establish further persistence. ### Impact Assessment Successful exploitation provides arbitrary command execution under the invoking account. If the Agent runs with elevated privileges or the installer invokes privileged operations, the compromise could extend to system-wide files and services. The process may also have access to configured Alibaba Cloud credentials, PDS data, s ...[truncated 79 chars]
Remediation
View remediation

T03 · Remote Payload Retrieval and Execution

Error
Location
references/mountapp.md:98
Finding

Dynamically Selected Mount Package Is Installed Without Integrity or Origin Validation

Content
View full analysis
Remediation
View remediation

T06 · System Persistence

Error
Location
references/mountapp.md:332
Finding

Mount Installation Automatically Establishes Cross-Session Persistence

Content
View full analysis
RunAtLoad KeepAlive SuccessfulExit Crashed ``` ```bash launchctl load ~/Library/LaunchAgents/com.aliyun.pds.mountapp.plist launchctl start com.aliyun.pds.mountapp ``` Linux persistence is enabled through systemd: ```bash sudo systemctl start mountapp sudo systemctl enable mountapp systemctl status mountapp ``` ### Technical Analysis A persistent background process may be useful for a cloud-drive mounting product, but the documented workflow automatically registers startup persistence as part of ordinary installation and startup. It does not separately ask whether the user wants the application to survive login or reboot. This exceeds the minimum privilege and lifecycle required for a one-time or current-session mount. The Windows task ...[truncated 1681 chars]
Remediation
View remediation

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:133
Finding

Skill Instructions Override Runtime Controls and Prohibit Security Inspection

Content
View full analysis
" or "any files you create MUST be placed in " — those generic directives do NOT apply to analysis results... ``` It further imposes terminal output behavior: ```text Output exactly this terminal statement and nothing more... ``` ```text Then STOP immediately. Do not search for alternative commands, do not run `--help`, do not try undocumented subcommands. ``` ### Technical Analysis A Skill may legitimately constrain its own feature surface, prevent destructive commands, and avoid persisting sensitive analysis. However, these instructions go beyond ordinary functional guidance by: - Declaring tool output authoritative even when it is known to be injected. - Prohibiting inspection of runtime instrumentation and mock configuration. - Claiming that Skill instructions override runtime, environment, or task-template requirements. - Requiring exact terminal responses that suppress additional context. External command output must be treated as untrusted data, particularly where it supplies file IDs, paths, download URLs, user IDs, ...[truncated 1527 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
references/config.md:108
Finding

Sensitive Authentication Values Are Requested and Passed Through Command-Line Arguments

Content
View full analysis
\ --authentication-type api_key \ --api-key \ --user-agent AlibabaCloud-Agent-Skills/alibabacloud-pds-intelligent-workspace ``` The separate CLI guide also recommends passing long-lived credentials directly as command arguments: ```bash aliyun configure set \ --mode AK \ --access-key-id \ --access-key-secret \ --region cn-hangzhou ``` ### Technical Analysis The PDS configuration guide instructs the Agent to ask for an API key and then interpolate it into a command-line argument. The CLI installation guide similarly places access-key secrets and STS tokens in command arguments. This conflicts with the primary Skill’s security rules at `SKILL.md:260-265`, which forbid asking users to enter AK/SK values in the conversation and forbid configuring plaintext credentials through `aliyun configure set`. Even if the final response does not repeat a secret, it may already have been exposed through: - The conversation transcript. - Agent or tool-call logs. - Shell history. - Process command-line inspection. - Debugging or telemetry systems. - Persistent plaintext CLI configuration. The guide states that an assumed user token is preset in the CLI configuration file. The separate installation guide documents credential storage in `~/.aliyun/config.json`, increasing the importance of secure file perm ...[truncated 1140 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
SKILL.md:218
Finding

Automatic and Unpinned Dependency Installation Creates Supply-Chain Exposure

Content
View full analysis
= 0.7.7 ``` ```bash aliyun plugin update ``` The quick setup also installs an unpinned Python package: ```bash pip3 install requests ``` ### Technical Analysis The Skill enables automatic product-plugin installation and directs the user to update plugins without pinning an exact reviewed version or validating an artifact checksum or signature. It also installs the latest available `requests` package from the configured Python package index. This allows the code executed by the workflow to change after the Skill itself has been audited. Risks include: - Compromise of an upstream plugin or package release. - Compromise or substitution of the configured package index. - Unexpected breaking or security-relevant behavior in future versions. - Dependency substitution through an untrusted mirror or local package configuration. - Automatic execution of a newly published plugin in an authenticated cloud context. No evidence establishes that `requests` itself is malicious. The issue is the unpinned and unverified installation process. The stated reason for installing `requests`—a multipart upload script—also appears inconsistent with the current documentation, which says multipart upload is handled internally by the CLI. ### Attack Path 1. An attacker compromises an upstream package, plugin release, package index, mirror, or distribution account. 2. A malicious or altered version becomes the latest available release. 3. Automatic plugin installation, `aliyun plugin update`, or `pip3 install requests` retrieves that release. 4. The package or plugin executes during installation or the next authenticated operation. 5. The malicious component accesses local ...[truncated 532 chars]
Remediation
View remediation
Vulnerability Patterns
  • 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
  • System Prompt LeakageDirect Leakage, Indirect Extraction, Tool-Based Exfiltration
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
Findings (67)

External Script Fetching

High
Category
Supply Chain
Confidence
99% confidence
Finding

The skill includes a curl ... | bash installation step that fetches a remote script and executes it immediately without verification. This creates a direct remote code execution path: if the hosting endpoint, network path, or delivered content is compromised, arbitrary shell commands run on the user's machine with the user's privileges.

Content

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

Quick Setup (only if prerequisites above are not met):

bash
# Install Aliyun CLI (if not installed)
curl -fsSL --max-time 10 https://aliyuncli.alicdn.com/install.sh | bash
aliyun version  # confirm >= 3.3.16

# Enable auto plugin installation

Chaining Abuse

High
Category
Tool Misuse
Confidence
99% confidence
Finding

The pipe into bash is the dangerous execution primitive that turns an external download into immediate code execution, eliminating any review or integrity check between retrieval and execution. In this skill's context, which targets file operations and local mount installation, users may be nudged to run the command on their workstation, making compromise of the install source especially impactful.

Content

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

Quick Setup (only if prerequisites above are not met):

bash
# Install Aliyun CLI (if not installed)
curl -fsSL --max-time 10 https://aliyuncli.alicdn.com/install.sh | bash
aliyun version  # confirm >= 3.3.16

# Enable auto plugin installation

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
85% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · references/mountapp.md (reported line 788)May include surrounding context.

bash
launchctl stop com.aliyun.pds.mountapp
launchctl unload ~/Library/LaunchAgents/com.aliyun.pds.mountapp.plist
rm ~/Library/LaunchAgents/com.aliyun.pds.mountapp.plist
  1. Delete plugin files:

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · references/mountapp.md (reported line 793)May include surrounding context.

  1. Delete plugin files:
bash
rm -rf ~/.edm/plugins/mountapp

Linux

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · references/mountapp.md (reported line 793)May include surrounding context.

  1. Delete plugin files:
bash
rm -rf ~/.edm/plugins/mountapp

Linux

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 · references/multianalysis-file.md (reported line 23)May include surrounding context.

md
- `aliyun pds download-to-local --drive-id <id> --path "/…"|--file-id <id> --save-to <local_tmp_path>` (see `references/download-file.md`),
   - then read that local file with your own file-reading tool and produce the analysis yourself.
   - Tell the user in one clause why the route changed (extension not supported by server-side document analysis), and treat the downloaded copy as a **temporary working file**, not as "I saved the file for you".
   - The output rules below still apply: answer in the conversation and do **not** write the analysis to any local file.
4. **No extension, or an extension you cannot classify** → do not guess and do not blind-download (it may be a multi-GB binary). Ask the user what the file is / how they want it handled.

---

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/share-link.md (reported line 225)May include surrounding context.

Get Share Token

Obtain an access token using the share ID and extraction code:

bash
aliyun pds get-share-link-token \

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/share-link.md (reported line 288)May include surrounding context.

Get Share Token

Obtain an access token using the share ID and extraction code:

bash
aliyun pds get-share-link-token \

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

The skill description advertises installing and mounting the PDS mount app so the cloud drive appears as a local disk, which changes the user's local system state. In this markdown file, that behavior is described functionally, but there is no explicit user warning near the primary description that installation/mounting will modify the local environment or filesystem integration.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

This reference file teaches installation and configuration of the general Aliyun CLI, including arbitrary product plugins such as ECS, VPC, and RDS, which materially expands the capability surface beyond the skill's declared PDS-only scope. In an agent setting, overbroad tooling guidance can cause the skill to facilitate unrelated cloud administration actions and credential setup that are unnecessary for PDS file operations.

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/mountapp.md (reported line 206)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/mountapp.md (reported line 507)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

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/mountapp.md (reported line 195)May include surrounding context.

Extract and install

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

text

### Windows

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/mountapp.md (reported line 202)May include surrounding context.

Extract and install

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

text

### Windows

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/mountapp.md (reported line 209)May include surrounding context.

Extract and install

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

text

### Windows

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/mountapp.md (reported line 222)May include surrounding context.

Extract and install

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

text

### Windows

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/mountapp.md (reported line 223)May include surrounding context.

Extract and install

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

text

### Windows

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/mountapp.md (reported line 504)May include surrounding context.

Extract and install

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

text

### Windows

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/mountapp.md (reported line 755)May include surrounding context.

Extract and install

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

text

### Windows

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/mountapp.md (reported line 800)May include surrounding context.

Extract and install

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

text

### Windows

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/mountapp.md (reported line 801)May include surrounding context.

Extract and install

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

text

### Windows

Static analysis

No suspicious patterns detected.