Most static alerts are false positives from markdown links, Azure documentation URLs, public SSH key examples, and IaC templates. Confirmed risks are operational: selected troubleshooting commands can change VM credentials, firewall access, networking, or SELinux state, and the GitHub PR delivery path lacks documented validation for shell placeholders. No prompt injection attempt was found in the reviewed files.
| sudo password prompt fails / user not in sudoers | Fix via Run Command or Serial Consol
The workflow recommends fixing sudo access through Run Command or Serial Console. That can grant administrative privileges on the VM and must require explicit authorization.
This RunPowerShellScript command enables the Remote Desktop firewall rule. It deliberately opens administrative remote access and must require user consent and rollback context.
MY_IP=$(curl -s ifconfig.me)/32 # your current public IP, locked to /32
This example runs curl against ifconfig.me to derive the caller public IP. The goal is benign NSG scoping, but it still creates an external network dependency and reveals client metadata to a third-party service.
The firewalld command permanently adds the SSH service and reloads the firewall. This intentionally weakens inbound restrictions for recovery and needs approval.
The GitHub PR delivery workflow accepts repo, branch, and target path values from the user, then places those values in shell commands without documented validation or escaping. A malicious branch or path could turn infrastructure delivery into command injection if an agent executes the commands.
The file gathers user-controlled repo, branch, and path strings and later interpolates them directly into gh, git, mkdir, and git add commands. The workflow is legitimate, but missing validation makes injection plausible.
Privileged VM Recovery Commands Require Strong Approval
The troubleshooting references include commands to reset passwords, reset SSH configuration, enable RDP, open SSH firewall rules, unlock accounts, and set SELinux permissive. These are legitimate recovery actions, but they can change access controls and host security state.
The cited commands directly alter credentials, SSH/RDP access, firewall policy, account state, or SELinux enforcement. The files include warnings, so the issue is operational risk rather than malicious intent.
| "Your credentials did not work" | Reset password via Portal or CLI
The table recommends resetting a VM password through Portal or CLI. This is legitimate recovery guidance, but it changes VM credentials and can affect account access.
--command-id RunShellScript --scripts "ip link set eth0 up && dhclient eth0"
The Run Command brings eth0 up and requests DHCP. It can change live guest networking, so it is a real operational change rather than passive diagnostics.
MY_IP=$(curl -s ifconfig.me)/32 # your current public IP, locked to /32
The command discovers the caller public IP through ifconfig.me before setting an NSG source range. This is transparent and useful, but it is still a third-party network lookup.
04
是正措置
この監査で推奨される修正が記録されています。これらを適用する責任はメンテナーにあります。
FIX-001
高
GitHub PR commands interpolate user-controlled repo, branch, path, and VM values.
Validate allowed characters, quote every shell argument, and prefer structured tool calls over generated shell strings.
FIX-002
高
VM recovery commands can reset credentials or change remote access controls.
Require explicit approval for each state-changing command, show the affected resource, and provide rollback steps.
FIX-003
高
Firewall and SELinux recovery guidance can weaken guest security.
Prefer read-only diagnostics first, use temporary targeted rules, and document how to restore the previous policy.
FIX-004
低
Terraform quickstart uses a third-party public IP lookup service.
Ask before making the lookup or provide an Azure-owned or manual alternative for the source CIDR value.