Back to skill

Security audit

hcs-ecs-servers

Security checks across malware telemetry and agentic risk

Overview

This is a mostly coherent read-only Huawei Cloud ECS listing skill, but its automatic credential discovery is broader than necessary and should be reviewed before installation.

Install only if you are comfortable with the agent automatically looking for Huawei AK/SK credentials in environment variables and .project-info JSON files, then using them to query Huawei Cloud IAM/ECS APIs. Prefer least-privilege read-only Huawei credentials, tighten triggers to Huawei ECS-specific wording, and pin or constrain dependencies before production use.

SkillSpector

By NVIDIA
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 (10)

Lp3

Medium
Category
MCP Least Privilege
Confidence
90% confidence
Finding
The skill documentation indicates capabilities to read environment variables, read local files, and make network requests, yet no explicit permissions are declared. This creates a governance gap: the skill can access sensitive credentials from environment variables or `.project-info/` and send them over the network without a machine-enforced permission boundary, increasing the blast radius if the implementation is flawed or later modified.

Context-Inappropriate Capability

Low
Confidence
89% confidence
Finding
The skill performs broad credential discovery by recursively scanning multiple .project-info paths and iterating environment variables using loose AK/SK name matching. Even though the purpose is to authenticate to Huawei Cloud, this wider-than-necessary secret collection increases exposure of sensitive credentials and violates least-privilege expectations for a simple ECS listing action.

Vague Triggers

Medium
Confidence
74% confidence
Finding
An overly broad trigger can cause the skill to activate for generic cloud-server requests that may not be intended for Huawei ECS. Because this skill reads credentials and performs real network queries, mistaken invocation could expose cloud inventory metadata or cause unnecessary access to sensitive environments.

Vague Triggers

Medium
Confidence
81% confidence
Finding
A trigger that does not clearly distinguish Huawei ECS from other server inventory tasks raises the risk of cross-domain misrouting. In this skill's context, misrouting is more dangerous than a normal search miss because execution may consume real credentials, query external cloud APIs, and reveal infrastructure details from the wrong tenant or provider.

Missing User Warnings

Medium
Confidence
86% confidence
Finding
The code accesses sensitive credential sources automatically but does not give a clear runtime disclosure that it will inspect local project secret files and environment variables. In agent environments, hidden secret access is risky because users may not realize the skill is pulling privileged cloud credentials to perform network actions.

Missing User Warnings

Medium
Confidence
84% confidence
Finding
The skill uses discovered credentials to make outbound requests to Huawei Cloud APIs and retrieve infrastructure metadata, but it does not clearly warn at runtime that account context and cloud asset information will be transmitted externally. While the destination is the expected cloud provider, silent network transmission of privileged requests can still surprise users and increase operational risk.

Env Variable Harvesting

High
Category
Data Exfiltration
Content
ak, sk = _load_from_project_knowledge(ak, sk)

    # 2. 环境变量回退:项目知识缺失时从环境变量补充
    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
91% confidence
Finding
for k, v in os.environ.items()

Unpinned Dependencies

Low
Category
Supply Chain
Content
requests>=2.20.0
huaweicloudsdkcore>=3.1.0
Confidence
94% confidence
Finding
requests>=2.20.0

Unpinned Dependencies

Low
Category
Supply Chain
Content
requests>=2.20.0
huaweicloudsdkcore>=3.1.0
Confidence
78% confidence
Finding
huaweicloudsdkcore>=3.1.0

Known Vulnerable Dependency: requests==2.20.0 — 8 advisory(ies): 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); CVE-2026-25645 (Requests has Insecure Temp File Reuse in its extract_zipped_paths() utility func) +5 more

High
Category
Supply Chain
Confidence
98% confidence
Finding
requests==2.20.0

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

No suspicious patterns detected.