An open API service indexing awesome lists of open source software.

https://github.com/ind4skylivey/aetherframe

Hybrid monorepo malware analysis platform with plugin-based architecture. Features automated threat detection, dynamic tracing (Frida), and interactive analytics dashboard.
https://github.com/ind4skylivey/aetherframe

anti-analysis automation binary-analysis celery docker fastapi frida instrumentation malware-analysis monorepo postgresql python react real-time-analytics reverse-engineering

Last synced: 3 months ago
JSON representation

Hybrid monorepo malware analysis platform with plugin-based architecture. Features automated threat detection, dynamic tracing (Frida), and interactive analytics dashboard.

Awesome Lists containing this project

README

          


AetherFrame Banner

⚑ AetherFrame ⚑


"Advanced Malware Analysis with Hybrid Monorepo Architecture"










## 🎬 Ecosystem Showcase


🌐 Complete Ecosystem Tour

AetherFrame Complete Ecosystem Demo


πŸ“– Interactive API Documentation

AetherFrame API Swagger UI

---

## πŸ“₯ Download

### Desktop Applications



Latest Release


Downloads



Linux


macOS


Windows


πŸ‘‰ Download Latest Release

### Installation

**Linux:**

```bash
# AppImage (portable)
chmod +x aetherframe_*.AppImage
./aetherframe_*.AppImage

# Debian/Ubuntu
sudo dpkg -i aetherframe_*.deb
aetherframe
```

**macOS:**

```bash
# Open .dmg file
# Drag AetherFrame.app to Applications
# Launch from Applications folder
```

**Windows:**

```
# Run installer (.exe or .msi)
# Follow installation wizard
# Launch from Start Menu
```

---

## πŸ”₯ Why AetherFrame?

- πŸš€ **Automated Analysis Pipelines** - Plugin-based orchestration with FastAPI + Celery + Redis
- πŸ›‘οΈ **Advanced Threat Detection** - 50+ anti-analysis techniques, behavioral patterns, obfuscation
- 🎯 **Frida-Powered Tracing** - Live runtime introspection and instrumentation (LainTrace)
- βš™οΈ **Zero-Setup Stack** - Docker Compose with Postgres + MinIO + Redis pre-configured
- πŸ“Š **Real-Time Analytics** - Interactive dashboards with 6 chart types (Recharts)
- 🌌 **Full Observability** - `/status` endpoint, event streams, auto-refresh UI
- 🧩 **Hybrid Monorepo** - Independent packages, plugins, and modules
- 🎨 **Premium UI/UX** - Dark theme with glassmorphism and live monitoring

---

## πŸš€ Quick Start

### One-Command Launch

```bash
# Clone repository
git clone git@github.com:ind4skylivey/aetherframe.git
cd aetherframe

# Start everything
./start.sh
```

**Access Points:**

- 🌐 **Web UI**: http://localhost:3000
- πŸ” **API Docs**: http://localhost:3000/api/docs
- πŸ’Ύ **MinIO Console**: http://localhost:9001

### Alternative: Development Mode

```bash
# Backend
cd packages/core
docker compose up -d

# Frontend (in another terminal)
cd packages/frontend
npm install
npm run dev
```

---

## 🧠 Architecture

### System Overview

```mermaid
flowchart TB
subgraph Frontend["🎨 Frontend Layer"]
UI["React UI
(Analytics + Live Monitor)"]
CLI["CLI Tool
(Typer)"]
end

subgraph Backend["⚑ Backend Layer"]
API["FastAPI
(REST API)"]
Celery["Celery Worker
(Async Jobs)"]
end

subgraph Plugins["🧩 Plugin System"]
Umbriel["Umbriel
(Anti-Analysis)"]
Noema["Noema
(Intent Classification)"]
Valkyrie["Valkyrie
(Binary Validation)"]
More["... 6 total plugins"]
end

subgraph Storage["πŸ’Ύ Data Layer"]
Postgres[("PostgreSQL
(Jobs, Findings)")]
Redis[("Redis
(Task Queue)")]
MinIO[("MinIO
(Artifacts)")]
end

subgraph Tracing["πŸ” Dynamic Analysis"]
LainTrace["LainTrace
(Frida Agent)"]
end

UI -->|HTTP| API
CLI -->|HTTP| API
API -->|Tasks| Celery
Celery -->|Execute| Plugins
Celery -->|Store| Postgres
Celery -->|Queue| Redis
Celery -->|Artifacts| MinIO
LainTrace -->|Events| API
API -->|Read| Postgres
```

### Monorepo Structure

