Skip to content

v0.5.0 - Operation SHADOW: Cross-Platform GUI Application

Latest

Choose a tag to compare

@doublegate doublegate released this 07 Feb 00:07

SPECTRE v0.5.0 - Operation SHADOW Complete

Release Date: February 6, 2026
Status: Stable Production Release
Phase: 5 of 7 (Operation SHADOW) - ✅ COMPLETE


🎯 Overview

SPECTRE v0.5.0 marks the completion of Phase 5: Operation SHADOW, delivering a fully-featured, cross-platform desktop GUI application built with Tauri 2.10 and React 19. This release represents 8 sprints of development, culminating in a production-ready graphical interface for offensive security operations.

What's New

  • Cross-Platform Desktop Application - Native installers for Linux (x64), macOS (Intel/ARM64), and Windows (x64)
  • Visual Campaign Planning - Complete campaign lifecycle management with multi-phase workflows
  • Real-Time Scan Visualization - D3.js force-directed network graphs with live event updates
  • Comprehensive Dashboard - Statistics, charts, and activity timelines
  • Multi-Format Reports - Generate and export findings in 5 formats (CSV, JSON, XML, HTML, Markdown)
  • Advanced Settings - 8 configuration tabs with 5 visual themes
  • Full Accessibility - WCAG 2.1 AA compliant with keyboard navigation
  • Optimized Performance - 54.5% bundle size reduction, < 2s load times

📦 Installation

Quick Start

Download the appropriate installer for your platform from the assets below:

Linux

  • AppImage (Universal): SPECTRE_0.5.0_amd64.AppImage
  • Debian/Ubuntu: spectre_0.5.0_amd64.deb
  • Fedora/RHEL: spectre-0.5.0-1.x86_64.rpm
# AppImage
chmod +x SPECTRE_0.5.0_amd64.AppImage
./SPECTRE_0.5.0_amd64.AppImage

# Debian/Ubuntu
sudo dpkg -i spectre_0.5.0_amd64.deb
spectre-gui

# Fedora/RHEL
sudo rpm -i spectre-0.5.0-1.x86_64.rpm
spectre-gui

macOS

  • Intel (x64): SPECTRE_x64.dmg
  • Apple Silicon (ARM64): SPECTRE_aarch64.dmg
# Open the DMG and drag SPECTRE to Applications
open SPECTRE_*.dmg

Windows

  • MSI Installer: SPECTRE_0.5.0_x64_en-US.msi
  • NSIS Installer: SPECTRE_0.5.0_x64-setup.exe
# Run the MSI installer (recommended)
.\SPECTRE_0.5.0_x64_en-US.msi

System Requirements

Linux:

  • Ubuntu 20.04+, Fedora 36+, or equivalent
  • webkit2gtk-4.1, GTK 3.24+, libayatana-appindicator3
  • libpcap (for network scanning)

macOS:

  • macOS 10.15 (Catalina) or later
  • Intel x64 or Apple Silicon (ARM64)
  • libpcap (included)

Windows:

  • Windows 10 1809+ or Windows 11
  • WebView2 Runtime (bundled)
  • Optional: Npcap for network scanning

See PLATFORM-REQUIREMENTS.md for detailed requirements.


✨ Phase 5 Highlights

Sprint 5.1: Tauri 2.0 Setup (v0.5.0-alpha.1)

  • Initialized Tauri 2.10 project with modern desktop capabilities
  • Configured IPC (Inter-Process Communication) layer for frontend-backend communication
  • Set up state management with RwLock-based AppState
  • Implemented 22 IPC command handlers across 10 modules
  • Established security model with granular capability permissions

Sprint 5.2: React Frontend Foundation (v0.5.0-alpha.2)

  • React 19 + Vite 6 + TypeScript build pipeline
  • Tailwind CSS 4 for styling with 5 custom themes
  • Zustand state management (4 stores: scan, campaign, dashboard, ui)
  • Routing with TanStack Router
  • 12 shadcn/ui components integrated
  • IPC hooks for seamless backend communication

