Fully offline AI-powered audit report generator that ingests scan ZIP files, filters High/Critical vulnerabilities, whitens sensitive data, runs local LLM analysis via Ollama, and exports Markdown reports.
- 🔒 Offline-First: No external API dependencies - runs completely offline
- 🤖 AI-Powered Analysis: Local LLM integration via Ollama for intelligent vulnerability analysis
- 📊 Data Processing Pipeline: Complete ETL pipeline for security scan data
- 🛡️ Data Whitening: Automatic sanitization of sensitive information
- 📋 Markdown Reports: Clean, professional audit reports in Markdown format
- 🎨 Modern UI: Beautiful React interface with Shadcn/ui components
- 🚀 FastAPI Backend: High-performance Python backend
- 📱 Responsive Design: Works on desktop and mobile devices
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ React Frontend│ │ FastAPI Backend│ │ Ollama LLM │
│ (TypeScript) │◄──►│ (Python) │◄──►│ (Local Models) │
│ │ │ │ │ │
│ • Dashboard │ │ • Data Ingestion│ │ • Gemma │
│ • Data Whitening│ │ • ETL Pipeline │ │ • Llama Tech │
│ • AI Analysis │ │ • Report Gen │ │ • Custom Models │
│ • Validation │ │ • API Endpoints │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
- Node.js (v18+)
- Python (v3.8+)
- Ollama (for AI analysis)
-
Clone the repository
git clone https://github.com/Hari-Eshwaran/insight-guardian.git cd insight-guardian -
Install Frontend Dependencies
npm install
-
Install Backend Dependencies
cd backend pip install -r requirements.txt cd ..
-
Start Ollama Service
# Make sure Ollama is running with required models ollama serve ollama pull llama2 # or your preferred model
-
Start the Application
# Terminal 1: Start Frontend (Dev Mode) npm run dev # Terminal 2: Start Backend cd backend python main.py
-
Open your browser
http://localhost:5173
ReportX-Ai/
├── src/ # React Frontend
│ ├── components/ # Reusable UI Components
│ ├── pages/ # Application Pages
│ ├── services/ # API Services
│ └── hooks/ # Custom React Hooks
├── backend/ # FastAPI Backend
│ ├── app/
│ │ ├── analysis/ # Data Analysis Modules
│ │ ├── ingestion/ # Data Ingestion Logic
│ │ ├── llm/ # LLM Integration
│ │ ├── models/ # Pydantic Models
│ │ ├── pipeline/ # Processing Pipeline
│ │ ├── prompts/ # LLM Prompt Templates
│ │ ├── report/ # Report Generation
│ │ ├── service/ # Business Logic
│ │ └── whitening/ # Data Sanitization
│ └── main.py # FastAPI Application
├── data/ # Sample Data & Evidence
├── public/ # Static Assets
└── package.json # Frontend Dependencies
# Frontend
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run test # Run tests
npm run lint # Run ESLint
# Backend
cd backend
python main.py # Start FastAPI serverCreate a .env file in the backend directory:
OLLAMA_BASE_URL=http://localhost:11434
MODEL_GEMMA_EXEC=gemma:7b
MODEL_LLAMA_TECH=llama2:7bThe application supports multiple Ollama models for different analysis tasks:
- Gemma: General vulnerability analysis
- Llama Tech: Technical report generation
- Custom Models: Configure in
backend/app/config.py
- Supported Formats: ZIP files containing security scan data
- Vulnerability Filtering: High/Critical severity only
- Data Whitening: Automatic PII and sensitive data removal
Once the backend is running, visit:
- Swagger UI:
http://localhost:8000/docs - ReDoc:
http://localhost:8000/redoc - OpenAPI JSON:
http://localhost:8000/openapi.json
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- FastAPI - Modern Python web framework
- React - UI library
- Shadcn/ui - Beautiful UI components
- Ollama - Local LLM runtime
- Tailwind CSS - Utility-first CSS framework
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Built with ❤️ for the cybersecurity community