You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sighthound scan flagged 116 actionable findings; top 5 by severity (all Critical/High confidence, "Command Injection" pattern) below.
pkg/cli/runner_guard.go:114 — exec.Command(dockerPath, "run", "--rm", "-v", volumeMount, ...). volumeMount appears built from dynamic/untrusted path data. Remediation: validate/sanitize the mount path, avoid shell interpolation, keep args as a fixed slice (already the case) but confirm volumeMount and containerScanPath are derived only from trusted, validated local paths.
pkg/cli/grant.go:176 — exec.Command(dockerPath, "run", "--rm", "-v", volumeMount, GrantImage, "--config", containerPolicyPath, ..., imageRef). imageRef/volumeMount may originate from user/workflow input. Remediation: validate imageRef against an expected image-name pattern before use; ensure paths are canonicalized and confined to expected directories.
pkg/cli/poutine.go:229 — exec.Command(dockerPath, "run", "--rm", "-v", volumeMount, "-w", "/workdir", "ghcr.io/boostsecurityio/poutine:latest", "analyze_local", ".", ...). Remediation: verify volumeMount is constructed from a sanitized, absolute repo path with no attacker-controlled segments.
pkg/cli/upgrade_command.go:502 — exec.Command(exe, newArgs...). exe/newArgs may include dynamic values (e.g., from CLI re-exec/upgrade flow). Remediation: confirm exe resolves to a known trusted binary path (not attacker-influenced) and newArgs values are validated/allow-listed rather than passed through unchecked.
General guidance for all: avoid sh -c/shell string concatenation (already avoided via slice args), but ensure every dynamic value feeding into exec.Command arguments (paths, image refs, flags) is validated/allow-listed at the point of construction, since Sighthound flags these as High-confidence Command Injection risks due to untrusted data reaching exec.Command.
See /tmp/gh-aw/agent/sighthound/actionable.json for full details (148 total findings, 116 actionable outside test/testdata).
Sighthound scan flagged 116 actionable findings; top 5 by severity (all Critical/High confidence, "Command Injection" pattern) below.
pkg/cli/runner_guard.go:114 —
exec.Command(dockerPath, "run", "--rm", "-v", volumeMount, ...).volumeMountappears built from dynamic/untrusted path data. Remediation: validate/sanitize the mount path, avoid shell interpolation, keep args as a fixed slice (already the case) but confirmvolumeMountandcontainerScanPathare derived only from trusted, validated local paths.pkg/cli/grant.go:176 —
exec.Command(dockerPath, "run", "--rm", "-v", volumeMount, GrantImage, "--config", containerPolicyPath, ..., imageRef).imageRef/volumeMountmay originate from user/workflow input. Remediation: validateimageRefagainst an expected image-name pattern before use; ensure paths are canonicalized and confined to expected directories.pkg/cli/poutine.go:229 —
exec.Command(dockerPath, "run", "--rm", "-v", volumeMount, "-w", "/workdir", "ghcr.io/boostsecurityio/poutine:latest", "analyze_local", ".", ...). Remediation: verifyvolumeMountis constructed from a sanitized, absolute repo path with no attacker-controlled segments.pkg/cli/poutine.go:109 — Same pattern/image as above (duplicate call site). Remediation: same as Add workflow: githubnext/agentics/weekly-research #3 — validate
volumeMountconstruction.pkg/cli/upgrade_command.go:502 —
exec.Command(exe, newArgs...).exe/newArgsmay include dynamic values (e.g., from CLI re-exec/upgrade flow). Remediation: confirmexeresolves to a known trusted binary path (not attacker-influenced) andnewArgsvalues are validated/allow-listed rather than passed through unchecked.General guidance for all: avoid
sh -c/shell string concatenation (already avoided via slice args), but ensure every dynamic value feeding intoexec.Commandarguments (paths, image refs, flags) is validated/allow-listed at the point of construction, since Sighthound flags these as High-confidence Command Injection risks due to untrusted data reachingexec.Command.See
/tmp/gh-aw/agent/sighthound/actionable.jsonfor full details (148 total findings, 116 actionable outside test/testdata).