```
aetherframe-ecosystem/
β”œβ”€β”€ AetherFrame/ # Main backend package
β”‚ β”œβ”€β”€ core/ # FastAPI backend core
β”‚ β”œβ”€β”€ plugins/ # Plugin infrastructure
β”‚ β”œβ”€β”€ cli/ # Command-line interface
β”‚ └── tests/ # Test suite
β”œβ”€β”€ ReverisNoctis/ # Desktop application (Tauri + React)
β”‚ β”œβ”€β”€ src/ # React frontend
β”‚ β”œβ”€β”€ src-tauri/ # Tauri backend (Rust)
β”‚ └── dist/ # Build artifacts
β”œβ”€β”€ plugins/ # Analysis plugins (6 total)
β”‚ β”œβ”€β”€ umbriel/ # Anti-analysis detection (50+ techniques)
β”‚ β”œβ”€β”€ noema/ # Intent classification
β”‚ β”œβ”€β”€ valkyrie/ # Binary validation
β”‚ β”œβ”€β”€ mnemosyne/ # State reconstruction
β”‚ β”œβ”€β”€ static_analyzer/ # Static analysis
β”‚ └── laintrace/ # Dynamic tracing (Frida)
β”œβ”€β”€ packages/ # Additional packages
β”‚ β”œβ”€β”€ frontend/ # Web UI (React + Vite)
β”‚ β”œβ”€β”€ core/ # Backend services
β”‚ └── cli/ # CLI utilities
β”œβ”€β”€ LainTrace/ # Frida agent modules
β”œβ”€β”€ infra/ # Infrastructure configs
β”œβ”€β”€ docker/ # Docker configurations
└── scripts/ # Automation scripts
```

---

## πŸ“¦ Features

### Backend (FastAPI + Celery)

- **Pipeline Orchestration**

- Modular plugin system
- Configurable analysis stages
- Conditional execution
- Async task processing with Celery

- **Detection Engines**

- **Umbriel**: Anti-debugging, anti-VM, anti-Frida detection (50+ techniques)
- **Noema**: Intent classification and behavioral analysis
- **Valkyrie**: Binary validation and integrity checks
- **Static Analyzer**: Comprehensive static analysis
- **LainTrace**: Dynamic tracing with Frida instrumentation
- **Mnemosyne**: State reconstruction from memory dumps

- **Data Management**
- PostgreSQL for structured data (jobs, findings, artifacts)
- MinIO for artifact storage (JSON, HTML, binary reports)
- Redis for task queue and caching
- Alembic for database migrations

### Frontend (React + Vite)

- **Six Main Views**

- **Dashboard**: System overview and recent jobs
- **Analytics**: 6 interactive charts with threat intelligence
- **Launch**: Interactive pipeline submission interface
- **Job Details**: Comprehensive analysis results
- **Findings**: Filterable threat browser with severity indicators
- **Artifacts**: Downloadable reports gallery

- **Visualizations** (Recharts)

- Severity distribution (Pie chart)
- Category breakdown (Bar chart)
- Job timeline (Line chart)
- Threat radar (Radar chart)
- Risk score trends (Line chart)
- Confidence distribution (Bar chart)

- **Real-Time Features**
- LiveMonitor sidebar with auto-refresh (5s)
- System health indicators
- Live metrics counters
- Hot Module Replacement (HMR) for development

---

## 🎯 Pipeline Types

| Pipeline | Description | Speed | Depth | Use Case |
| ----------------- | ---------------------------------------------- | ------ | ---------- | ------------------- |
| **quicklook** | Fast triage with anti-analysis detection | ⚑⚑⚑ | ⭐ | Initial assessment |
| **deep-static** | Comprehensive static analysis + decompilation | ⚑⚑ | ⭐⭐⭐ | Detailed inspection |
| **dynamic-first** | Runtime analysis with Frida instrumentation | ⚑ | ⭐⭐⭐⭐ | Behavioral analysis |
| **full-audit** | Complete: static + dynamic + ML classification | ⚑ | ⭐⭐⭐⭐⭐ | Full investigation |

---

## πŸ”§ Installation

### Prerequisites

- Docker & Docker Compose
- Node.js 16+ & npm (for frontend development)
- Python 3.11+ (for backend development)

### All-in-One (Recommended)

Uses Docker Compose with all services in one container:

```bash
./start.sh
```

### Manual Setup

**Backend:**

```bash
cd packages/core
docker compose up -d # Start dependencies
pip install -r requirements.txt
uvicorn aetherframe.main:app --reload
```

**Frontend:**

