AI SOC Analyst is a full-stack cybersecurity platform designed to simulate a modern Security Operations Center (SOC) environment.
The platform provides centralized security monitoring, incident management, security analytics, role-based access control, audit logging, real-time communication capabilities, and production-ready REST APIs through a responsive SOC dashboard.
The project is built with a production-oriented architecture using React, TypeScript, Django REST Framework, PostgreSQL, Redis, Celery, Django Channels, Docker, and JWT authentication.
Live Demo:
https://ai-soc-analyst-eosin.vercel.app
Backend:
https://ai-soc-backend-iqpx.onrender.com
Interactive Swagger UI:
https://ai-soc-backend-iqpx.onrender.com/api/docs/
https://ai-soc-backend-iqpx.onrender.com/api/schema/
https://ai-soc-backend-iqpx.onrender.com/healthz
Note: The backend is currently hosted on a free Render instance. The first request after inactivity may take approximately 50 seconds or more while the service wakes up.
Modern Security Operations Centers process large volumes of security alerts and incidents.
AI SOC Analyst provides a centralized platform where security teams can:
- Monitor security incidents
- Analyze incident severity and trends
- Track incident status
- Assign incidents to SOC analysts
- Manage incident response workflows
- Monitor SOC analytics
- Maintain audit logs
- Generate security reports
- Authenticate users securely using JWT
- Apply role-based access control
- Receive real-time security updates
- Access documented REST APIs
The architecture is designed to support additional enterprise SIEM capabilities such as Elasticsearch, IOC management, threat intelligence, alert correlation, observability, and automated CI/CD.
- JWT-based authentication
- Access and refresh token support
- Automatic access-token refresh
- Refresh-token rotation
- Refresh-token blacklisting
- Secure logout
- Protected API endpoints
- Role-Based Access Control (RBAC)
- Secure password handling through Django
- CORS configuration
- CSRF trusted-origin configuration
- HTTP security headers
| Role | Purpose |
|---|---|
| Admin | Administrative and privileged SOC operations |
| Manager | SOC management and monitoring |
| SOC Analyst | Incident investigation and response |
The incident management module provides a structured workflow for security incidents.
Features include:
- Incident listing
- Incident details
- Incident creation
- Incident updates
- Incident deletion
- Analyst assignment
- Incident status updates
- Severity filtering
- Status filtering
- Search
- Pagination
- Analyst performance data
- Incident statistics
- Incident trend analysis
The security dashboard provides centralized visibility into SOC activity.
Dashboard capabilities include:
- Security overview
- Incident statistics
- Severity distribution
- Status distribution
- Incident trends
- Latest security incidents
- SOC activity monitoring
- Dashboard data aggregation
- CSV dashboard export
- Real-time monitoring architecture
The analytics module helps SOC teams understand incident patterns and operational trends.
Analytics include:
- Incident statistics
- Severity distribution
- Status distribution
- Incident trends
- SOC analyst performance
- Security metrics visualization
Charts and analytics are rendered using Recharts.
Security-sensitive operations can be tracked through the audit logging system.
The module supports:
- Audit log listing
- Audit log details
- Audit statistics
- Audit dashboard
- Authentication protection
- Role-based authorization
This provides a foundation for accountability and security investigation workflows.
The reporting module provides infrastructure for SOC reporting and security data exports.
The architecture supports:
- Security report generation
- Incident reporting
- Dashboard exports
- Security analytics reporting
The project includes asynchronous and real-time infrastructure using:
- Django Channels
- ASGI
- Daphne
- Redis
- WebSockets
- Celery
This architecture enables real-time SOC features and background security processing.
βββββββββββββββββββββββββββ
β End User β
β SOC Analyst / Admin β
ββββββββββββββ¬βββββββββββββ
β
HTTPS
β
βΌ
βββββββββββββββββββββββββββ
β React Frontend β
β TypeScript + Vite UI β
β Vercel β
ββββββββββββββ¬βββββββββββββ
β
REST API / JWT
β
βΌ
βββββββββββββββββββββββββββββββββββ
β Django REST Backend β
β Django + DRF β
β Daphne / ASGI β
βββββββββββββββββ¬ββββββββββββββββββ
β
βββββββββββββββββββββββΌββββββββββββββββββββββ
β β β
βΌ βΌ βΌ
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
β PostgreSQL β β Redis β β Celery β
β Database β β Cache/Channelβ β Background β
β β β Layer β β Tasks β
ββββββββββββββββ ββββββββ¬ββββββββ ββββββββββββββββ
β
βΌ
ββββββββββββββββ
β WebSockets β
β Channels β
ββββββββββββββββ
| Technology | Purpose |
|---|---|
| React | Frontend UI |
| TypeScript | Type-safe frontend development |
| Vite | Frontend build tooling |
| Tailwind CSS | Responsive styling |
| React Router | Client-side routing |
| Axios | API communication |
| Recharts | Security analytics visualization |
| Lucide React | Dashboard icons |
| Technology | Purpose |
|---|---|
| Python | Backend programming language |
| Django | Backend framework |
| Django REST Framework | REST API development |
| SimpleJWT | JWT authentication |
| drf-spectacular | OpenAPI / Swagger documentation |
| Django Channels | WebSocket support |
| Daphne | ASGI server |
| Celery | Background task processing |
| django-filter | API filtering |
| Technology | Purpose |
|---|---|
| PostgreSQL | Primary relational database |
| Redis | Cache, Channels and Celery infrastructure |
| Docker | Backend containerization |
| WhiteNoise | Django static-file handling |
| Service | Purpose |
|---|---|
| Vercel | React frontend deployment |
| Render | Django backend deployment |
| GitHub | Source control and repository hosting |
AI-SOC-Analyst/
β
βββ backend/
β βββ accounts/
β βββ audit_logs/
β βββ common/
β βββ config/
β βββ dashboard/
β βββ detection/
β βββ incidents/
β βββ notifications/
β βββ reports/
β βββ system/
β β
β βββ Dockerfile
β βββ manage.py
β βββ requirements.txt
β
βββ frontend/
β βββ public/
β βββ src/
β β βββ components/
β β βββ constants/
β β βββ contexts/
β β βββ hooks/
β β βββ layouts/
β β βββ lib/
β β βββ pages/
β β βββ services/
β β βββ types/
β β βββ utils/
β β
β βββ package.json
β βββ vite.config.ts
β βββ vercel.json
β
βββ .env.example
βββ .gitignore
βββ LICENSE
βββ README.md
The backend exposes documented REST APIs for authentication, incidents, analytics, audit logs, reports, and system functionality.
Swagger provides an interactive interface for exploring and testing the REST API.
Swagger UI
https://ai-soc-backend-iqpx.onrender.com/api/docs/
/api/accounts/
/api/incidents/
/api/audit-logs/
/api/reports/
/api/dashboard/
/api/system/
/api/schema/
/api/docs/
GET /api/incidents/
GET /api/incidents/stats/
GET /api/incidents/severity/
GET /api/incidents/status/
GET /api/incidents/trends/
GET /api/incidents/analysts/
GET /api/incidents/dashboard/
GET /api/incidents/<uuid>/
POST /api/incidents/create/
PATCH /api/incidents/<uuid>/update/
DELETE /api/incidents/<uuid>/delete/
PATCH /api/incidents/<uuid>/assign/
PATCH /api/incidents/<uuid>/status/
Protected endpoints require a valid JWT access token and may additionally enforce role-based permissions.
User Login
β
βΌ
Django Authentication
β
βΌ
Access Token + Refresh Token
β
βΌ
Frontend Token Service
β
βΌ
Authorization: Bearer <access_token>
β
βΌ
Protected REST API
β
βββ Valid Token ββββββββΊ API Response
β
βββ Expired Token
β
βΌ
Refresh Token
β
βΌ
New Access Token
β
βΌ
Retry Request
git clone https://github.com/soniyaritgithub/AI-SOC-Analyst.git
cd AI-SOC-AnalystWindows:
cd backend
python -m venv venv
venv\Scripts\activatemacOS / Linux:
cd backend
python3 -m venv venv
source venv/bin/activatepip install -r requirements.txtCreate the required backend environment configuration using the provided .env.example as a reference.
Typical configuration includes:
SECRET_KEY=your-secret-key
DEBUG=True
DB_NAME=your_database
DB_USER=your_database_user
DB_PASSWORD=your_database_password
DB_HOST=localhost
DB_PORT=5432
REDIS_URL=redis://127.0.0.1:6379/0
ALLOWED_HOSTS=127.0.0.1,localhost
CORS_ALLOWED_ORIGINS=http://localhost:5173
CSRF_TRUSTED_ORIGINS=http://localhost:5173Email-related environment variables may also be required depending on the configured backend environment.
Never commit real secrets or production credentials to GitHub.
python manage.py migratepython manage.py checkExpected result:
System check identified no issues (0 silenced).
python manage.py testpython manage.py runserverBackend:
http://127.0.0.1:8000
Swagger:
http://127.0.0.1:8000/api/docs/
Open another terminal:
cd frontend
npm installCreate/configure the frontend environment file:
VITE_API_BASE_URL=http://127.0.0.1:8000Then run:
npm run devFrontend:
http://localhost:5173
cd backend
python manage.py check
python manage.py testcd frontend
npm run lint
npm run buildA successful production build generates the optimized frontend bundle in:
frontend/dist/
Security controls implemented in the project include:
- JWT authentication
- Refresh-token rotation
- Token blacklisting
- Role-Based Access Control
- Protected REST endpoints
- Secure Django password hashing
- CORS restrictions
- CSRF trusted origins
- HTTPOnly session configuration
- MIME sniffing protection
- Clickjacking protection
- Strict referrer policy
- Environment-based secret management
- API authorization
- Audit logging
GitHub Repository
β
βββββββββββββββββββββββββββ
β β
βΌ βΌ
Vercel Render
β β
βΌ βΌ
React + Vite Django REST API
Frontend Docker / ASGI
β
ββββββββββββββ΄βββββββββββββ
βΌ βΌ
PostgreSQL Redis
The frontend and backend are independently deployable and communicate through secured REST APIs.
The next development phase expands the project toward more advanced SIEM and SOC capabilities.
| Phase | Enterprise Feature | Status |
|---|---|---|
| 7.1 | Elasticsearch | π Planned |
| 7.2 | SIEM Search | π Planned |
| 7.3 | Alert Correlation Engine | π Planned |
| 7.4 | IOC Management & Upload | π Planned |
| 7.5 | Threat Intelligence Integration | π Planned |
| 7.6 | API Rate Limiting | π Planned |
| 7.7 | Prometheus Metrics | π Planned |
| 7.8 | Grafana Dashboard | π Planned |
| 7.9 | Sentry Monitoring | π Planned |
| 7.10 | CI/CD Pipeline | π Planned |
This project demonstrates practical experience with:
- Full-stack application architecture
- Cybersecurity-focused application development
- SOC workflow design
- REST API development
- JWT authentication
- Role-Based Access Control
- PostgreSQL data modeling
- Redis infrastructure
- Asynchronous processing
- WebSocket architecture
- Responsive React dashboards
- TypeScript
- API documentation
- Docker containerization
- Production deployment
- Backend testing
- Frontend production builds
The user interface includes:
- Secure Login
- User Registration
- SOC Dashboard
- Incident Management
- Security Analytics
- User Profile
- Settings
- Audit Logs
- Reporting infrastructure
Sunidhi Shinde
B.Tech β Computer Science & Engineering
Areas of Interest:
- Cybersecurity
- Security Operations
- SOC Analysis
- Full-Stack Development
- Backend Engineering
- AI-powered Security Systems
LinkedIn:
https://www.linkedin.com/in/sunidhishinde/
GitHub:
https://github.com/soniyaritgithub
This project is licensed under the MIT License.
See the LICENSE file for details.
If you find this project useful or interesting, consider giving the repository a β.
AI SOC Analyst
Enterprise Security Monitoring β’ Incident Response β’ Security Analytics