CipherSwarm Implementation Plan#
This document outlines the phased implementation plan for rebuilding CipherSwarm with FastAPI, SvelteKit, and modern backend architecture. Each phase builds upon the last and ensures a modular, testable, and maintainable system.
Table of Contents#
Implementation Phases#
Phase 1: Core Infrastructure (Completed)#
- ๐ค User Model
- ๐ Project Model
- ๐ง OperatingSystem Model
- ๐ค Agent Model
- โ ๏ธ AgentError Model
- ๐ฅ Attack Model
- ๐งพ Task Model
๐ Read Phase 1: Core Infrastructure Setup
Phase 2: API Implementation (In Progress)#
- ๐ Agent API (High Priority)
- Agent Authentication & Session Management
- Attack Distribution
- ๐ง Web UI API
- Campaign Management
- Attack Management
- Agent Management
- Resource Browser
- Hash List Management
- Crackable Uploads
- Authentication & Profile
- UX Utility
- Live Event Feeds (SSE)
- โจ๏ธ Control API - In Progress
Phase 2 was completed with comprehensive Web UI, including:
- Web UI API (
/api/v1/web/*): Complete REST API supporting the SvelteKit frontend with authentication, campaign/attack management, agent monitoring, resource handling, hash list management, and real-time SSE event feeds - Supporting Infrastructure: Hash guessing service, keyspace estimation algorithms, caching layer, and comprehensive validation
- Advanced Features: Ephemeral resources, attack templates, crackable file uploads, and live event broadcasting
๐ Read Phase 2: API Implementation
Phase 2b: Resource Management (Completed)#
- Add
minio-pysupport to project - Add
MinioContainertestcontainers support for integration tests - Add
StorageServiceto handle MinIO operations - Migrate
resource_serviceto useStorageService - Develop full suite of tests for
StorageService - Develop full suite of tests for
resource_service - Finalize Resource Management API and implement all endpoints
Phase 2b was fully completed and tested, allowing file-backed resources to be supported via the MinIO object storage.
๐ Read Phase 2b: Resource Management
Phase 3: Web UI Development#
๐ Read Phase 3: Web UI Development
Phase 4: Containerization and Deployment#
๐ Read Phase 4: Containerization and Deployment
Phase 5: Task Distribution System#
๐ Read Phase 5: Task Distribution System
Phase 6: Monitoring, Testing and Documentation#
๐ Read Phase 6: Monitoring, Testing, Documentation
Phase 7: TUI Development#
๐ Read Phase 7: TUI Development
Notes#
- Much of this implementation plan is written with Python terms and references. Use these as references to help with the implementation, but the implementation is written in Ruby.
- Core Algorithm Implementation Guide
- Phase 4 was moved up to phase 2b to allow for the resource management to be completed before the web UI is fully implemented. There's currently a TODO to reshuffle the phases to reflect this, but just move to 5 after 3 is completed.
- As items in the various phases are completed, they are rolled up and added to this overview document.