grok-token-broker: the probe's blast radius is BOTH Groa transports, not one

This commit is contained in:
Vuong Hoang
2026-09-16 15:19:46 -07:00
parent ebc4dac6d8
commit b907a0e46a
+10 -3
View File
@@ -38,9 +38,16 @@ until a verdict exists and says safe.
⚠ **The probe spends one refresh, and there is no way to ask the question without spending
it.** If the answer is the bad one, the CLI is broken at that moment and needs an interactive
`grok` re-login — the same remedy heid's exit-3 path already names. **Run it when a broken CLI
login is a two-minute annoyance, not mid-panel.** Hence the required
`--i-accept-this-may-end-the-cli-session` flag.
`grok` re-login. Hence the required `--i-accept-this-may-end-the-cli-session` flag.
⚠⚠ **AND THE BLAST RADIUS IS BOTH GRÓA TRANSPORTS, NOT ONE — verified, 2026-09-16.** An earlier
draft of this file implied only the HTTP path was exposed. Wrong: `heid/scripts/groa_dispatch.py`
invokes the `grok` CLI directly (`argv = ["grok", "-p", prompt, ...]`), and the CLI authenticates
from the same `~/.grok/auth.json`. The bwrap in the process table is the CLI's own Landlock
sandbox, not something Heid wraps around it. So the read-jail transport and the direct-endpoint
transport **share one session**: one reaches it through the CLI, the other reads the file the CLI
wrote. An invalidating probe takes **Gróa down on every transport** until a human re-logs in — not
"the HTTP path degrades". Caught by `heid`, confirmed here against their source.
## Current state