- 🚀 Unleash automated offensives with pluginized job pipelines (FastAPI + Celery + Redis)
- 🛡️ Frida-powered tracing (LainTrace) for live target introspection
- ⚙️ Zero-setup red team stack via Docker Compose (Postgres + MinIO + Redis pre-wired)
- 🌌 Observability baked-in:
/status, Prometheus/metrics, event streams, auto-refresh UI - 🧩 Extensible Typer CLI + Vite/React UI for ops, plugins, and events
# clone
git clone git@github.com:ind4skylivey/aetherframe-ecosystem.git
cd aetherframe-ecosystem
# env
cp .env.example .env
# (if your shell aliases docker->podman)
export DOCKER_HOST=unix:///var/run/docker.sock
# unleash
docker compose -f infra/docker-compose.yml --env-file .env up -d- API: http://localhost:8000
- UI (Reveris Noctis): http://localhost:3000
- MinIO console: http://localhost:9001
flowchart LR
subgraph AetherFrame[FastAPI + Celery]
API-->Worker
Worker-->Redis[(Redis)]
Worker-->Postgres[(Postgres)]
API-->Postgres
Worker-->MinIO[(MinIO)]
end
subgraph Reveris[Reveris Noctis UI/CLI]
UI-->API
CLI-->API
end
subgraph LainTrace[Frida Tracing]
Agent-->API
Agent-->Worker
end
UI-.events/jobs.->API
Worker-.metrics.->API
API-.prometheus.->Monitor[(Prometheus/Grafana)]
- Orchestrates red-team plugins/jobs through a FastAPI core and Celery worker, backed by Redis + Postgres + MinIO for broker/state/artifacts.
- Gives operators a thin React UI and Typer CLI (Reveris Noctis) to submit jobs, watch events, and see live counts without extra tooling.
- Accepts telemetry/events from Frida-based agents (LainTrace) so runtime traces land in the same pipeline as jobs.
- Exposes
/statusand/metricsnatively; Prometheus/Grafana are optional add-ons, not required to run the stack.
- Built for offensive workflows first (plugins/jobs/events) instead of generic app monitoring.
- Self-contained, single compose: everything needed for demos/tests ships here (no default Prometheus dependency).
- Artifact-aware: MinIO is wired for storing loot/output alongside job state.
- Live operator loop: UI auto-refreshes counts/events every 10s; CLI shows recent events after submissions for instant feedback.
- ⚡ Pluginized Chaos: create plugins + jobs via API/UI/CLI; Celery fans them out.
- 🔭 Observability Now:
/status,/metrics, event stream; UI auto-refresh 10s. - 🧱 Secure-by-default: CORS configurable, non-root worker, input trimming/validation.
- 🧰 Developer Ergonomics: Typer CLI, Vite HMR, Alembic migrations, SQLite-friendly tests.
- 🛰️ Trace Everything: LainTrace hooks for Frida-based recon/exfil (placeholder hooks ready).
# status
python cli/main.py status
# add plugin
python cli/main.py add-plugin --name testplug --version 0.1.0 --description "sample"
# add job
python cli/main.py add-job --target sample.bin --plugin-id 1
# tail events
python cli/main.py eventsGET /links to docs, health, status, metrics, plugins, jobs, eventsGET /healthlivenessGET /statusaggregates + Celery ping + metrics snapshotGET /metricsPrometheus textPOST /plugins,GET /pluginsPOST /jobs,GET /jobs,GET /jobs/{id}POST /events,GET /events
AETHERFRAME_CORS_ORIGINS— comma list, defaulthttp://localhost:3000,http://127.0.0.1:3000DB_URL/AETHERFRAME_DB_URL— override DB (SQLite allowed for tests)POSTGRES_*,REDIS_*,MINIO_*— creds/hosts/portsAETHERFRAME_API_HOST,AETHERFRAME_API_PORTAETHERFRAME_WORKER_CONCURRENCYAETHERFRAME_LICENSE_TOKEN— base64 ed25519 signature (required when enforcement on)AETHERFRAME_LICENSE_ENFORCE— defaulttrue; setfalseonly for internal/dev
docker compose -f infra/docker-compose.yml --env-file .env exec -e PYTHONPATH=/app aetherframe-api alembic upgrade head- Redis may warn
vm.overcommit_memory=1→sudo sysctl -w vm.overcommit_memory=1 - Buildx warnings are harmless; silence with
COMPOSE_DOCKER_CLI_BUILD=0or install buildx - Always pass
--env-file .envto compose
[UI/CLI] --(HTTP)--> [FastAPI] --(tasks)--> [Celery Worker]
\ / \
\--(events/metrics)------------------ [Redis]
\ /
\--> [Postgres] <----/
\--> [MinIO]
[Frida Agent] -> [API/Worker] (events)
- Core stack (API, Worker, Redis, Postgres, MinIO, UI, CLI)
- Events + metrics + root landing
- CORS configurable, DB override
- API tests (validation, metrics, CORS preflight)
- Rate limiting & payload size guards
- GHCR images publish
- Grafana/Prometheus bundle
- Frida trace examples & PoCs
Environment & Hardening
- Run worker non-root (already configured).
- Set
vm.overcommit_memory=1for silent Redis. - Consider
AETHERFRAME_CORS_ORIGINSfor production domains. - Use
DB_URLfor ephemeral SQLite in CI/local tests.
Testing
cd AetherFrame
PYTHONPATH=. DB_URL=sqlite:///tests/test.db pytestDocker / Podman note
If shell aliases docker→podman, set DOCKER_HOST=unix:///var/run/docker.sock to force the Docker daemon.
- Offensive Security Specialist maintainer: ind4skylivey (OSCP/ARTE/CASP+/CEH)
- Looking for: exploit devs, React/Vite wizards, observability nerds, Frida tinkerers.
- PRs welcome: keep code/docs in English; no co-authored-by bots.
Keywords: red team automation, FastAPI Celery stack, Frida tracing, offensive security Docker compose, pluginized jobs, Redis broker, Postgres persistence, MinIO artifacts, Vite React dashboard, Typer CLI.
• Watch this space for
v0.1.0-preview tag.
docker compose -f infra/docker-compose.yml --env-file .env up -dPluginized chaos. Zero-setup red team stack. Go break things. ⚡
- Compose up
- Alembic upgrade head
- CLI smoke import
- UI preview build
- GHCR push
- Grafana dashboards
- Frida sample script
- Snyk/Trivy sweep
- Rate-limit middleware
- Pytest API basic
- Load test (Locust/k6)
- UI e2e (Playwright)
- CLI golden snapshots
- Worker chaos monkey
- AETHERFRAME_CORS_ORIGINS
- AETHERFRAME_API_HOST / PORT
- AETHERFRAME_WORKER_CONCURRENCY
- DB_URL / AETHERFRAME_DB_URL
- POSTGRES_* / REDIS_* / MINIO_*
- DOCKER_HOST (if podman alias)
- COMPOSE_DOCKER_CLI_BUILD (silence buildx)
- GET /metrics
- Gauges: aether_jobs_total, aether_jobs_status_total{status="pending|running|completed|failed"}
- /status includes counts + Celery ping + avg elapsed
- ⏹️ Stop tasks:
docker compose stop aetherframe-worker - 🧹 Clear queues:
redis-cli FLUSHALL(only if safe) - 🩺 Health:
curl :8000/health - 📈 Status:
curl :8000/status - 📜 Logs:
docker compose logs -f aetherframe-api aetherframe-worker
- Add JWT / API keys for POST endpoints
- Rate-limit
/jobs//plugins - Payload size caps
- TLS termination upstream
- Separate worker network for malware sandboxes
- Agent connects back to API/Worker
- Ships events into
/events - Future: live memory scan, syscall trace, stealth beacons
- YARA scan plugin
- EXIF/metadata ripper
- C2 health-checker
- Wordlist spray
- Deserialization PoC launcher
- UI uses Vite+React; add Tailwind or Mantine for faster skins
- Swap gradients in
src/theme.tsx(WIP) - Live reload via
npm run dev
aetherframe-ecosystem/
├─ AetherFrame/ # FastAPI, Celery, Alembic, tests
├─ ReverisNoctis/ # Vite+React UI, Typer CLI
├─ LainTrace/ # Frida tracer/agent
├─ infra/ # docker-compose.yml, shared build context
├─ prompts/ # bootstrap/staged/roadmap guides
├─ assets/ # gifs, screenshots, diagrams (add more!)
├─ CHANGELOG.md
└─ README.md
- Backend: lint syntax, install deps, PYTHONPATH=. pytest
- CLI: smoke import, npm ci, npm run build
- UI build: Vite production bundle
- Future: alembic check, docker build & push
- v0.1.0-preview → current
- v0.1.1 → GHCR images, rate-limit
- v0.2.0 → Frida examples, dashboards
- v1.0.0 → hardened auth, full observability pack
Q: Podman hijacks docker?
A: export DOCKER_HOST=unix:///var/run/docker.sock
Q: Can I run tests without Postgres?
A: Yes, DB_URL=sqlite:///tests/test.db pytest
Q: Where do artifacts land?
A: MinIO bucket aether-artifacts (configurable).
- Events emitted:
job_started,job_completed,job_failed - Jobs store
result.elapsed_sec - UI polls every 10s (configurable in front-end)
- CI:
https://github.com/ind4skylivey/aetherframe-ecosystem/actions/workflows/ci.yml/badge.svg - FastAPI: neon purple
- Celery: neon green
- React/Vite: cyan/purple
- Docker Compose: teal
- Author: ind4skylivey — Offensive Security Specialist (OSCP / ARTE / CASP+ / CEH)
- No co-authored-by bots; English-only commits/docs
- Branch naming:
exploit/*,tool/*,research/*
- Built for red-team labs, malware analysis benches, PoC automation
- Ideal for plugin-based exploit chains and rapid recon pipelines
- Docker-first so you can spin it in isolated VLANs
python cli/main.py add-plugin --name vulnscan --version 0.2.1 --description "SQLi sweep"
python cli/main.py add-job --target target.bin --plugin-id 1
python cli/main.py eventsdocker compose logs -f aetherframe-api aetherframe-worker- Gradient background in UI (todo)
- Neon highlight tokens
- Matrix-rain events panel (ideas welcome)
- Fork → feature branch → PR
- Add tests where possible (SQLite allowed)
- Keep README gifs in
assets/
- Copyright (c) 2025 ind4skylivey. All rights reserved.
- EULA applies: see
EULA.md. No redistribution, resale, SaaS hosting, or derivatives without written consent. - Trademarks: “AetherFrame”, “Reveris Noctis”, “LainTrace” and associated logos require permission.
- NOTICE file included for clarity; violations may result in takedowns.
- GHCR images
- OTEL traces
- Loki log sink
- Frida live dashboards
- SLA burn rates for jobs
- Use in authorized environments only.
- Keep malware in isolated networks (
malware-isolatedsuggested). - No real-world targets without written approval.
- Scroll back to Quickstart, or smash:
docker compose -f infra/docker-compose.yml --env-file .env up -dPluginized chaos. Zero-setup red team stack. Go break things. ⚡