```bash
cd packages/frontend
npm install
npm run dev
```

**Plugins:**

```bash
# Install specific plugins
pip install -e plugins/umbriel
pip install -e plugins/noema

# Or install all
python scripts/install-all.py
```

---

## πŸ“Š API Endpoints

### System

- `GET /status` - System health and metrics
- `GET /metrics` - Prometheus metrics

### Jobs

- `GET /jobs` - List all jobs
- `GET /jobs/{id}` - Get job details
- `POST /jobs` - Submit new analysis job
- `GET /jobs/{id}/findings` - Get job findings
- `GET /jobs/{id}/artifacts` - Get job artifacts
- `GET /jobs/{id}/events` - Get job events

### Global Queries

- `GET /findings` - All findings across jobs
- `GET /artifacts` - All artifacts
- `GET /plugins` - List available plugins

**Interactive Docs**: http://localhost:8000/docs


LainTrace Probe Event

---

## 🧩 Plugin Development

### Create a Plugin

```python
# plugins/my_plugin/plugin.py
from aetherframe.plugins.base import BasePlugin

class MyPlugin(BasePlugin):
def analyze(self, target: str) -> dict:
return {
"findings": [...],
"artifacts": [...],
"metadata": {...}
}
```

### Register Plugin

```yaml
# plugins/my_plugin/plugin.yaml
name: my_plugin
version: 1.0.0
description: My custom analysis plugin
author: your-name
entry_point: my_plugin.plugin:MyPlugin
```

### Install Plugin

```bash
cd plugins/my_plugin
pip install -e .
```

See [Plugin SDK](./tools/plugin-sdk/) for full documentation.

---

## 🎨 Screenshots

### Analytics Dashboard

Modern analytics with interactive charts, threat intelligence, and real-time metrics.

### Live Monitoring

Auto-refreshing sidebar showing system health, active jobs, and latest findings.

### Job Details

Comprehensive view with tabbed interface for findings, artifacts, and trace events.

---

## πŸ”„ Development Workflow

### Make Changes

```bash
# Backend
cd packages/core
# Edit code
pytest # Run tests

# Frontend
cd packages/frontend
# Edit code
npm run dev # Auto-reload

# Plugin
cd plugins/umbriel
# Edit code
pytest tests/
```

### Database Migrations

```bash
cd packages/core
alembic revision --autogenerate -m "Description"
alembic upgrade head
```

### Build for Production

```bash
# Frontend
cd packages/frontend
npm run build

# Docker all-in-one
docker compose -f docker-compose.allinone.yml build
```

---

## πŸ—ΊοΈ Roadmap

### βœ… Completed

- [x] Backend pipeline orchestration
- [x] Plugin system architecture (6 plugins)
- [x] React frontend with routing
- [x] Analytics dashboard with charts
- [x] Real-time monitoring
- [x] Docker all-in-one setup
- [x] Hybrid monorepo structure
- [x] Desktop application (ReverisNoctis - Tauri)
- [x] Cross-platform installers (Windows, macOS, Linux)
- [x] Complete plugin ecosystem

### 🚧 In Progress

- [ ] WebSocket real-time updates
- [ ] Job comparison tool
- [ ] Enhanced plugin marketplace

### πŸ’‘ Future

- [ ] ML-powered threat classification
- [ ] Multi-user authentication
- [ ] Cloud deployment automation
- [ ] Mobile companion app
- [ ] Plugin marketplace

---

## πŸ“„ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE.txt) file for details.

---

## πŸ™ Acknowledgments

- FastAPI for the excellent web framework
- Celery for robust task processing
- Recharts for beautiful visualizations
- Frida for dynamic instrumentation
- PostgreSQL, Redis, and MinIO teams

---

## πŸ“ž Contact

**Author**: [@ind4skylivey](https://github.com/ind4skylivey)
**Repository**: [aetherframe](https://github.com/ind4skylivey/aetherframe)

---

[⬆ back to top](#-aetherframe-)

## ⚠️ Known Issues

### Linux AppImage - EGL Display Error

Some Linux systems with AMD GPUs may experience an EGL error when running the AppImage:

```
Could not create default EGL display: EGL_BAD_PARAMETER
```

**Workarounds:**
1. Use the `.deb` package (recommended for Debian/Ubuntu)
2. Convert `.deb` to Arch package with `debtap` (for Arch Linux)
3. Use development mode: `cd ReverisNoctis && npm run tauri:dev`

This is a known limitation of how AppImages bundle graphics libraries and doesn't affect the `.deb` package or other platforms.