Electron + Go Desktop
Bridge-free architecture, native packages, workspaces, protected projects, authorization testing, and source validation in WSHawk v4.0.4.
Electron + Go Desktop
WSHawk v4.0.4 includes a separately packaged Electron desktop backed by a private Go worker. It does not replace the Classic Electron + Python edition.
Download
Electron + Go packages include a Windows NSIS installer, Linux AppImage, DEB and archive formats, and macOS DMG and ZIP formats. Verify downloads with SHA256SUMS-ELECTRON-GO.txt from the same release.
Architecture
Sandboxed renderer
-> allowlisted Electron IPC
Electron main process
-> versioned JSON-RPC over private stdin/stdout
Go worker
-> encrypted projects, HTTP and WebSocket transports,
scanners, authorization policies, findings, and reports
Electron main process
-> isolated Playwright contexts for auth and browser evidence
The Go worker does not expose a localhost HTTP or Socket.IO bridge. Node integration remains disabled in the renderer, and IPC requests are validated against a versioned allowlist.
Project Records
Projects can store:
- targets, notes, identities, and sessions;
- HTTP flows and WebSocket frames;
- protocol maps and timelines;
- findings and reproducible evidence.
Sensitive project content is encrypted with AES-256-GCM. The operating system protects the project key.
Workspaces
Standard covers projects, targets, WebSocket capture, sessions, protocol maps, timelines, notes, and reports.
Advanced covers interception, replay, WS Forge, payload mutation, DOM Invader, Playwright auth recording, authorization tests, and findings.
Web covers HTTP Forge, crawling, directory discovery, vulnerability scanning, fuzzing, headers, CORS, WAF, TLS, SSRF, redirects, CSRF, prototype pollution, and sensitive-data checks.
Build and Validate
git clone https://github.com/regaan/wshawk
cd wshawk/electron-desktop
npm ci
npm run build:go
npm start
npm run test:all
npm run test:parity
npm run test:e2e
npm run test:authorization-benchmark
Run only the package command for the current host: npm run dist:win, npm run dist:linux, or npm run dist:mac.