Back to skill

Security audit

Alibaba Cloud Docs + API Reviewer

Security checks for vulnerabilities and agentic risk

Overview

The skill mainly performs a public Alibaba Cloud documentation review, but it unnecessarily asks users to provide cloud credentials for a workflow that does not use them.

Install only if you are comfortable running a script that fetches Alibaba Cloud public documentation and writes local reports. Do not provide Alibaba Cloud access keys for the current version; the reviewed implementation does not need them, and the credential prerequisite should be removed or tightly scoped before routine use.

Vulnerability Patterns
  • 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
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Note
Location
SKILL.md:72
Finding
Unnecessary Provisioning of Alibaba Cloud Credentials## Vulnerability Details **File Location**: `SKILL.md`, lines 72-74 **Vulnerability Type**: Unnecessary exposure of cloud credentials to the runtime environment **Risk Level**: Low **Affected Code**: ```markdown - Configure least-privilege Alibaba Cloud credentials before execution. - Prefer environment variables: `ALICLOUD_ACCESS_KEY_ID`, `ALICLOUD_ACCESS_KEY_SECRET`, optional `ALICLOUD_REGION_ID`. - If region is unclear, ask the user before running mutating operations. ``` ### Technical Analysis The Skill instructs users to configure Alibaba Cloud credentials even though the reviewed implementation does not access these environment variables or perform authenticated operations. The script only issues unauthenticated HTTP GET requests to public Alibaba Cloud documentation and metadata endpoints through `urllib.request.urlopen`. Provisioning credentials therefore exceeds the minimum privileges required for the declared documentation-review functionality. Placing secrets in environment variables unnecessarily exposes them to the launched process and potentially to debugging tools, process inspection, crash diagnostics, child processes, or future modifications to the Skill. The current implementation does not transmit or otherwise use these credentials, and no credential-exfiltration behavior was identified. The risk arises from avoidable secret exposure rather than a demonstrated attempt to steal credentials. ### Attack Path 1. A user follows the prerequisite instructions in `SKILL.md`. 2. The user exports an Alibaba Cloud access-key ID and secret into the runtime environment. 3. The user launches the review script in that credential-bearing environment. 4. Although the current script does not read the credentials, they are unnecessarily available to the process and may be exposed through runtime inspection, diagnostics, a compromised execution environment, or future code changes. 5. If obtained by another component, ...[truncated 684 chars]
Remediation
## Remediation Suggestions 1. Remove the Alibaba Cloud credential prerequisite from `SKILL.md`. 2. Explicitly state that the current reviewer accesses public metadata and documentation endpoints and requires no cloud credentials. 3. Remove the reference to mutating operations because the implementation performs no mutations. 4. If authenticated functionality is added later, request credentials only when that functionality is invoked. 5. Use narrowly scoped, temporary credentials rather than long-lived access keys. 6. Document the exact required permissions and reject credentials with broader privileges where practical. 7. Ensure credentials are never included in generated evidence, logs, command output, URLs, or exception messages.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (7)

Lp3

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding
The skill invokes a Python script that performs network access and writes artifacts to disk, but the manifest does not declare any explicit tool scope such as allowed tools or permissions. This creates an authorization gap: an execution framework or reviewer cannot easily distinguish the intended capabilities from unexpected ones, increasing the risk of over-privileged execution or unnoticed capability expansion.

Intent-Code Divergence

Medium
Confidence
92% confidence
Finding
The prerequisites request Alibaba Cloud credentials and mention asking before mutating operations, even though the described workflow is a documentation review that should be read-only. This can normalize providing unnecessary secrets to a skill and creates ambiguity about whether the bundled script may call authenticated or state-changing APIs, increasing the chance of credential exposure or unintended cloud actions.

External Transmission

Medium
Category
Data Exfiltration
Content
from pathlib import Path
from typing import Any

OPENAPI_PRODUCTS_ZH = "https://api.aliyun.com/meta/v1/products.json?language=ZH_CN"
OPENAPI_PRODUCTS_EN = "https://api.aliyun.com/meta/v1/products.json?language=EN_US"
PRODUCT_LIST_URL = "https://www.aliyun.com/product/list"
OUTPUT_ROOT = Path("output/alicloud-platform-docs-api-review")
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
from pathlib import Path
from typing import Any

OPENAPI_PRODUCTS_ZH = "https://api.aliyun.com/meta/v1/products.json?language=ZH_CN"
OPENAPI_PRODUCTS_EN = "https://api.aliyun.com/meta/v1/products.json?language=EN_US"
PRODUCT_LIST_URL = "https://www.aliyun.com/product/list"
OUTPUT_ROOT = Path("output/alicloud-platform-docs-api-review")
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
from pathlib import Path
from typing import Any

OPENAPI_PRODUCTS_ZH = "https://api.aliyun.com/meta/v1/products.json?language=ZH_CN"
OPENAPI_PRODUCTS_EN = "https://api.aliyun.com/meta/v1/products.json?language=EN_US"
PRODUCT_LIST_URL = "https://www.aliyun.com/product/list"
OUTPUT_ROOT = Path("output/alicloud-platform-docs-api-review")
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Natural-Language Policy Violations

Medium
Confidence
97% confidence
Finding
The HTTP request sets `Accept-Language` to prefer `zh-CN` ahead of English, which forces a locale preference during fetching rather than letting the user choose. This is a natural-language locale policy concern because the script may bias retrieved content toward Chinese even when the user did not opt in to that language preference.

Natural-Language Policy Violations

Low
Confidence
90% confidence
Finding
This markdown file contains user-facing natural language content exclusively in Chinese, which may impose a language constraint on users without explicit opt-in. The policy for this category calls for flagging language or locale constraints unless the file offers a choice or clearly justifies the locale restriction.

Static analysis

No suspicious patterns detected.