published Aug 26, 2026, 5:29 AM · updated Aug 26, 2026, 1:58 PM
Sighthound security scan flagged 170 findings (38 Critical, 13 High, 77 Medium) in github/gh-aw. Below are the 5 highest-severity findings outside test/testdata paths for triage.
-
pkg/workflow/pip_validation.go:239— Critical, Command Injection (CWE-78)
exec.Command(uvPath, "pip", "show", pkgName, "--no-cache")
pkgNamemay originate from workflow/user input. Validate/allowlist the package name format (e.g. regex for valid PyPI package names) before passing it toexec.Command. -
pkg/workflow/dependabot_manifests.go:282— Critical, Command Injection (CWE-78)
exec.Command(npmPath, "install", "--package-lock-only", "--ignore-scripts")
Confirm working directory and any interpolated paths/args are validated; ensure no untrusted manifest data reaches the command arguments. -
pkg/cli/grype.go:361— Critical, Command Injection (CWE-78)
exec.Command(dockerPath, dockerArgs...)
dockerArgsis built dynamically — verify all elements (image refs, volume mounts) are derived from trusted/validated sources, not directly from user-supplied strings. -
pkg/cli/poutine.go:132,256— Critical, Command Injection (CWE-78)
exec.Command(dockerPath, "run", "--rm", "-v", volumeMount, "-w", "/workdir", poutineImageRef, "analyze_local", ".", "--format", "json", "--quiet")
volumeMountis constructed from a path; ensure it's sanitized/filepath.Clean-ed and confined to expected directories before use in the docker invocation. -
pkg/cli/upgrade_command.go:507— Critical, Command Injection (CWE-78)
exec.Command(exe, newArgs...)
Re-exec of the binary withnewArgs— confirmnewArgscannot be influenced by untrusted input (e.g. env vars, config files) to inject unintended flags/commands.
General remediation guidance: For all exec.Command sinks, pass arguments as a fixed slice (never build via sh -c or string concatenation), validate/allowlist any user-influenced values (package names, paths, image refs) before use, and use filepath.Clean + base-directory confinement for path inputs.
Full details available in the Sighthound scan artifacts (actionable.json, 170 findings across the repo, majority Medium severity YAML Unmarshal findings in pkg/parser and pkg/workflow recommending strict struct types over interface{}).
Generated by 🛡️ Sighthound Security Scan · copilot · auto · 15.8 AIC · ⌖ 6.98 AIC · ⊞ 6.9K · ◷