Back to skill

Security audit

huawei-cloud-flexus-l-server-manage

Security checks for vulnerabilities and agentic risk

Overview

This skill does what it says, but it manages billable cloud resources with broad permissions and disables TLS verification in sensitive API calls.

Install only if you are comfortable giving the skill credentials that can create, renew, pay for, refund, or unsubscribe Huawei Cloud resources. Use temporary least-privilege credentials, run dry-run previews first, avoid --confirm unless you have reviewed the exact action, and treat the disabled TLS verification as a security issue to fix before production use.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • 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
92% confidence
Finding
The skill describes capabilities that use environment variables, shell execution, and outbound network access, but it does not declare any explicit permissions or capability boundaries. This creates a governance gap: the agent may invoke sensitive operations without clear policy enforcement, increasing the risk of credential exposure, unintended command execution, or over-privileged runtime behavior.

Vague Triggers

Medium
Confidence
87% confidence
Finding
The description includes broad activation phrases like purchasing, renewal, and unsubscribe language that are not tightly bound to Huawei Cloud Flexus L. Overly generic triggers can cause the skill to activate for unrelated cloud, billing, or server-management requests, leading to accidental invocation of high-impact lifecycle operations.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The trigger rules explicitly list generic phrases such as 'Purchase Huawei Cloud server', 'Huawei Cloud renewal', and 'cancel subscription', which can match many unrelated requests beyond Flexus L. Because this skill performs real billing and lifecycle actions, unintended invocation materially raises the risk of destructive or costly operations being proposed or executed in the wrong context.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The API reference documents billable actions (instance creation, renewal) and destructive actions (unsubscribe) but provides no warning about financial charges, auto-payment behavior, or irreversible service cancellation. In an agent skill context, this increases the risk that an automated workflow could trigger costly purchases, enable auto-renewal, or cancel resources without the user understanding the consequences.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The document instructs users to grant billing and destructive permissions such as order payment, refund application, and instance unsubscribe, but it does not clearly warn that these actions can incur charges or irreversibly deprovision resources. In the context of a lifecycle-management skill that can create, renew, and unsubscribe servers, missing financial/destructive warnings increases the risk of unintended spending, service disruption, or accidental refunds/cancellations by users who over-trust the guide.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The guide recommends highly privileged policies such as `HCSS FullAccess` and `BSS Administrator` for routine lifecycle tasks without an explicit warning that these permissions allow broad create, renew, unsubscribe, and other potentially billing-impacting or destructive actions beyond the minimum needed. In a server-management skill, this increases the chance that operators overgrant access, enabling accidental misuse, excessive spending, or broader compromise if the credentials used by the skill are exposed.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The `renewal_resources` function can trigger billable renewals programmatically with `auto_pay=True` by default and contains no in-function confirmation, policy gate, or secondary authorization. In a skill context where higher-level callers may invoke this function directly, this creates a real risk of unintended charges or abuse even if the CLI wrapper asks for confirmation.

Known Vulnerable Dependency: requests — 10 advisory(ies): CVE-2014-1830 (Exposure of Sensitive Information to an Unauthorized Actor in Requests); CVE-2024-47081 (Requests vulnerable to .netrc credentials leak via malicious URLs); CVE-2024-35195 (Requests `Session` object does not verify requests after making first request wi) +7 more

High
Category
Supply Chain
Confidence
95% confidence
Finding
The dependency specification allows any requests version at or above 2.31.0, which can include releases affected by multiple published advisories depending on the resolver and deployment environment. In a server-management skill that likely performs authenticated API calls, flaws in HTTP handling, credential leakage, or TLS/session verification could expose cloud credentials or enable request tampering.

Known Vulnerable Dependency: pyasn1 — 10 advisory(ies): CVE-2026-23490 (pyasn1 has a DoS vulnerability in decoder); CVE-2026-59885 (pyasn1: Quadratic complexity in OBJECT IDENTIFIER and RELATIVE-OID processing al); CVE-2026-59886 (pyasn1: Uncontrolled resource consumption when converting decoded REAL values) +7 more

High
Category
Supply Chain
Confidence
83% confidence
Finding
The pyasn1 dependency is specified broadly and may resolve to versions with decoder resource-consumption issues. If this skill or its transitive dependencies parse attacker-controlled ASN.1 data, these flaws could be abused for denial of service by exhausting CPU or memory.

Known Vulnerable Dependency: pyyaml — 8 advisory(ies): CVE-2019-20477 (Deserialization of Untrusted Data in PyYAML); CVE-2020-1747 (Improper Input Validation in PyYAML); CVE-2020-14343 (Improper Input Validation in PyYAML) +5 more

Critical
Category
Supply Chain
Confidence
84% confidence
Finding
PyYAML has a long history of unsafe deserialization issues, and the dependency is not pinned to a version known to avoid the cited vulnerabilities. Even though this file only declares dependencies, including PyYAML in an automation skill raises risk because cloud-management workflows often ingest configuration files, where unsafe YAML loading can lead to code execution or malicious object construction if misused elsewhere in the skill.

Unsafe Defaults

Medium
Category
Tool Misuse
Content
full_url,
            headers=signed_request.header_params,
            data=signed_request.body,
            verify=False,
            timeout=60
        )
Confidence
98% confidence
Finding
The code disables TLS certificate verification (`verify=False`) for the instance-creation API request, and elsewhere globally suppresses insecure-request warnings. In a cloud lifecycle management skill that handles credentials and billable actions, this materially increases the risk of man-in-the-middle interception or tampering with signed requests and responses.

Static analysis

Detected: suspicious.insecure_tls_verification

HTTPS certificate verification is disabled.

Warn
Code
suspicious.insecure_tls_verification
Location
scripts/flexus_lifecycle.py:466