An AI-powered security vulnerability scanner for Next.js applications, built for the HackCrypt hackathon.
- 🔍 Automated Security Scanning - Powered by Nuclei vulnerability scanner
- 🧊 Sandboxed Execution - Runs in isolated E2B cloud sandboxes
- 🔗 GitHub Integration - Clone and scan any GitHub repository
- 🎨 Modern UI - CIA-style control interface with VS Code-inspired file explorer
- ⚡ Auto-Install Tools - Nuclei is automatically installed on first scan
- Node.js 20.x or later
- pnpm (recommended) or npm
- E2B API Key (free tier available)
- GitHub PAT (for cloning private repositories)
# Install dependencies
pnpm install
# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your API keysCreate a .env.local file with:
# E2B API Key (required) - Get from https://e2b.dev
E2B_API_KEY=your_e2b_api_key
# GitHub Personal Access Token (for private repos)
GITHUB_PAT=your_github_patpnpm devOpen http://localhost:3000 to see the app.
- Clone Repository: Enter a GitHub URL to clone a Next.js repository into an E2B sandbox
- Auto-Setup: Dependencies are automatically installed (npm/pnpm/yarn detected)
- Install Nuclei: Scanner is installed in the background while cloning (~30 seconds)
- Scan: Run security scans immediately - Nuclei is already installed and ready!
- View Results: See vulnerabilities organized by severity with detailed information
├── app/ # Next.js App Router
├── components/
│ ├── dashboard/ # Main dashboard components
│ ├── layout/ # App layout (sidebar, header)
│ └── ui/ # shadcn/ui components
├── lib/
│ ├── actions/ # Server Actions (E2B sandbox ops)
│ ├── e2b/ # E2B sandbox utilities
│ ├── github/ # GitHub API client
│ ├── store/ # Zustand state management
│ └── types/ # TypeScript type definitions
└── public/
- Framework: Next.js 15 with App Router
- UI: shadcn/ui + Tailwind CSS v4
- State: Zustand
- Sandbox: E2B (cloud execution)
- Security Scanner: Nuclei by ProjectDiscovery
- GitHub: Octokit REST API
- E2B Documentation - Cloud sandboxes
- Nuclei Documentation - Vulnerability scanner
- Next.js Documentation - React framework