Proxmox Create Vm

WarnAudited by ClawScan on May 18, 2026.

Overview

The skill’s Proxmox automation purpose is clear, but its root-SSH scripts pass user inputs into shell commands without strong validation or escaping.

Install only if you are comfortable giving the agent root-level Proxmox control. Review generated commands before execution, avoid untrusted names or package arguments, use limited credentials where possible, and pin or verify downloaded binaries.

Findings (5)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A malformed VM/container name or other argument could cause unintended commands or changes on the Proxmox host.

Why it was flagged

The container name is taken from script input and inserted into a remote Proxmox shell command without validation or shell escaping. Similar patterns appear for other arguments in the scripts. Because the remote command is run over SSH against Proxmox, unsafe input could alter the command that is executed.

Skill content
NAME="${2:?Usage: $0 <proxmox-host> <name> [cores] [ram-mb] [disk-gb]}"
...
ssh "$HOST" "pct create $CTID local:vztmpl/$TEMPLATE \
  --hostname $NAME \
Recommendation

Validate IDs, hostnames, package names, and resource sizes against strict allowlists; properly shell-escape remote arguments; and require explicit user confirmation before running generated Proxmox commands.

What this means

If invoked with the wrong parameters or influenced by bad instructions, the skill can create, modify, stop, or destroy infrastructure with root-level authority.

Why it was flagged

Root SSH access is expected for this kind of Proxmox automation, but it gives the agent broad authority over the virtualization host and its guests.

Skill content
## Requirements

- SSH access to a Proxmox VE host (root)
Recommendation

Use a dedicated SSH key or account with the narrowest feasible Proxmox permissions, and review commands before execution.

What this means

A VM login password may be retained in logs or transcripts.

Why it was flagged

The VM password is accepted as a command-line argument and printed back in script output. This is understandable for returning access details, but it can expose the password in terminal, process, or agent logs.

Skill content
PASSWORD="${3:?Usage: $0 <proxmox-host> <name> <password> [cores] [ram-mb] [disk-gb]}"
...
echo "User: deploy / $PASSWORD"
Recommendation

Prefer SSH keys or one-time generated passwords, avoid reusing credentials, and rotate the password after first login.

What this means

The installed Compose binary could change unexpectedly or be unsafe if the upstream download path is compromised.

Why it was flagged

The script downloads a moving 'latest' Docker Compose binary and makes it executable without pinning a version or verifying a checksum/signature. This is purpose-aligned setup behavior, but it increases supply-chain risk.

Skill content
curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose
  chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
Recommendation

Pin a specific Docker Compose version and verify the published checksum or signature before installing.

What this means

A wrong ID could permanently delete the wrong Proxmox guest and its data.

Why it was flagged

The teardown helper can permanently stop and purge a selected container or VM. This is a disclosed cleanup capability, but there is no built-in confirmation or target-name verification.

Skill content
ssh "$HOST" "pct stop $ID 2>/dev/null; pct destroy $ID --purge"
...
ssh "$HOST" "qm stop $ID 2>/dev/null; qm destroy $ID --purge"
Recommendation

Confirm the VM/container name and ID before teardown, add an interactive confirmation, and consider requiring a matching name or label before destructive actions.