Back to skill

Security audit

Goto Cloudserver Manager

Security checks for vulnerabilities and agentic risk

Overview

This skill fits its cloud-operations purpose, but it handles powerful credentials and privileged server changes with unsafe validation and transport safeguards.

Review carefully before installing, especially for production accounts. Use least-privilege temporary cloud credentials, avoid pasting long-lived secrets into chat, keep credentials out of repositories and logs, and do not run mutation actions until command/SQL parameter validation, local-execution fallback, transport verification, and installer integrity checks are fixed.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (7)

T09 · Insecure Skill Coding Practices

Error
Location
core/dispatcher.py:375
Finding

OS Command Injection Through Unvalidated Action Parameters

Content
View full analysis
ActionResult: service = params.get("service", "") if server.os_type == "windows": cmd = f"Restart-Service -Name '{service}' -Force" else: cmd = f"systemctl restart {service}" result = executor.execute(cmd) return ActionResult( success=result.exit_code == 0, action="restart_service", server_id=server.id, output=result.stdout, ) ``` The same unsafe command-construction pattern is used for backup destinations, restore sources, database names, firewall ports, source CIDRs, and the WinRM port: ```python cmd = f"bash '{remote_script}' {db_name} {dest}" cmd = f"bash '{remote_script}' {db_name} {source}" cmd = f"bash '{remote_script}' '{ports_csv}' '{source_cidr}'" cmd = f"powershell -ExecutionPolicy Bypass -File '{remote_script}' -Port {port}" ``` ### Technical Analysis Values from the action `params` dictionary are directly interpolated into shell or PowerShell command strings. No strict type validation, allowlist, or context-appropriate escaping is applied before the resulting command is passed to an executor. Confirmation does not neutralize this vulnerability. It only determines whether an action may proceed; it does not ensure that individual parameters are safe. If an attacker can influence an action request or convince a user to confirm a misleading plan, shell metacharacters in a parameter are interpreted by the target command shell. For example, on Linux, a service parameter such as: ```text mysql; id; uname -a ``` produces: ```bash systemctl restart mysql; id; uname -a ``` Windows parameters enclosed in single quotes are ...[truncated 1300 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
core/dispatcher.py:215
Finding

Unsafe Local Shell Execution as an Implicit Connection Fallback

Content
View full analysis
None: self._shell = shell def execute(self, command: str, timeout: int = 60) -> ExecutionResult: logger.debug("local_execute", command=command[:80]) try: result = subprocess.run( command, shell=self._shell, capture_output=True, text=True, timeout=timeout, encoding="utf-8", errors="replace", ) ``` ### Technical Analysis `ConnectionConfig.type` and `fallback` are not restricted to supported values. If neither value matches a known remote executor, `_get_executor` silently returns `LocalExecutor`. This is a dangerous fail-open condition: an operation intended for a managed cloud server can instead execute on the machine hosting the Skill. `LocalExecutor` compounds the issue by using `subprocess.run(..., shell=True)`, causing shell metacharacters in dispatcher-generated commands to be interpreted locally. The fallback is not limited to a dedicated test mode and does not require an explicit local-execution ...[truncated 1041 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
core/schema_compiler.py:119
Finding

SQL Injection Through Unescaped Schema Identifiers, Comments, and Defaults

