Back to skill

Security audit

huawei-cloud-ecs-query

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed Huawei Cloud ECS read-only query helper, with expected credential and network use for that purpose.

Install this only if you intend to query Huawei Cloud ECS resources. Use a least-privilege IAM user with ECS ReadOnlyAccess, protect the config file containing AK/SK or password values, avoid committing it to version control, and prefer the documented read-only commands. Review the optional hcloud installer before running it.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (13)

Lp3

Medium
Category
MCP Least Privilege
Confidence
88% confidence
Finding
The skill instructs the agent to read local credential/config files and make outbound network requests to Huawei Cloud APIs, but it does not declare any explicit tool scope such as allowed-tools or permissions. This creates an authorization gap where the runtime may permit broader file and network access than users or platform policy expect, increasing the risk of unintended credential exposure or network access outside the intended ECS read-only workflow.

Natural-Language Policy Violations

Medium
Confidence
91% confidence
Finding
The acceptance criteria require `server-status` to return status information '及中文说明', which imposes a specific language requirement in the skill behavior. The file does not indicate any user opt-in, language selection mechanism, or region-specific justification for forcing Chinese output.

Natural-Language Policy Violations

Medium
Confidence
90% confidence
Finding
The file's instructional content is entirely in Chinese, and there is no indication that the skill is region-specific in a way that justifies requiring that language, nor any opt-in or alternative language support. This can violate language/locale policy expectations when users are not given a choice.

Natural-Language Policy Violations

Medium
Confidence
88% confidence
Finding
The file is written entirely in Chinese and includes expected command feedback in Chinese, such as the required error message at L35 and Chinese status descriptions at L46. Under the policy, forcing a specific language without user opt-in can be a natural-language policy violation unless the locale restriction is explicitly justified, which is not stated here.

External Transmission

Medium
Category
Data Exfiltration
Content
}
        }

        resp = requests.post(
            url,
            json=body,
            headers={"Content-Type": "application/json"},
Confidence
80% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
This code sends username and password data to a remote IAM endpoint via an HTTP POST, but there is no user-facing confirmation, logging, or warning around the transmission of sensitive credentials. The surrounding docstrings describe authentication generally, but do not disclose that raw credentials are sent over the network at token acquisition time.

Natural-Language Policy Violations

Medium
Confidence
91% confidence
Finding
This code file contains natural-language strings and docstrings entirely in Chinese, including the main description and CLI help text. Under the policy criteria, forcing a specific language without offering a language choice or documenting a justified locale constraint is a natural-language policy violation.

Natural-Language Policy Violations

Medium
Confidence
93% confidence
Finding
This Python file contains user-facing docstrings and output strings entirely in Chinese, including status labels and formatted results. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is clearly documented and justified, which is not present here.

Natural-Language Policy Violations

Low
Confidence
72% confidence
Finding
SQP-3 适用于所有文件类型。该文件全文为中文,未见提供用户语言选项,也未说明这是面向特定中文受众或区域要求的限定文档,可能构成语言/locale 方面的自然语言策略问题。

Missing User Warnings

Low
Confidence
81% confidence
Finding
这是一个 markdown 文件,适用 SQP-2。该段展示了包含 `username` 和 `password` 字段的认证示例,但文档未附带任何用户提示,说明应使用占位符、避免将真实密码写入示例、日志或共享脚本中;这涉及凭据与隐私安全。

Natural-Language Policy Violations

Low
Confidence
89% confidence
Finding
The markdown instructions and safety guidance are presented exclusively in Chinese, which effectively forces a specific language for users. The policy allows locale constraints only when the skill offers user choice or clearly documents a justified regional/language limitation, which is not stated here.

Natural-Language Policy Violations

Low
Confidence
92% confidence
Finding
This markdown file presents all operational guidance in Chinese and does not offer an alternative language or indicate that the locale restriction is optional. Under the policy for natural-language violations, forcing a specific language without user opt-in should be flagged unless the locale constraint is clearly documented and justified.

Natural-Language Policy Violations

Low
Confidence
92% confidence
Finding
The module docstring and other user-visible strings are written only in Chinese, which imposes a specific language choice without offering any opt-in or alternative. Under the policy, language constraints should be optional or explicitly justified rather than implicitly forced.

Static analysis

No suspicious patterns detected.