gstack/browse
Nicolas Gomes Ferreira Dos Santos 5d7e494258 fix(browse): switch cookie-import CDP from TCP port to stdio pipe
Spawns Chrome with --remote-debugging-pipe instead of
--remote-debugging-port, closing the v20 ABE cookie exfiltration window
where any same-user local process could connect to Chrome's debug port
(in the 1-3s it's listening) and call Network.getAllCookies to read
decrypted v20 cookies.

Pipe transport is inherited by Chrome only; no TCP socket binds, no
/json/list HTTP endpoint exists. Target discovery via Target.getTargets
+ Target.attachToTarget(flatten: true). Browser.getVersion replaces the
old /json/version fetch for diagnostics.

Uses node:child_process.spawn for the Chrome subprocess because Bun.spawn
exposes fds >= 3 as raw numeric fds, not streams, and Node stream-to-Web
bridges hang in Bun on those sockets.

The non-CDP path (direct SQLite + DPAPI on v10/v11 cookies) is
unchanged; this change only affects the Windows v20 ABE fallback.

Closes #1136.
2026-04-23 21:00:24 -07:00
..
bin feat: multi-agent support — gstack works on Codex, Gemini CLI, and Cursor (v0.9.0) (#226) 2026-03-19 18:20:50 -07:00
scripts fix: ngrok Windows build + close CI error-swallowing gap (v0.18.0.1) (#1024) 2026-04-16 13:49:04 -07:00
src fix(browse): switch cookie-import CDP from TCP port to stdio pipe 2026-04-23 21:00:24 -07:00
test fix(browse): switch cookie-import CDP from TCP port to stdio pipe 2026-04-23 21:00:24 -07:00
PLAN-snapshot-dropdown-interactive.md fix: snapshot -i auto-detects dropdown/popover interactive elements (#845) 2026-04-05 22:57:45 -07:00
SKILL.md feat(v1.9.0.0): gbrain-sync — cross-machine gstack memory (#1151) 2026-04-23 17:54:54 -07:00
SKILL.md.tmpl feat(browse): Puppeteer parity — load-html, screenshot --selector, viewport --scale, file:// (v1.1.0.0) (#1062) 2026-04-18 23:25:33 +08:00