|
9 | 9 | [](https://github.com/DanielDeshmukh/aether/stargazers) |
10 | 10 | [](https://build.nvidia.com) |
11 | 11 | [](#license) |
12 | | -[](https://nextjs.org) |
| 12 | +[](https://nextjs.org) |
13 | 13 | [](https://typescriptlang.org) |
14 | | -[](https://python.org) |
15 | 14 |
|
16 | 15 | --- |
17 | 16 |
|
@@ -40,99 +39,15 @@ Target URL --> Recon --> AI Planning --> Exploit Execution --> Validatio |
40 | 39 |
|
41 | 40 | | Layer | Technology | |
42 | 41 | |-------|-----------| |
43 | | -| **Frontend** | Next.js 15, React 19, TypeScript, Tailwind CSS | |
44 | | -| **Backend** | Python 3.12, Playwright, NVIDIA NIM (OpenAI-compatible API) | |
| 42 | +| **Frontend** | Next.js 16, React 19, TypeScript, Tailwind CSS | |
| 43 | +| **Backend** | Next.js API Routes, TypeScript | |
45 | 44 | | **Database** | PostgreSQL 17, Prisma ORM | |
46 | 45 | | **Auth** | Custom JWT with magic link authentication | |
47 | | -| **AI Orchestration** | Nemotron 3 Super, Llama 3.3 Nemotron, DeepSeek V4 Flash | |
| 46 | +| **AI Orchestration** | NVIDIA NIM (Nemotron 3 Super, Llama 3.3 Nemotron, DeepSeek V4 Flash) | |
48 | 47 | | **Browser Automation** | Playwright with headless Chromium | |
49 | 48 |
|
50 | 49 | --- |
51 | 50 |
|
52 | | -## Project Structure |
53 | | - |
54 | | -``` |
55 | | -aether/ |
56 | | -├── src/app/ # Next.js App Router (pages + API routes) |
57 | | -├── src/lib/ # Auth, DB, email, API utilities |
58 | | -├── prisma/ # Database schema (10 tables) |
59 | | -├── public/ # Static assets |
60 | | -└── backend/ # Python scanning engine (subprocess) |
61 | | - └── app/ |
62 | | - ├── orchestrator/ # Brain, attack orchestrator |
63 | | - ├── engine/ # Heuristic, Playwright, validation lanes |
64 | | - ├── tools/ # Audit, headers, scanner, validators |
65 | | - └── services/ # Storage, domain verification |
66 | | -``` |
67 | | - |
68 | | ---- |
69 | | - |
70 | | -## Getting Started |
71 | | - |
72 | | -### Prerequisites |
73 | | -- Node.js 18+ |
74 | | -- Python 3.12+ |
75 | | -- PostgreSQL 17+ |
76 | | - |
77 | | -### Setup |
78 | | - |
79 | | -```bash |
80 | | -# Clone |
81 | | -git clone https://github.com/DanielDeshmukh/aether.git |
82 | | -cd aether |
83 | | - |
84 | | -# Install dependencies |
85 | | -cd aether && npm install |
86 | | -cd ../aether/backend && pip install -r requirements.txt |
87 | | - |
88 | | -# Set up environment |
89 | | -cp .env.example .env |
90 | | -# Edit .env with your DATABASE_URL, NVIDIA_API_KEY, AETHER_JWT_SECRET |
91 | | - |
92 | | -# Sync database schema |
93 | | -cd ../aether |
94 | | -npx prisma db push |
95 | | - |
96 | | -# Start development |
97 | | -cd ../aether && npm run dev |
98 | | -``` |
99 | | - |
100 | | -Open http://localhost:3000 |
101 | | - |
102 | | -### Docker (Full Stack) |
103 | | - |
104 | | -```bash |
105 | | -docker compose up --build |
106 | | -``` |
107 | | - |
108 | | -This starts PostgreSQL + the Next.js app with the Python scanning engine. |
109 | | - |
110 | | ---- |
111 | | - |
112 | | -## Deployment |
113 | | - |
114 | | -### Option 1: Railway / Fly.io (Full Functionality) |
115 | | - |
116 | | -The scan engine requires a Python subprocess, so **full functionality needs a server environment**. |
117 | | - |
118 | | -```bash |
119 | | -# Railway |
120 | | -railway init |
121 | | -railway add --database postgres |
122 | | -railway variables set NVIDIA_API_KEY=... AETHER_JWT_SECRET=... AETHER_USE_NVIDIA_ORCHESTRATOR=true |
123 | | -railway up |
124 | | -``` |
125 | | - |
126 | | -### Option 2: Vercel (UI Only) |
127 | | - |
128 | | -The Next.js app deploys to Vercel. Scans won't execute (serverless can't spawn Python), but the UI, auth, and dashboard work. |
129 | | - |
130 | | -```bash |
131 | | -vercel deploy |
132 | | -``` |
133 | | - |
134 | | ---- |
135 | | - |
136 | 51 | ## Core Capabilities |
137 | 52 |
|
138 | 53 | ### Autonomous Exploit Execution |
|
0 commit comments