Hyperv Create Vm

Security checks across static analysis, malware telemetry, and agentic risk

Overview

The skill mostly matches its VM-creation purpose, but it asks for high-privilege Hyper-V execution while key PowerShell scripts are missing from the package and its password-handling script contradicts its own safety claim.

Use this only on a test or intended Hyper-V host, and do not run any missing or externally obtained PowerShell scripts as administrator. Review the commands before execution, use a throwaway VM password until the password hashing code is fixed, restrict VM names to simple safe characters, and consider adding checksum verification for downloaded binaries.

Static analysis

No static analysis findings were reported for this release.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Risk analysis

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.

#
ASI04: Agentic Supply Chain Vulnerabilities
Medium
What this means

You may be led to run missing or externally sourced administrator PowerShell code on the Hyper-V host.

Why it was flagged

The skill tells the user/agent to copy and run privileged PowerShell helpers, but the supplied manifest does not include create-vm.ps1, destroy-vm.ps1, or find-vm-ip.ps1. The core privileged code is therefore outside the reviewed artifact set.

Skill content
scp scripts/create-vm.ps1 hyperv-host:C:/Users/youruser/Downloads/
ssh hyperv-host "powershell -ExecutionPolicy Bypass -File ... create-vm.ps1 ..."
Recommendation

Do not run substitute scripts from elsewhere. Require the package to include the exact reviewed PowerShell scripts, or perform the Hyper-V steps manually with audited commands.

#
ASI09: Human-Agent Trust Exploitation
Medium
What this means

A VM password you expect to stay out of command-line arguments may briefly appear in local process listings.

Why it was flagged

Despite the safety claim, the script interpolates the plaintext password into the python -c command line, which can be visible to process-list monitoring while the command runs.

Skill content
# Password is read from VM_PASSWORD env var or stdin to avoid exposure
# in process lists and shell history.
...
PASS_HASH=$(python3 -c "import crypt; print(crypt.crypt('${PASSWORD}', crypt.mksalt(crypt.METHOD_SHA512)))")
Recommendation

Avoid using sensitive reused passwords. The script should pass the password to Python through stdin or an environment variable and update the documentation to match actual handling.

#
ASI05: Unexpected Code Execution
Medium
What this means

If an untrusted party can influence the VM password, they may be able to trigger unintended local Python execution.

Why it was flagged

The password is inserted directly into Python source without escaping. A crafted password containing quotes could alter the Python command executed on the local build host.

Skill content
PASS_HASH=$(python3 -c "import crypt; print(crypt.crypt('${PASSWORD}', crypt.mksalt(crypt.METHOD_SHA512)))")
Recommendation

Do not interpolate user-controlled strings into code. Read the password inside Python from stdin or an environment variable and validate/escape all inputs.

#
ASI02: Tool Misuse and Exploitation
Medium
What this means

A malformed or malicious VM name could cause deletion of an unexpected local directory ending in -cidata.

Why it was flagged

The required VM name is used to construct a path that is recursively deleted, with no validation against slashes, traversal sequences, or shell metacharacters.

Skill content
VM_NAME="${1:?Usage: VM_PASSWORD=<pass> $0 <vm-name> [ssh-public-key] [extra-packages]}"
WORK_DIR="/tmp/${VM_NAME}-cidata"
...
rm -rf "$WORK_DIR"
Recommendation

Restrict VM names to a safe pattern such as letters, numbers, and hyphens, and use mktemp or another safe temporary-directory mechanism instead of deriving delete paths directly from user input.

#
ASI03: Identity and Privilege Abuse
Medium
What this means

Commands run through this skill can create, start, stop, or remove VMs and modify host-side virtual disk files.

Why it was flagged

These privileges are expected for Hyper-V VM creation, but they grant broad authority over the Windows host.

Skill content
SSH access to Hyper-V host ... required: true
Hyper-V admin privileges ... elevated PowerShell (Hyper-V cmdlets, fsutil, icacls).
Recommendation

Use a dedicated, least-privilege administrative account where possible, run only against the intended Hyper-V host, and review destructive operations before execution.

#
ASI05: Unexpected Code Execution
Low
What this means

The new VM trusts a downloaded executable from GitHub during first boot.

Why it was flagged

Cloud-init downloads a pinned Docker Compose binary and makes it executable. This is purpose-aligned for a Docker-ready VM, but there is no checksum or signature verification in the artifact.

Skill content
curl -SL "https://github.com/docker/compose/releases/download/v2.32.4/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

Verify the binary with a checksum/signature or install through a trusted package source if available.