Case · DiggingBeagle record

gh-aw sandbox controlled a credential sidecar browser command

Caller-controlled GH_BROWSER in the gh-aw sidecar reached a process holding GitHub credentials, exposing a token despite the agent sandbox boundary.

Scope

Authenticated gh-aw workflow with code execution already inside its sandbox, affected credential sidecar before the fixed release boundary described in GHSA-9jxf-w4wc-5g93. Per-job token exposure demonstrated, not cross-tenant GitHub compromise.

Assessment profile

Assessment method
Setting
research demonstration
Exploitation
demonstrated
Impact
Band 3 of 4
Evidence
Grade B
Remediation
fixed reported
AI role
AGAINST AI
Basis and provenance

GHSA-9jxf-w4wc-5g93 identifies GH_BROWSER environment inheritance and prints a live test ghs_ token from the sidecar. The vulnerability is distinct from the advisory's URL parsing flaw. GitHub advisory metadata says 0.91.13 patched; earlier remediation prose has conflicting release references.

Impact basis: A sandbox-controlled environment field reached the privileged gh browse helper and disclosed the actual job credential in the controlled workflow. This required attacker-accessible code inside the workflow sandbox, not unauthenticated Internet access.

Assessed Oct 19, 2026 using diggingbeagle.assessment/1.

At a glance

Claims & evidence

CLM-GHAW-CLI-PROXY-ENVThe gh-aw CLI proxy accepted a caller-provided GH_BROWSER environment value and used it when running gh browse in a credential-holding sidecar.supported

Basis: reported finding

Link to claim

Implications

The sidecar inherited authority the less-trusted client was never meant to receive; restricting direct network access would not revoke the helper process token.

Controls and mitigations

  • Reject caller-supplied process environments and keep the real GitHub bearer token outside commands exposed to sandboxed code.

Unknowns and contradictions

  • The advisory text mentions v0.91.12 as the fix while structured affected/patched metadata names v0.91.13. Treat v0.91.13 as the conservative minimum and recompile existing workflows. The demonstrated token was scoped to the test job, not a shared tenant credential.

Sources and citation

Material revision history

  1. Oct 19, 2026 · Published version · first publication · revision 174
  2. Oct 19, 2026 · Canonical change recorded · material revision · revision 175Public fields changed: assessment_profile