Ghost AcademySecLearn// Seguridad Informática
🔍 VulnInventory · Open Source · Pentest · Vulnerability Management
VulnInventory
Gestión de vulnerabilidades para pentesters
// Centraliza hallazgos · activos · escaneos · múltiples clientes

Plataforma open source y gratuita de gestión de vulnerabilidades diseñada por pentesters, para pentesters. Multi-tenant, con ciclo de vida completo de hallazgos, importación desde Nessus/Burp/Qualys, cola de escaneos integrada con Nuclei/Wapiti y catálogo CVE con integración NVD.

FastAPI React PostgreSQL Redis Docker
Nessus · Qualys · Burp · SARIF · CSV · JSON Nuclei · Wapiti · OSV Scanner · VulnAPI CVSS · CWE · OWASP · CVE / NVD Multi-tenant · Roles · API keys · CSRF
🔍
¿Qué es VulnInventory?
Plataforma open source de gestión de vulnerabilidades pensada específicamente para consultores de ciberseguridad y equipos de pentesting. Centraliza hallazgos, activos y escaneos entre múltiples clientes.
🆓
Gratis y open source
Sin licencias ni vendor lock-in. Código disponible en GitHub.
🏢
Multi-tenant
Gestión segura de múltiples organizaciones y proyectos desde una sola instancia.
📥
Importación fácil
Nessus, Qualys, Burp Suite, SARIF, CSV y JSON — desde cualquier escáner.
🎯
Enfocado en pentesters
Hecho por pentesters para pentesters. CVE-aware con integración NVD y CVSS.
✨
Características Principales
Módulos integrados para cubrir el ciclo de vida completo de una auditoría de seguridad, desde el descubrimiento hasta el reporting.
Categoría Detalles
🐛 Hallazgos Ciclo de vida completo, CVSS scoring, CWE/OWASP mapping, comentarios, asignaciones por analista
🖥️ Activos Tracking por proyecto, tags de ambiente y criticidad, asociaciones entre activos y hallazgos
🔍 Escaneos Cola integrada con Wapiti, Nuclei, OSV Scanner y VulnAPI
📤 Import/Export CSV, JSON, Nessus XML, Burp Suite XML, SARIF — compatibilidad con el ecosistema completo
📚 VulnDB Diccionario CVE integrado, autocompletado inteligente y plantillas de hallazgos propias
👥 Multi-Tenant Organizaciones, proyectos y tres roles: Admin / Analista / Viewer
🔒 Seguridad Cookies httpOnly, protección CSRF, API keys, rate limiting integrado
📋 Auditoría Trazabilidad completa de acciones de usuarios — quién hizo qué y cuándo
📸
Capturas de la Interfaz
Dashboard, gestión de hallazgos, cola de escaneos y administración de usuarios.
Dashboard de VulnInventory
📊 Dashboard — resumen de vulnerabilidades y proyectos
Gestión de hallazgos con CVSS y CWE
🐛 Hallazgos — ciclo de vida con CVSS / CWE / OWASP
Cola de escaneos con Nuclei, Wapiti y OSV
🔍 Escaneos — cola integrada con Nuclei y Wapiti
Gestión de usuarios y roles
👥 Usuarios — roles Admin / Analista / Viewer
🐳
Prerequisitos — Docker en Kali/Ubuntu
VulnInventory funciona 100% en contenedores. Solo necesitas Docker y Docker Compose instalados.
bash — verificar si ya están instalados
docker --version
docker compose version
A
Actualizar el sistema
sudo apt update
B
Instalar Docker
sudo apt install -y docker.io — la versión de los repositorios de Kali funciona perfectamente para este laboratorio. Para producción, se puede usar el repositorio oficial de Docker.
C
Instalar Docker Compose V2
sudo apt install docker-compose-v2 — la versión V2 es necesaria para usar docker compose (sin guión).
D
Habilitar e iniciar el servicio Docker
sudo systemctl enable docker --now — el flag --now lo habilita y lo inicia en el mismo comando (doble guión).
bash — instalación completa de Docker en Kali/Ubuntu
# Actualizar e instalar Docker
sudo apt update
sudo apt install -y docker.io

