Sighthound scan flagged 142 findings; below are the top 5 highest-severity, non-test findings from actionable.json requiring triage.
-
Path Traversal (High) — pkg/cli/download_workflow.go:105
A filesystem path is derived from untrusted input. Remediate by resolving with filepath.Clean and confining the result to a base directory before opening.
-
Path Traversal (High) — scripts/generate-agent-factory.js:217,223,232
Untrusted values are joined into filesystem paths without validation in three locations. Validate/normalize path segments and reject ../ traversal before use.
-
Cross-Site Scripting (High) — pkg/cli/logs_format_compact.go:193
Untrusted data is written directly into an HTTP response without HTML escaping. Use html/template or html.EscapeString to sanitize output.
-
Code Injection / SSTI (High) — pkg/cli/bootstrap_profile_helpers.go:258
A template is parsed from dynamic input, enabling server-side template injection. Templates must be static; pass untrusted data only as escaped template data, not as template source.
-
SSRF (High) — scripts/ensure-docs-slide-pdf.js:110
A caller-controlled URL is passed to an outbound HTTP request. Validate/allowlist target hosts/schemes before making the request.
Note: Several Command Injection findings (e.g. runner_guard.go:94, grant.go:159, poutine.go) use exec.Command with fixed argument slices (no shell interpolation) and may be false positives worth a quick manual check rather than immediate action. Full details in /tmp/gh-aw/agent/sighthound/actionable.json (142 findings total, pre-filtered to exclude test/testdata paths).
Generated by 🛡️ Sighthound Security Scan · sonnet50 · 22.7 AIC · ⌖ 7.75 AIC · ⊞ 7.1K · ◷
Sighthound scan flagged 142 findings; below are the top 5 highest-severity, non-test findings from
actionable.jsonrequiring triage.Path Traversal (High) —
pkg/cli/download_workflow.go:105A filesystem path is derived from untrusted input. Remediate by resolving with
filepath.Cleanand confining the result to a base directory before opening.Path Traversal (High) —
scripts/generate-agent-factory.js:217,223,232Untrusted values are joined into filesystem paths without validation in three locations. Validate/normalize path segments and reject
../traversal before use.Cross-Site Scripting (High) —
pkg/cli/logs_format_compact.go:193Untrusted data is written directly into an HTTP response without HTML escaping. Use
html/templateorhtml.EscapeStringto sanitize output.Code Injection / SSTI (High) —
pkg/cli/bootstrap_profile_helpers.go:258A template is parsed from dynamic input, enabling server-side template injection. Templates must be static; pass untrusted data only as escaped template data, not as template source.
SSRF (High) —
scripts/ensure-docs-slide-pdf.js:110A caller-controlled URL is passed to an outbound HTTP request. Validate/allowlist target hosts/schemes before making the request.
Note: Several
Command Injectionfindings (e.g.runner_guard.go:94,grant.go:159,poutine.go) useexec.Commandwith fixed argument slices (no shell interpolation) and may be false positives worth a quick manual check rather than immediate action. Full details in/tmp/gh-aw/agent/sighthound/actionable.json(142 findings total, pre-filtered to exclude test/testdata paths).