Sprint 5.3: Campaign Planning UI (v0.5.0-alpha.3)

  • 4-Step Campaign Creation Wizard
    • Name & Description
    • Objectives (Reconnaissance, Vulnerability Assessment, Exploitation, Persistence)
    • Target Input with CIDR parsing and validation
    • Review & Create
  • Campaign Management
    • 4 phases: Recon → Scanning → Analysis → Exfiltration
    • Phase timeline visualization with prerequisite tracking
    • CRUD operations (Create, List, Get, Advance, Archive)
    • Export/Import campaigns (JSON format)
  • Backend Integration
    • SQLite persistence for campaign storage
    • 7 IPC commands fully wired
    • Target parsing with scope validation
  • Testing: 10 new tests (3 frontend + 7 Rust)

Sprint 5.4: Scan Visualization (v0.5.0-alpha.4)

  • Network Topology Visualization
    • D3.js force-directed graphs
    • Real-time node updates via IPC events
    • Interactive host cards with port/service details
    • Color-coded severity indicators (red: critical, orange: high, yellow: medium, blue: low, gray: info)
  • Scan Configuration
    • 8 scan types (SYN, Connect, UDP, ACK, FIN, Xmas, Null, Comprehensive)
    • Timing templates (T0-T5: Paranoid to Insane)
    • Port range specification
    • Target input with real-time validation
  • Scan Management
    • Start/stop scan controls
    • Multi-scan support (track multiple concurrent scans)
    • Real-time progress tracking (hosts scanned, ports checked, findings discovered)
    • Results table with sort/filter capabilities
  • Event System
    • scan:progress - Real-time progress updates
    • scan:result - Individual host results with full port/service data
    • scan:complete - Scan completion notifications
    • scan:error - Error handling and reporting
  • Testing: Full scan lifecycle tested with IPC mocking

Sprint 5.5: Dashboard & Reports UI (v0.5.0-alpha.5)

  • Dashboard Page
    • 4 statistics cards (Hosts Scanned, Open Ports, Services Detected, Findings)
    • Severity distribution chart (Recharts PieChart)
    • Top services chart (Recharts BarChart)
    • Activity timeline with recent findings
    • Auto-refresh every 30 seconds
  • Reports Page
    • Findings table with advanced filtering
      • Severity filter (Critical, High, Medium, Low, Info)
      • Service filter (HTTP, SSH, FTP, etc.)
      • Port filter
      • Search input (host, description)
    • Sort by severity, host, port, service
    • Pagination support
    • Finding detail modal with CVE links
  • Export Functionality
    • 5 export formats: CSV, JSON, XML, HTML, Markdown
    • Report preview with DOMPurify sanitization
    • Export panel with format selection
  • Backend Integration
    • results.rs: 10 tests for dashboard stats and findings
    • report.rs: 21 tests for report generation and exports
    • Full IPC wiring for all operations
  • Testing: 31 backend tests + 15+ frontend component tests

Sprint 5.6: Settings, Analysis & Comms UI (v0.5.0-alpha.6)

  • Settings Page (8 Tabs)
    1. General: Application preferences, auto-updates
    2. Scan: Default timing template, port ranges, detection toggles
    3. Analysis: CyberChef integration settings
    4. Comms: WRAITH protocol configuration
    5. Output: Export formats, report templates
    6. Theme: 5 visual themes (Dark, Light, Tactical, Matrix, Hacker)
    7. Shortcuts: Keyboard shortcuts reference (11 shortcuts)
    8. About: Version info, component versions, license
  • Analysis Page
    • CyberChef operation integration (15 operations)
    • 4 categories: Encoding (Base64, Hex, URL), Encryption (AES, RSA), Hashing (MD5, SHA), Data (JSON, XML)
    • Input/output interface for data transformation
    • Operation history
  • Comms Page
    • WRAITH protocol interface (stubs)
    • Identity management (generate, view, export)
    • Peer management (add, list, remove)
    • Secure send/receive operations
  • Backend Integration
    • config.rs: 5 tests for get/set configuration
    • chef.rs: 7 tests for CyberChef operations
    • comms.rs: 3 tests for WRAITH operations
  • Testing: 23 new tests (15 frontend + 8 backend)

