Skip to content

Architecture ​

Ogma is built as a local desktop application with a Rust backend, Vue frontend, Electron shell, local project storage, a plugin runtime, and optional MCP integration.

High-Level Components ​

ComponentLocationResponsibility
Rust proxy/API backendcrates/proxyMITM proxy, REST API, storage, scanners, replay, automation, plugins, MCP, OAST, browser control endpoints.
Vue frontendfrontend/srcWorkspace UI, stores, routes, editors, scanners, plugin iframes, AI workspace, utilities.
Electron desktop shelldesktopPackaged desktop app, browser window integration, settings bridge, app lifecycle.
DocumentationdocsVitePress documentation site.
Data directoryogma-data or platform app dataSQLite database, CA material, plugins, exports, backups, files.

Backend ​

The backend exposes a REST API and proxy listener. Major backend modules include:

  • proxy_server.rs: HTTP interception and forwarding.
  • intercept.rs and intercept_rules.rs: intercept queue and matching.
  • store.rs and store_actor.rs: project database access and async store handle.
  • api.rs: API routing and handlers.
  • replay.rs, automate.rs, and workflows.rs: repeatable request execution.
  • passive_scanner.rs and active_scanner.rs: scanner engines.
  • plugins.rs and plugin_runtime.rs: plugin metadata, sandbox runtime, permissions, and events.
  • mcp.rs: MCP resources and tools.
  • ca.rs, tls_cert.rs, client_cert.rs: certificate and TLS support.
  • ws_history.rs, ws_replay.rs, and sse.rs: streaming traffic support.
  • oast.rs: out-of-band callback services.

Frontend ​

The frontend is a Vue application using route-level lazy loading for most workspace views.

Key areas:

  • router/index.ts: workspace routes and settings routes.
  • components/NavSidebar.vue: main product navigation.
  • stores/*: Pinia stores for history, replay, automate, findings, workflows, plugins, scope, shell, AI, and other state.
  • api/client.ts and api/types.ts: typed API client surface.
  • views/*: workspace feature pages.
  • components/WorkspacePanel.vue: AI and reverse shell workspace panel.
  • views/PluginsView.vue and views/PluginPageView.vue: plugin installation, management, and frontend iframe hosting.

Desktop Shell ​

The Electron shell provides the packaged desktop experience and native bridge functions:

  • Launching and controlling the app window.
  • Persisting desktop settings into frontend local storage.
  • Opening Ogma Browser windows and embedded browser views.
  • Packaging assets and binaries for desktop distribution.

Storage Model ​

Ogma keeps assessment data local. The backend migrations define project-scoped tables for:

  • HTTP history and bodies.
  • WebSocket and SSE traffic.
  • Replay sessions and attempts.
  • Automate sessions, runs, and results.
  • Findings and evidence links.
  • Workflows and workflow runs.
  • Scope presets.
  • Plugins and plugin permissions.
  • Files, exports, backups, and settings.

Plugin Runtime ​

Plugins can include backend components, frontend components, or both.

Backend plugins run inside a JavaScript sandbox and receive an sdk object. Frontend plugins run in sandboxed iframes and communicate through a bridge controlled by Ogma.

Important boundaries:

  • Frontend plugins cannot access the parent DOM.
  • Bridge commands are validated server-side.
  • Protected backend actions require declared and granted permissions.
  • Installed packages are copied into Ogma's managed plugin directory for stable runtime behavior.

See Plugin system.

MCP Integration ​

The MCP server exposes Ogma project context to external assistants. It starts read-only by default. Write, export, request-sending, workflow-running, and intercept-control capabilities require explicit permissions.

See MCP setup.

Design Principles ​

  • Local-first by default.
  • Evidence-linked findings.
  • Scope before automation.
  • Explicit permission gates for AI, plugins, request sending, and exports.
  • Fast navigation for repeated tester workflows.
  • Compatibility with established proxy workflows while keeping Ogma extensible.

Proprietary software. All rights reserved.