# Instalar Docker Compose V2
sudo apt install docker-compose-v2

# Habilitar e iniciar Docker
sudo systemctl enable docker --now

# (Recomendado) Añadir tu usuario al grupo docker para evitar sudo
sudo usermod -aG docker $USER
# Reinicia la sesión o el terminal para que el cambio surta efecto
💡 Sin sudo en docker: Añade tu usuario al grupo docker con sudo usermod -aG docker $USER y reinicia la sesión. Así puedes usar docker directamente sin prefixar sudo en cada comando.
🚀
Instalación Paso a Paso
Cuatro comandos para tener VulnInventory funcionando: clonar, configurar el .env con un JWT secret seguro, y levantar los contenedores.
1
Clonar el repositorio
git clone https://github.com/CrisorHacker/vulninventory.git y entrar en el directorio.
2
Configurar variables de entorno
Copiar .env.example a .env y cambiar el JWT_SECRET por una cadena aleatoria de mínimo 32 caracteres. Usa Python para generarla.
3
Levantar los contenedores
sudo docker compose up -d — descarga las imágenes y levanta todos los servicios en segundo plano.
4
Abrir en el navegador
Ir a http://localhost:5173, registrar un usuario y comenzar.
bash — instalación completa de VulnInventory
# 1. Clonar el repositorio
git clone https://github.com/CrisorHacker/vulninventory.git
cd vulninventory

# 2. Configurar variables de entorno
cp .env.example .env

# Generar un JWT_SECRET seguro (mínimo 32 chars)
python3 -c "import secrets; print(secrets.token_urlsafe(48))"
# Copia el resultado y pégalo como valor de JWT_SECRET en .env
nano .env

# 3. Levantar los contenedores en segundo plano
sudo docker compose up -d

# Verificar que todos los servicios están activos
docker compose ps
🔑 JWT_SECRET obligatorio: Debes cambiar el valor por defecto de JWT_SECRET en el archivo .env antes de cualquier uso real. Usa el comando Python de arriba para generar una cadena criptográficamente segura de 48 caracteres.
🌐
Puertos y Acceso
VulnInventory expone dos servicios por defecto: la interfaz web (React) y la API REST (FastAPI).
:5173
Interfaz Web — UI React
http://localhost:5173
:8001
API REST — FastAPI
http://localhost:8001
ℹ️ Documentación de la API: FastAPI genera automáticamente documentación interactiva en http://localhost:8001/docs (Swagger UI) y http://localhost:8001/redoc.
🧪
Datos de Demo
Carga datos de ejemplo para explorar todas las funcionalidades sin tener que crear hallazgos desde cero.
bash — cargar datos de demo
# Ejecutar el seed de datos de demostración
docker compose exec -T api python -m app.seed_demo

Una vez cargados los datos demo, accede con estas credenciales:

Email demo@example.com
Password DemoSegura123
URL http://localhost:5173
✅ Exploración rápida: Los datos de demo incluyen proyectos de ejemplo, hallazgos con distintos niveles de severidad CVSS y activos de muestra — perfectos para familiarizarse con el flujo de trabajo antes de usar datos reales.
📥
Formatos de Importación Soportados
Importa hallazgos directamente desde los escáneres más populares del sector.
📄 CSV 🔧 JSON 🛡️ Nessus XML 🔍 Burp Suite XML 📋 SARIF 🌐 Qualys

Escáneres integrados en la cola

VulnInventory puede lanzar escaneos directamente desde la interfaz web a través de su cola integrada:

🔬
Nuclei
Escaneo de vulnerabilidades por plantillas YAML
🌊
Wapiti
Escáner de vulnerabilidades web (OWASP)
📦
OSV Scanner
Dependencias vulnerables en código fuente
🔌
VulnAPI
Análisis de seguridad de APIs REST
🔗 Repositorio: github.com/CrisorHacker/vulninventory — open source, sin licencias ni vendor lock-in.