Back to skill

Security audit

huawei-cloud-rds-detail

Security checks for vulnerabilities and agentic risk

Overview

This read-only Huawei Cloud RDS skill is mostly purpose-aligned, but it handles cloud credentials too broadly and disables TLS certificate verification for authenticated API calls.

Review before installing. Use only a dedicated least-privilege Huawei Cloud IAM user, avoid running it in environments containing unrelated Huawei/HW/HWC secrets, and do not use it until TLS certificate verification is enabled. Treat returned instance IDs, network details, and monitoring data as sensitive infrastructure information.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (11)

Lp3

Medium
Category
MCP Least Privilege
Confidence
88% confidence
Finding
The skill explicitly relies on sensitive environment variables for cloud credentials, but the metadata does not declare corresponding permissions or capability requirements. This creates a transparency and policy-enforcement gap: platforms or reviewers may not realize the skill can access cloud secrets, increasing the risk of unauthorized credential use or deployment in contexts where secret access should be blocked.

Context-Inappropriate Capability

Medium
Confidence
94% confidence
Finding
The helper enumerates all environment variables and heuristically selects anything resembling Huawei credentials, which exceeds the least-privilege needs of a read-only RDS query tool. Broad environment scanning increases access to unrelated secrets present in the process environment and creates unnecessary exposure if the code is reused, logged, extended, or compromised later.

Vague Triggers

Medium
Confidence
80% confidence
Finding
An overly broad trigger can cause the skill to activate for vague requests like general 'RDS查询', increasing the chance that users unintentionally invoke a cloud-data access workflow. In a skill that reads account inventory and instance monitoring data using real credentials, accidental invocation can expose infrastructure metadata to unauthorized viewers in shared-agent or misrouted-request environments.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The script silently inspects environment variables for access keys and secrets without any user-facing disclosure, so operators may not realize the skill reads sensitive credential material from the runtime environment. In an agent-skill context, hidden secret access is risky because users may invoke a seemingly simple read-only query while unintentionally granting visibility into a much broader secret set.

Missing User Warnings

Medium
Confidence
82% confidence
Finding
The skill sends instance/account-scoped data to Huawei Cloud endpoints, which is expected for its functionality, but it does so without clear user-facing notice about outbound transmission. In isolation this is normal cloud-client behavior, yet in an agent setting lack of transparency can cause users to expose infrastructure metadata and identifiers without informed consent.

Missing User Warnings

Medium
Confidence
83% confidence
Finding
The verification steps require real Huawei Cloud AK/SK credentials and instruct the operator to query live RDS instance details and monitoring data, which are potentially sensitive cloud assets and telemetry. Although the skill is described as read-only, the document provides no warning about handling production credentials, minimizing scope, or avoiding exposure of returned data in logs/screenshots, increasing the chance of unintended disclosure during testing.

Env Variable Harvesting

High
Category
Data Exfiltration
Content
def _load_credentials() -> Tuple[str, str]:
    """动态扫描环境变量获取 AK/SK,不依赖固定变量名。"""
    ak, sk = '', ''
    for k, v in os.environ.items():
        u = k.upper()
        if not (u.startswith('HUAWEI') or u.startswith('HW') or u.startswith('HWC')):
            continue
Confidence
97% confidence
Finding
Iterating through os.environ to harvest possible AK/SK values is a classic secret-discovery pattern. Even though the current code only uses the credentials for Huawei SDK authentication, the harvesting behavior is broader than necessary and creates a dangerous primitive for collecting sensitive secrets from the execution environment.

Unpinned Dependencies

Low
Category
Supply Chain
Content
huaweicloudsdkrds>=3.1.212
huaweicloudsdkces>=3.1.212
huaweicloudsdkiam>=3.1.212
huaweicloudsdkcore>=3.1.212
Confidence
92% confidence
Finding
The dependency is specified with a lower-bound version only, which allows future unreviewed versions to be installed. This can introduce supply-chain risk, unexpected breaking changes, or vulnerable upstream releases into the skill without any code change in the repository.

Unpinned Dependencies

Low
Category
Supply Chain
Content
huaweicloudsdkrds>=3.1.212
huaweicloudsdkces>=3.1.212
huaweicloudsdkiam>=3.1.212
huaweicloudsdkcore>=3.1.212
Confidence
92% confidence
Finding
The dependency is specified with a lower-bound version only, which allows future unreviewed versions to be installed. This can introduce supply-chain risk, unexpected breaking changes, or vulnerable upstream releases into the skill without any code change in the repository.

Unpinned Dependencies

Low
Category
Supply Chain
Content
huaweicloudsdkrds>=3.1.212
huaweicloudsdkces>=3.1.212
huaweicloudsdkiam>=3.1.212
huaweicloudsdkcore>=3.1.212
Confidence
92% confidence
Finding
The dependency is specified with a lower-bound version only, which allows future unreviewed versions to be installed. This can introduce supply-chain risk, unexpected breaking changes, or vulnerable upstream releases into the skill without any code change in the repository.

Unpinned Dependencies

Low
Category
Supply Chain
Content
huaweicloudsdkrds>=3.1.212
huaweicloudsdkces>=3.1.212
huaweicloudsdkiam>=3.1.212
huaweicloudsdkcore>=3.1.212
Confidence
92% confidence
Finding
The dependency is specified with a lower-bound version only, which allows future unreviewed versions to be installed. This can introduce supply-chain risk, unexpected breaking changes, or vulnerable upstream releases into the skill without any code change in the repository.

Static analysis

No suspicious patterns detected.