Trabajo universitario de la Universidad de Málaga (UMA) - Equipo TideLock
SVAIA es una plataforma web desarrollada como trabajo universitario para la Universidad de Málaga (UMA). Utiliza Inteligencia Artificial para analizar proyectos y ofrecer sugerencias de seguridad sobre vulnerabilidades y amenazas. Permite a los usuarios subir archivos de proyectos (Docker Compose, Dockerfiles, imágenes) y recibir recomendaciones automáticas basadas en miles de vulnerabilidades conocidas y la información más reciente de la industria.
- Backend: Python, Flask, Flask-Login, Flask-SQLAlchemy, Flask-CORS
- IA: OpenAI API (vía openrouter.ai)
- Frontend: HTML, CSS (Bootstrap + estilos propios), JavaScript
- Base de datos: SQLite (por defecto, configurable)
- Otros: python-dotenv, nvdlib
- Autenticación de usuarios y gestión de sesiones (control de acceso seguro)
- Subida y análisis de proyectos (Docker Compose, Dockerfiles, imágenes Docker)
- Chat interactivo con IA para sugerencias de seguridad
- Panel de administración para gestión de usuarios y proyectos
- Sistema de agentes inteligentes para análisis y sugerencias personalizadas
- Sistema de logs para auditoría y trazabilidad de acciones
- Scripts de enumeración de subdominios
├── app.py # App principal Flask
├── run.py # Entrada alternativa (PythonAnywhere)
├── requirements.txt # Dependencias
├── example.env # Variables de entorno de ejemplo
├── frontend/ # Plantillas y estáticos (JS, CSS, imágenes)
├── services/ # Blueprints: auth, chat, sql, admin
├── libs/ # Utilidades (logging, etc.)
├── subdomains/ # Scripts de enumeración de subdominios
├── logs/ # Archivos de log
├── instance/db.sqlite # Base de datos SQLite por defecto
└── README # Este archivo
- Clona el repositorio:
git clone <repo-url> cd <nombre-del-repo>
- Instala las dependencias:
pip install -r requirements.txt
- Configura las variables de entorno:
- Copia
example.enva.envy completa tus claves:AI_API_KEY: Tu clave de OpenAIAPP_SECRET_KEY: Clave secreta FlaskGOOGLE_MAPS_API_KEY: (opcional, para mapas)PYTHONANYWHERE_DB: (opcional, URI de BD personalizada)
- Copia
- Ejecuta la app:
O para despliegue (ej. PythonAnywhere):
python app.py
python run.py
- Regístrate o inicia sesión.
- Crea un nuevo proyecto y sube tus archivos (Docker Compose, Dockerfiles, imágenes Docker).
- Accede al chat y recibe sugerencias de seguridad generadas por IA.
- (Opcional) Si eres admin, gestiona usuarios y proyectos desde el panel de administración.