Sprint 5.7: Cross-Platform Testing (v0.5.0-beta.1)

  • GitHub Actions CI/CD
    • Dedicated GUI workflow (gui.yml - 135 lines)
      • frontend-check job: TypeScript type checking + frontend tests
      • gui-build-matrix job: Multi-platform builds (4 platforms)
    • Updated release workflow (release.yml - +94 lines)
      • Automated installer generation with tauri-apps/tauri-action@v0
      • 6 installer formats (AppImage, deb, rpm, dmg Intel, dmg ARM, msi)
      • Artifact upload and release attachment
  • Platform Test Scripts
    • Linux: scripts/test-linux.sh (45 lines) - webkit2gtk-4.1 + GTK 3
    • macOS: scripts/test-macos.sh (50 lines) - Xcode CLT + arch detection
    • Windows: scripts/test-windows.ps1 (60 lines) - VS Build Tools + MSI build
  • Platform Requirements Documentation
    • Comprehensive 280-line guide
    • Installation commands for all major distributions
    • Troubleshooting for common issues
  • CI/CD Fixes
    • Tauri 2.x identifier field location (moved to root level)
    • macOS runner migration (macos-13 → macos-15-intel)
    • Rust cache invalidation (prefix-key versioning)
    • Explicit runner versions for reproducibility

Sprint 5.8: Polish & Release (v0.5.0 Stable)

  • Accessibility (WCAG 2.1 AA Compliance)
    • ARIA labels on all interactive elements
      • NetworkTopology: role="img", aria-label, aria-describedby
      • ScanConfigForm: id/htmlFor, aria-required, aria-invalid
      • FindingDetail: Descriptive titles, role="status" severity badges
    • Keyboard navigation
      • Alt+1-5: Navigate pages (Dashboard, Recon, Campaigns, Reports, Settings)
      • Ctrl+N: New Scan
      • Ctrl+F: Search
      • F1: Help
    • Focus management with Radix UI Dialog focus trapping
    • Screen reader support with semantic HTML
    • Color contrast ratios ≥ 4.5:1 (WCAG AA)
    • .sr-only utility for visually hidden text
    • :focus-visible outline styles (2px solid ring)
  • Performance Optimizations
    • Route-based code splitting with React.lazy() (9 pages)
    • Component memoization (NetworkTopology, SeverityChart, ServicesChart)
    • D3.js force simulation optimization
      • alphaDecay: 0.05 → 0.02 (faster convergence)
      • distanceMax(500) for Barnes-Hut optimization
      • Auto-stop at alpha < 0.01
      • Convergence: ~5s → < 2s (60% improvement)
    • Bundle size reduction: 650KB → 295.76KB gzipped (54.5% reduction)
    • Load time: 2.5s → 1.8s (28% improvement)
    • Memory usage: < 200MB at idle
  • User Documentation
    • GUI User Guide (850+ lines) - docs/user-guide/GUI-GUIDE.md
      • Installation, interface overview, features, troubleshooting
  • Developer Documentation
    • GUI Development Guide (900+ lines) - docs/development/GUI-DEVELOPMENT.md
      • Architecture, setup, testing, CI/CD, release process
  • Testing
    • +14 accessibility tests (ARIA, keyboard, focus, contrast)
    • +8 performance tests
    • Frontend: 117 → 131 tests
    • GUI Rust: 66 → 74 tests
    • Total: 1,175 → 1,185 tests

🔧 Technical Architecture

Technology Stack

Backend (Rust)

  • Tauri 2.10.8 - Desktop application framework
  • spectre-core - Orchestration library (ProRT-IP, CyberChef-MCP, WRAITH integration)
  • serde/serde_json - Serialization for IPC
  • tokio - Async runtime
  • sqlx - Campaign persistence (SQLite)

Frontend (React)

  • React 19.0.0 - UI framework
  • Vite 6.0.11 - Build tool
  • TypeScript 5.7.3 - Type safety
  • Tailwind CSS 4.1.7 - Styling
  • Zustand 5.0.3 - State management
  • TanStack Router 1.106.3 - Routing
  • D3.js 7.9.0 - Network visualization
  • Recharts 2.15.1 - Charts
  • Radix UI - Accessible components
  • shadcn/ui - Component library

Data Flow

User Interaction (React UI)
    ↓
IPC Command (Tauri invoke)
    ↓
Rust Backend Handler (spectre-gui/src/commands/)
    ↓
spectre-core Library (scan, chef, comms, campaign modules)
    ↓
Component Integration (ProRT-IP, CyberChef-MCP, WRAITH-Protocol)
    ↓
IPC Event (Tauri emit)
    ↓
Frontend Event Listener (React hooks)
    ↓
State Update (Zustand store)
    ↓
UI Re-render (React components)

IPC Handlers (22 Commands)

Status (2):

  • get_version - Application version info
  • get_status - Component health checks

