Back to skill

Security audit

huawei-cloud-config-helper

Security checks for vulnerabilities and agentic risk

Overview

The cloud queries are read-only, but the skill directs the agent to save potentially sensitive results without defining user approval, storage protections, or cleanup.

Before enabling, require approval for saving query results and define a private storage location and deletion period. Use dedicated read-only credentials, preferably temporary ones, and keep TLS verification enabled. Review and lock dependency versions before installation. All bundled files were inspected and the scanner's reference gaps were resolved; third-party dependency behavior and live cloud execution remain unverified.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (9)

Skill declares no tool scope ('permissions' or 'allowed-tools') but code capabilities were detected: env, network.

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Local caching of cloud resource results lacks a privacy warning and contradicts the no-write assurance.

Medium
Category
Output Handling
Confidence
92% confidence
Finding

The skill directs the agent to persist large cloud-resource results without specifying a protected location, restrictive permissions, or deletion policy. Inventory and configuration data can reveal sensitive infrastructure details if cached in shared, synchronized, or version-controlled locations; the read-only cloud API assurance does not protect these local copies.

Content

No source excerpt is available for this finding.

Unrestricted Tool Access

Medium
Category
Excessive Agency
Confidence
80% confidence
Finding

Skill grants unrestricted tool access without appropriate constraints. An agent with unfettered tool access can perform arbitrary actions including file modification, network requests, and code execution.

Content

Scanner excerpt · references/acceptance-criteria.md (reported line 43)May include surrounding context.

md
| # | Criterion | Verification | Status |
|---|-----------|--------------|--------|
| AC-14 | Read-only: no write API called | Grep scripts for create/update/delete API usage — none exist | ☐ |
| AC-15 | No credential leakage in output | Run any script with `--upgrade`-style failures; output contains error codes only, never AK/SK values | ☐ |
| AC-16 | Scripts executed via `skill action=exec` | SKILL.md declares the execution contract; no direct shell python invocation documented | ☐ |
| AC-17 | Exit code semantics | Success/empty → 0; failure → 1; missing args → 2 | ☐ |

Generic triggers can activate the Huawei Cloud skill for unrelated configuration or SQL requests.

Low
Category
Trigger Abuse
Confidence
91% confidence
Finding

The trigger list includes standalone terms such as "Config" and "SQL query", which commonly occur outside Huawei Cloud Config. Although the description identifies the service, it does not explicitly require that context for these triggers or exclude unrelated configuration and database requests.

Content

No source excerpt is available for this finding.

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
88% confidence
Finding

The lower-bound-only requirement allows installation of unreviewed future huaweicloudsdkcore releases, making builds non-reproducible. If a subsequently selected release is compromised, its code executes in a process with access to cloud credentials; this is a supply-chain exposure, not evidence of an existing compromise.

Content

Scanner excerpt · requirements.txt (reported line 1)May include surrounding context.

text
huaweicloudsdkcore>=3.1.208
huaweicloudsdkconfig>=3.1.208
urllib3>=2.6.3

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
88% confidence
Finding

The open-ended huaweicloudsdkconfig requirement permits future releases that have not been reviewed or tested with this skill. A compromised selected release could execute with access to the skill's cloud credentials and resource results, although no compromised release is demonstrated here.

Content

Scanner excerpt · requirements.txt (reported line 2)May include surrounding context.

text
huaweicloudsdkcore>=3.1.208
huaweicloudsdkconfig>=3.1.208
urllib3>=2.6.3

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
88% confidence
Finding

The urllib3 lower bound does not constrain installation to a reviewed artifact, so otherwise identical installations can obtain different future code. A compromised selected package would execute in the credential-bearing environment; the manifest alone does not demonstrate that any current urllib3 release is compromised.

Content

Scanner excerpt · requirements.txt (reported line 3)May include surrounding context.

text
huaweicloudsdkcore>=3.1.208
huaweicloudsdkconfig>=3.1.208
urllib3>=2.6.3

Unverifiable Dependency: urllib3 has 44 known advisory(ies) (CVE-2025-66471 (urllib3 streaming API improperly handles highly compressed data); CVE-2024-37891 (urllib3's Proxy-Authorization request header isn't stripped during cross-origin ); CVE-2026-21441 (Decompression-bomb safeguards bypassed when following HTTP redirects (streaming ) +41 more), but the manifest does not pin a version, so it is unknown whether the installed release is affected

Low
Category
Supply Chain
Confidence
40% confidence
Finding

OSV returned advisories for this package, but its resolved version is unknown. A package-name lookup does not establish whether the installed release is affected by those advisories.

Content

No source excerpt is available for this finding.

The policy-definition request forces the zh-cn locale without offering a user language choice.

Low
Category
Output Handling
Confidence
96% confidence
Finding

The request hardcodes its language setting to Simplified Chinese, with no caller parameter or user opt-in. The file provides no documented justification for requiring this locale for policy-definition responses.

Content

No source excerpt is available for this finding.