From 5317ed6ad485a77b539dc22fbc139ab277c440a2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 1 Mar 2026 19:53:50 +0000 Subject: [PATCH 1/2] Initial plan From f6aa77cec7e8f9486513cb20e8e6a62f0e4377d7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 1 Mar 2026 20:00:06 +0000 Subject: [PATCH 2/2] Fix PowerShell injection in execCommandHelp and execCheckCommand on Windows Co-authored-by: kriserickson <325934+kriserickson@users.noreply.github.com> --- internal/tools/tools.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/internal/tools/tools.go b/internal/tools/tools.go index 3ac1cae..df135ec 100644 --- a/internal/tools/tools.go +++ b/internal/tools/tools.go @@ -148,7 +148,8 @@ func execCommandHelp(command string) (string, error) { } if runtime.GOOS == windowsOS { - cmd := exec.CommandContext(context.Background(), "powershell", "-Command", fmt.Sprintf("Get-Help '%s'", command)) + cmd := exec.CommandContext(context.Background(), "powershell", "-Command", "Get-Help -Name $env:HELP_COMMAND") + cmd.Env = append(os.Environ(), "HELP_COMMAND="+command) out, err := cmd.CombinedOutput() if err != nil { return "", fmt.Errorf("Get-Help failed: %s", string(out)) @@ -255,7 +256,8 @@ func execCheckCommand(command string) (string, error) { var cmd *exec.Cmd if runtime.GOOS == windowsOS { - cmd = exec.CommandContext(context.Background(), "powershell", "-Command", fmt.Sprintf("Get-Command '%s'", command)) + cmd = exec.CommandContext(context.Background(), "powershell", "-Command", "Get-Command -Name $env:CHECK_COMMAND") + cmd.Env = append(os.Environ(), "CHECK_COMMAND="+command) } else { cmd = exec.CommandContext(context.Background(), "which", command) }