Scan (4):

  • start_scan - Initiate network scan with ProRT-IP
  • stop_scan - Terminate running scan
  • get_scan_results - Retrieve scan findings
  • get_active_scans - List active scan jobs

Campaign (7):

  • create_campaign - Create new campaign
  • list_campaigns - List all campaigns
  • get_campaign - Get campaign details
  • advance_campaign - Progress to next phase
  • export_campaign - Export campaign data
  • import_campaign - Import campaign from file
  • archive_campaign - Archive completed campaign

Results (2):

  • get_dashboard_stats - Dashboard statistics
  • get_findings - Filtered findings list

Report (2):

  • generate_report - Generate formatted report
  • export_data - Export data in specified format

Config (2):

  • get_config - Retrieve configuration
  • set_config - Update configuration

Chef (2):

  • execute_chef - Execute CyberChef operation
  • list_chef_operations - List available operations

Comms (3):

  • get_identity - Retrieve cryptographic identity
  • list_peers - List trusted peers
  • send_data - Send encrypted data

Target (1):

  • parse_targets - Parse and validate target specification

📊 Statistics

Codebase

  • Total Lines: ~45,000 (Rust + TypeScript)
  • Rust Files: 136 files across 6 crates
  • Frontend Files: 60+ React components and pages
  • Tests: 1,185 total
    • CLI: 44 tests
    • Core: 618 tests
    • GUI Rust: 74 tests
    • GUI Frontend: 131 tests
    • TUI: 268 tests
    • Doc: 5 tests
    • Integration: 45 tests

GUI Application

  • Pages: 7 functional (Dashboard, Recon, Campaigns, Reports, Settings, Analysis, Comms)
  • Components: 21+ custom React components
  • UI Components: 12 shadcn/ui components
  • IPC Handlers: 22 commands across 10 modules
  • State Stores: 4 Zustand stores
  • Themes: 5 visual themes

Performance

  • Bundle Size: 295.76KB gzipped (54.5% reduction from 650KB)
  • Initial Load: 1.8s (28% improvement from 2.5s)
  • D3.js Convergence: < 2s (60% improvement from ~5s)
  • Memory Usage: < 200MB at idle
  • Lighthouse Scores:
    • Performance: 90+ (estimated)
    • Accessibility: 100
    • Best Practices: 90+

Accessibility

  • ✅ WCAG 2.1 Level A compliant
  • ✅ WCAG 2.1 Level AA compliant
  • ✅ Keyboard navigation (11 shortcuts)
  • ✅ Screen reader compatible
  • ✅ Focus management
  • ✅ Color contrast ≥ 4.5:1

Documentation

  • User Guide: 850+ lines (GUI-GUIDE.md)
  • Developer Guide: 900+ lines (GUI-DEVELOPMENT.md)
  • Platform Requirements: 280 lines
  • Total: 1,750+ lines of comprehensive documentation

🐛 Bug Fixes

Sprint 5.8 Fixes

  • Submodule Configuration (db7d891)

    • Fixed cyberchef-mcp submodule warnings in git status
    • Updated .gitmodules with correct configuration
    • Resolved git warnings about submodule directories
  • FindingDetail Test (cb9a096)

    • Fixed test assertions for dynamic dialog titles
    • Updated mocks to match actual component behavior

Sprint 5.7 Fixes

  • Tauri Configuration (2098779)

    • CRITICAL: Moved identifier field to root level per Tauri 2.x schema
    • Previous location in bundle section caused build failures
    • Now correctly positioned for Tauri 2.10 compatibility
  • macOS Runner Deprecation (e8edb70)

    • Migrated from deprecated macos-13 to macos-15-intel
    • Updated GitHub Actions workflow for continued macOS support
  • Rust Cache Invalidation (1743c51, e132776)

    • Implemented prefix-key versioning (v2) for cache invalidation
    • Resolved stale cache causing sqlx compilation errors
  • CI Reproducibility (0cc6d3e)

    • Explicit runner versions for all platforms
    • Ubuntu: ubuntu-22.04
    • macOS: macos-15-intel, macos-14
    • Windows: windows-2022

🔄 Breaking Changes

None. This is a feature-complete release with full backward compatibility for CLI and TUI interfaces.


📚 Documentation

