Trust Assessment
esxi received a trust score of 10/100, placing it in the Untrusted category. This skill has significant security findings that require attention before use in production.
SkillShield's automated analysis identified 6 findings: 4 critical, 2 high, 0 medium, and 0 low severity. Key findings include File read + network send exfiltration, Sensitive path access: SSH key/config, Local Command Injection via unquoted SSH user/host.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. The Manifest Analysis layer scored lowest at 40/100, indicating areas for improvement.
Last analyzed on February 13, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings6
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | File read + network send exfiltration SSH key/config file access Remove access to sensitive files not required by the skill's stated purpose. SSH keys, cloud credentials, and browser data should never be read by skills unless explicitly part of their declared functionality. | Manifest | skills/dlewis7444/esxi/SKILL.md:173 | |
| CRITICAL | File read + network send exfiltration SSH key/config file access Remove access to sensitive files not required by the skill's stated purpose. SSH keys, cloud credentials, and browser data should never be read by skills unless explicitly part of their declared functionality. | Manifest | skills/dlewis7444/esxi/SKILL.md:178 | |
| CRITICAL | Local Command Injection via unquoted SSH user/host The `ESXI_USER` and `ESXI_HOST` variables are directly interpolated into the `ssh` command string (`"${ESXI_USER}@${ESXI_HOST}"`) without proper escaping. An attacker can inject shell metacharacters into these variables (e.g., via environment variables or skill arguments) to execute arbitrary commands on the local machine running the skill. Modify the `ssh` command structure to separate the username and hostname arguments, for example, `ssh -l "$ESXI_USER" "$ESXI_HOST" "remote command"`. Additionally, implement strict input validation (e.g., regex) for `ESXI_USER` and `ESXI_HOST` to ensure they only contain safe characters. | LLM | scripts/host-info.sh, scripts/vm-control.sh, scripts/vm-create.sh:15 | |
| CRITICAL | Remote Command Injection via unquoted arguments on ESXi host Multiple user-supplied variables (`VMNAME`, `VM_NAME`, `DATASTORE`, `DISK_GB`) are directly interpolated into remote shell commands executed on the ESXi host without proper quoting or escaping. This allows an attacker to inject shell metacharacters into these variables, leading to arbitrary command execution on the remote ESXi server. This affects VM operations, directory creation, disk creation, VMX file writing, and VM registration. All user-supplied arguments passed to the remote shell must be properly quoted and escaped. For shell commands, `printf %q` can be used to escape arguments (e.g., `$(printf %q "$VMNAME")`). For numeric inputs like `DISK_GB`, strictly validate them as integers. For path components, ensure each part is individually quoted or validated. | LLM | scripts/vm-control.sh, scripts/vm-create.sh:25 | |
| HIGH | Sensitive path access: SSH key/config Access to SSH key/config path detected: '~/.ssh/config'. This may indicate credential theft. Verify that access to this sensitive path is justified and declared. | Static | skills/dlewis7444/esxi/SKILL.md:173 | |
| HIGH | Sensitive path access: SSH key/config Access to SSH key/config path detected: '~/.ssh/id_rsa'. This may indicate credential theft. Verify that access to this sensitive path is justified and declared. | Static | skills/dlewis7444/esxi/SKILL.md:178 |
Scan History
Embed Code
[](https://skillshield.io/report/8ae94c8f1bebd55b)
Powered by SkillShield