gstack/browse/src
Garry Tan dfe946fe64
fix(security): CSS injection guard, timeout clamping, session validation, tests (#806)
Community PR #806 by @mr-k-man (security audit round 2, new parts only).

- CSS value validation (DANGEROUS_CSS) in cdp-inspector, write-commands, extension inspector
- Queue file permissions (0o700/0o600) in cli, server, sidebar-agent
- escapeRegExp for frame --url ReDoS fix
- Responsive screenshot path validation with validateOutputPath
- State load cookie filtering (reject localhost/.internal/metadata cookies)
- Session ID format validation in loadSession
- /health endpoint: remove currentUrl and currentMessage fields
- QueueEntry interface + isValidQueueEntry validator for sidebar-agent
- SIGTERM->SIGKILL escalation in timeout handler
- Viewport dimension clamping (1-16384), wait timeout clamping (1s-300s)
- Cookie domain validation in cookie-import and cookie-import-browser
- DocumentFragment-based tab switching (XSS fix in sidepanel)
- pollInProgress reentrancy guard for pollChat
- toggleClass/injectCSS input validation in extension inspector
- Snapshot annotated path validation with realpathSync
- 714-line security-audit-r2.test.ts + 33-line learnings-injection.test.ts

Co-Authored-By: mr-k-man <mr-k-man@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 23:26:35 -07:00
..
activity.ts feat: headed mode + sidebar agent + Chrome extension (v0.12.0) (#517) 2026-03-26 11:15:24 -06:00
browser-manager.ts fix(security): CSS injection guard, timeout clamping, session validation, tests (#806) 2026-04-05 23:26:35 -07:00
buffers.ts feat: Phase 3.5 — cookie import, QA testing, team retro (v0.3.1) (#29) 2026-03-13 00:31:41 -07:00
bun-polyfill.cjs fix: Windows support — Node.js server fallback for Playwright (#255) 2026-03-20 12:22:11 -07:00
cdp-inspector.ts fix(security): CSS injection guard, timeout clamping, session validation, tests (#806) 2026-04-05 23:26:35 -07:00
cli.ts fix(security): CSS injection guard, timeout clamping, session validation, tests (#806) 2026-04-05 23:26:35 -07:00
commands.ts feat: sidebar CSS inspector + per-tab agents (v0.13.9.0) (#650) 2026-03-30 12:51:05 -06:00
config.ts fix: security wave 1 — 14 fixes for audit #783 (v0.15.7.0) (#810) 2026-04-04 22:12:04 -07:00
cookie-import-browser.ts feat: Wave 3 — community bug fixes & platform support (v0.11.6.0) (#359) 2026-03-23 22:15:23 -07:00
cookie-picker-routes.ts fix: security wave 1 — 14 fixes for audit #783 (v0.15.7.0) (#810) 2026-04-04 22:12:04 -07:00
cookie-picker-ui.ts feat: GStack Browser — double-click AI browser with anti-bot stealth (#695) 2026-04-04 10:17:05 -07:00
find-browse.ts feat: multi-agent support — gstack works on Codex, Gemini CLI, and Cursor (v0.9.0) (#226) 2026-03-19 18:20:50 -07:00
meta-commands.ts fix(security): CSS injection guard, timeout clamping, session validation, tests (#806) 2026-04-05 23:26:35 -07:00
platform.ts fix: Windows support — Node.js server fallback for Playwright (#255) 2026-03-20 12:22:11 -07:00
read-commands.ts fix(security): IPv6 ULA blocking, cookie redaction, per-tab cancel, targeted token (#664) 2026-04-05 22:58:06 -07:00
server.ts fix(security): CSS injection guard, timeout clamping, session validation, tests (#806) 2026-04-05 23:26:35 -07:00
sidebar-agent.ts fix(security): CSS injection guard, timeout clamping, session validation, tests (#806) 2026-04-05 23:26:35 -07:00
sidebar-utils.ts fix: sidebar agent uses real tab URL instead of stale Playwright URL (v0.12.6.0) (#544) 2026-03-26 22:07:03 -06:00
snapshot.ts fix(security): CSS injection guard, timeout clamping, session validation, tests (#806) 2026-04-05 23:26:35 -07:00
url-validation.ts fix(security): IPv6 ULA blocking, cookie redaction, per-tab cancel, targeted token (#664) 2026-04-05 22:58:06 -07:00
welcome.html feat: GStack Browser — double-click AI browser with anti-bot stealth (#695) 2026-04-04 10:17:05 -07:00
write-commands.ts fix(security): CSS injection guard, timeout clamping, session validation, tests (#806) 2026-04-05 23:26:35 -07:00