Content
View full analysis
str: if db_type == "sqlserver": return f"[{name}]" elif db_type == "mysql": return f"`{name}`" else: # postgresql return f'"{name}"' ``` Database, table, index, and comment values are also embedded directly: ```python if db_type == "sqlserver": return ( f"IF NOT EXISTS (SELECT name FROM sys.databases WHERE name = N'{schema.database}')\n" f"BEGIN\n" f" CREATE DATABASE [{schema.database}];\n" f"END\nGO" ) elif db_type == "mysql": return ( f"CREATE DATABASE IF NOT EXISTS `{schema.database}`\n" f" CHARACTER SET {schema.charset} COLLATE {schema.charset}_unicode_ci;" ) ``` ```python default_clause = f"DEFAULT {f.default}" if f.default is not None else "" ``` ```python comment_clause = f" COMMENT='{table.comment}'" if table.comment else "" ``` ### Technical Analysis The compiler attempts to quote identifiers but does not escape closing delimiter characters: - SQL Server identifiers can contain `]`. - MySQL identifiers can contain a backtick. - PostgreSQL identifiers can contain `"`. - String contexts are not consistently escaped. - Field defaults are inserted as raw SQL expressions. - MySQL character-set names are directly interpolated. Consequently, attacker-controlled schema data can terminate the intended identifier or literal and append additional SQL. The generated statements are then executed through administrative command-line clients. For example, a malicious MySQL table name containing a backtick can escape the identifier context. A crafted default value can inject arbitrary SQL directly because no quoti ...[truncated 1188 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
executor/ssh_executor.py:43
Finding

SSH Connections Automatically Trust Unknown Host Keys

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
executor/winrm_executor.py:41
Finding

WinRM TLS Certificate Validation Is Disabled

Content
View full analysis
Remediation
View remediation

T03 · Remote Payload Retrieval and Execution

Error
Location
os_adapters/linux/install_node_exporter.sh:18
Finding

Node Exporter Binary Is Downloaded and Installed Without Integrity Verification

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
os_adapters/linux/install_mysql.sh:76
Finding

MySQL Root Password Is Exposed Through Process Arguments and Command Output

Content
View full analysis
/dev/null || true fi mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" << 'SQL' DELETE FROM mysql.user WHERE User=''; DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1'); DROP DATABASE IF EXISTS test; DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'; FLUSH PRIVILEGES; SQL log "MySQL root password has been set" log "MySQL installation completed, service: $SERVICE" echo "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}" ``` ### Technical Analysis The script passes both the temporary password and the final root password through command-line arguments using `-pPASSWORD`. Depending on operating-system and process-isolation settings, command-line arguments may be visible to other local users through process inspection. The final line prints the root password to standard output. The dispatcher returns script output in `ActionResult.output`, meaning the credential can propagate into API responses, chat transcripts, orchestration logs, audit logs, monitoring systems, or test artifacts. In addition, the root password is directly embedded into SQL without escaping. A caller-supplied password containing SQL delimiter characters can break the intended `ALTER USER` statement. ### Attack Path 1. The database installation action generates or receives a root password. 2. The scri ...[truncated 1031 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (225)

Ssd 3

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The README explicitly instructs users to paste cloud AccessKey/Secret material directly into the chat so the assistant can persist it into a local .env file. This creates a high-risk secret handling path: credentials may be exposed in chat transcripts, logs, prompt history, screenshots, or unintended downstream tooling, and the skill is for infrastructure administration so those secrets likely grant broad control over production systems.

Content

No source excerpt is available for this finding.

Credential Access

High
Category
Privilege Escalation
Confidence
93% confidence
Finding

Persisting cloud credentials in a local .env file is dangerous unless strong safeguards are enforced, because .env files are frequently readable by local users, accidentally committed to source control, included in backups, or harvested by malware. In the context of a multi-cloud ops skill, compromise of these credentials could enable unauthorized instance access, remote command execution, data exposure, or destructive infrastructure changes.

Content

Scanner excerpt · README.md (reported line 46)May include surrounding context.

OpenClaw 会自动将凭证写入 .env 文件,并提示:

text
✅ 阿里云凭证已保存。
   - 凭证存储在本地 .env 文件,不会上传
   - 建议在阿里云控制台为此 AK 配置最小权限(ECS 只读 + 云助手执行)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
91% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
90% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
90% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
93% confidence
Finding

Security-group rule management and public exposure validation are security-sensitive because they directly govern who can reach managed services. In a cloud O&M skill, this capability increases risk substantially, since misconfiguration can expose admin interfaces or databases across environments.

Content

No source excerpt is available for this finding.