Next-Generation Desktop Reverse-Engineering & Archite
cture Visualization Studio for Electron & Node.js
REA Studio is an open-source, hardware-accelerated desktop workstation designed for security researchers, reverse engineers, and full-stack developers. It visualizes the internal architecture of complex Electron, Node.js, and JavaScript applications into interactive live dependency graphs, security heatmaps, and IPC execution flows.
Powered by REA (rea-agents analyze-javascript-application), Vis.js, and an integrated Google Gemini AI Copilot, REA Studio renders AST-derived structural evidence in a high-refresh Liquid Glass interface.
- High-Refresh Pipeline: Built with Chromium GPU rasterization, zero-copy buffers, and an uncapped display refresh rate (120 Hz+) with a real-time delta-time FPS monitor.
- Liquid Glass Aesthetic: Ambient radial cursor spotlights, backdrop blurs, floating spring physics micro-interactions, and reactive glass panels.
- Wallpaper Engine: Built-in dynamic theme switcher with cyber, dark, and custom wallpaper overlays.
- Organic & Hierarchical Force Graph: Inspect Electron
Main,Preload,ContextBridge,Renderers,IPC Channels, and local/external modules. - Directional Edge Pulse Particles: Animated glowing particles travel along connecting graph lines showing execution flows (
Renderer -> Preload -> Main Process). - Interactive Path Tracer: Select any IPC endpoint (e.g.,
notes:export) or node to isolate the full caller-bridge-handler-utility trace path while softly dimming unrelated noise. - Export Diagrams: One-click export to high-res SVG or copy standard Mermaid.js sequence and flow diagram syntax.
- Automated Security Health Score: Real-time evaluation of Electron security posture (Context Isolation, Node Integration, Sandbox flags, remote module status, navigation vulnerabilities).
- Side-by-Side Code Diff & AI Patch Drawer: Inspect vulnerable code patterns with line-numbered AST evidence alongside automated defensive patches.
- Interactive IPC Simulator: Trace and preview mock IPC messages across process boundaries in real-time.
- Built-in multi-model Google Gemini support (Gemini 2.5 Flash / Pro, Gemini 1.5 Pro / Flash, and Gemini 3.1 Pro).
- Client-side private API key handling (stored strictly in local client storage, never transmitted to external third parties or committed).
- Automatic context injection: The AI understands the currently analyzed application's topology, IPC boundaries, and AST evidence.
[Target Application / Source Directory]
│
▼
┌──────────────────────────────────────────────────┐
│ REA 19-Step AST & Static Analysis Pipeline │
│ (Imports, IPC Bindings, ContextBridge, Asar) │
└──────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────┐
│ Express Analysis & Decompilation Bridge Server │
└──────────────────────────────────────────────────┘
│ (Fast Local SSE & IPC)
▼
┌──────────────────────────────────────────────────┐
│ Electron 120+ FPS Hardware-Accelerated Studio │
│ ├── Liquid Glass UI Engine │
│ ├── Vis.js Organic Network Graph & Path Tracer │
│ ├── Security Audit & Fix Drawer │
│ └── Gemini AI Copilot Integration │
└──────────────────────────────────────────────────┘
-
Clone the repository:
git clone https://github.com/vampireanshuman/rea-studio.git cd rea-studio -
Install dependencies:
npm install
-
Start REA Studio Desktop:
npm start
-
(Optional) Run Web Version Only:
npm run start:web
Open http://localhost:3000 in your browser.
- Zero Data Telemetry: Analyzed files and extracted AST evidence remain strictly on your local machine.
- Safe Local Storage: Gemini API keys are kept in your local client-side session store (
localStorage) and are never written to disk or repository commits. - Sandboxed Preload: Follows Electron security best practices with
contextIsolation: trueand guarded IPC messaging.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page if you want to contribute.
- Fork the Project
- Create your Feature Branch (
git checkout -b feat/AmazingFeature) - Commit your Changes (
git commit -m 'feat: Add some AmazingFeature') - Push to the Branch (
git push origin feat/AmazingFeature) - Open a Pull Request
This project is open-source and licensed under the MIT License. Created and maintained with ❤️ by Anshuman (VampireAnshuman).