Tier C — Restricted Pending Review
Source: UK AI Open Code Risk & Resilience Governance — 2026-07-23 run
Discussion report: #aw_disc_gov
Risk-Scoring Breakdown
| Dimension |
Score (1–5) |
| Exposure amplification |
4 |
| Patchability (ease of fix) |
2 |
| Detectability (exploitation visibility) |
4 |
| Operational fragility |
3 |
| Ownership confidence |
2 |
| Composite score |
3.0 / 5 |
Finding Description
Two open code scanning alerts (Semgrep, warning severity) identify REST API path injection in pkg/cli/outcome_eval.go:
Remediation Action
Apply url.PathEscape() to ownerRepo and endpoint path components before interpolation into REST API paths. This eliminates path traversal risk without requiring architectural changes.
// Before
path := fmt.Sprintf("/repos/%s/%s", ownerRepo, endpoint)
// After
parts := strings.SplitN(ownerRepo, "/", 2)
path := fmt.Sprintf("/repos/%s/%s/%s", url.PathEscape(parts[0]), url.PathEscape(parts[1]), url.PathEscape(endpoint))
SLA
High — remediate within 14 days (by 2026-08-06)
References
Generated by UK AI Operational Resilience · sonnet46 · 47.3 AIC · ⌖ 6.02 AIC · ⊞ 5.3K · ◷
Tier C — Restricted Pending Review
Source: UK AI Open Code Risk & Resilience Governance — 2026-07-23 run
Discussion report: #aw_disc_gov
Risk-Scoring Breakdown
Finding Description
Two open code scanning alerts (Semgrep, warning severity) identify REST API path injection in
pkg/cli/outcome_eval.go:ownerRepoandendpointvariables from user-supplied repo input are interpolated into a GitHub REST API path viafmt.Sprintfwithout URL-path encoding. A crafted repo string could alter the API path.ownerRepovariable interpolated into a GitHub REST API array endpoint path withouturl.PathEscape.Remediation Action
Apply
url.PathEscape()toownerRepoandendpointpath components before interpolation into REST API paths. This eliminates path traversal risk without requiring architectural changes.SLA
High — remediate within 14 days (by 2026-08-06)
References