New Documentation

  • docs/user-guide/GUI-GUIDE.md (850+ lines)

    • Getting Started (installation for all platforms)
    • Interface Overview (layout, navigation, themes)
    • Dashboard (statistics, charts, activity)
    • Reconnaissance (scan types, configuration, results)
    • Campaign Management (creation, phases, export/import)
    • Reports & Analysis (findings, filters, exports)
    • Settings (8 tabs, themes, shortcuts)
    • Keyboard Shortcuts (complete reference)
    • Troubleshooting (platform-specific issues)
  • docs/development/GUI-DEVELOPMENT.md (900+ lines)

    • Architecture (tech stack, data flow, events)
    • Development Setup (prerequisites, installation)
    • Project Structure (complete file tree)
    • Building (dev/prod builds for all platforms)
    • Testing (Rust tests, frontend tests, coverage)
    • Component Development (examples with tests)
    • IPC Communication (handlers, hooks, events)
    • State Management (Zustand patterns)
    • Adding New Pages (4-step process)
    • Theming (CSS variables, custom themes)
    • CI/CD (GitHub Actions, local testing)
    • Release Process (versioning, changelog, tagging)
  • crates/spectre-gui/PLATFORM-REQUIREMENTS.md (280 lines)

    • Detailed requirements for Linux, macOS, Windows
    • Installation commands for all distributions
    • Troubleshooting common issues

Updated Documentation

  • README.md
    • Version badges updated to v0.5.0
    • GUI features highlighted
    • Accessibility and performance metrics added
  • CHANGELOG.md
    • Comprehensive v0.5.0 entry (300+ lines)
    • All 8 sprints documented with deliverables
  • CLAUDE.md
    • Phase 5 marked complete (100%)
    • Version updated to v0.5.0
    • Statistics updated

🚀 Upgrade Guide

From v0.4.x (TUI) to v0.5.0 (GUI)

The CLI and TUI interfaces remain fully functional. The GUI is an additional interface, not a replacement.

No configuration changes required. The GUI uses the same configs/spectre.toml file as the CLI/TUI.

To use the GUI:

  1. Install the platform-specific installer (see Installation section)
  2. Launch the application: spectre-gui (Linux), SPECTRE.app (macOS), or SPECTRE.exe (Windows)
  3. Existing campaigns and scan results are automatically available

To continue using CLI/TUI:

# CLI commands work as before
spectre scan -S 192.168.1.0/24 -p 1-1000
spectre campaign list

# TUI dashboard
spectre tui

🙏 Acknowledgments

Component Credits

  • ProRT-IP v1.0.0 - Network reconnaissance (10M+ pps scanning)
  • CyberChef-MCP v1.9.0 - Data analysis (463 operations)
  • WRAITH-Protocol v2.3.7 - Secure communications (10+ Gbps E2EE)

Technology Stack

  • Tauri Team - Cross-platform desktop framework
  • React Team - UI library
  • D3.js Contributors - Data visualization
  • shadcn - Accessible component library
  • Rust Community - Systems programming language

📈 What's Next

Phase 6: Operation WRAITH (v0.6.x)

MCP Server Implementation - Planned for Q1 2026

  • Claude Code integration via Model Context Protocol
  • AI-assisted campaign planning
  • Intelligent scan optimization
  • Automated report generation
  • Natural language query interface

Phase 7: Operation GENESIS (v1.0.0)

Production Release - Planned for Q2 2026

  • Performance optimization
  • Security hardening
  • Comprehensive testing (1000+ tests)
  • Production documentation
  • Package distribution (Homebrew, AUR, Chocolatey)

🐛 Known Issues

Minor Test Failures

  • 2 frontend tests with minor assertion mismatches (non-blocking)
  • GUI functionality fully operational despite test failures

Deferred Features

  • Code signing/notarization for macOS (requires Apple Developer account)
  • Custom application icon (placeholders in use)
  • Scope visualization (deferred from Sprint 5.3)
  • Workflow builder (deferred from Sprint 5.3)

These will be addressed in future releases.


📝 License

SPECTRE is multi-licensed:

  • spectre-cli, spectre-core, spectre-tui, spectre-gui: MIT License
  • WRAITH-Protocol: MIT License
  • ProRT-IP: GPLv3
  • CyberChef-MCP: Apache 2.0

See individual component repositories for detailed license information.


🔗 Links


📧 Support

For bug reports, feature requests, or questions:


Phase 5 Status: COMPLETE (8/8 sprints, 100%)

Thank you for using SPECTRE!