Skip to content

naflashDev/CyberMind

Repository files navigation

🛡️ CyberMind

Plataforma modular de análisis y monitorización de ciberseguridad IT/OT con IA, scraping, dashboards y orquestación automatizada.


Logo CyberMind


Python FastAPI PostgreSQL OpenSearch Docker CI/CD Security LLM

CyberMind es una plataforma modular, automatizada y de código abierto para la auditoría, análisis, monitorización y automatización de tareas de ciberseguridad en entornos IT y OT. Va mucho más allá de la simple recolección de datos: permite realizar auditorías técnicas, análisis de vulnerabilidades, orquestación de flujos de trabajo, generación de dashboards, integración de IA y procesamiento avanzado de información.

🎯 Objetivo: Proveer una solución integral y flexible para la gestión de inteligencia, auditoría y automatización en ciberseguridad, facilitando el acceso a datos estructurados y procesados, la correlación de eventos y la toma de decisiones informada. Promueve la transparencia, la colaboración abierta y el uso de metodologías de inteligencia y automatización.


🖼️ Arquitectura de la Plataforma

Arquitectura CyberMind
Esquema general de la arquitectura de CyberMind

🚀 Quick Start

🐳 Con Docker Compose (Recomendado)

⚠️ Importante: Para usar la app es necesario crear un .env con las variables de entorno necesarias.Puedes clonar el .env.example y renombrarlo como .env y cambiar las variables de entorno por las tuyas. En este .env se almacenan las variables de entorno para la bbdd de tiny rss si quieres usar otros datos como variables debes modificar tambien el fichero stack.env del directorio install, para que al hacerse el compose del docker de tiny tenga las claves que tu especifiques.➡️ Ver guía detallada

# 1. Clonar el repositorio

# 2. Instalar dependencias

cd CyberMind
python -m venv env
source env/bin/activate  # En Windows: .\env\Scripts\activate
pip install -r requirements.txt

# 3.Levantar servicios (Opcional, ya que el programa hace el compose automaticamente)

cd Install
docker compose -f opensearch-compose.yml up -d
docker compose -f tinytinyrss.yml up -d

# 4.Arrancar la aplicacion

cd ..
cd src
python main.py

🛠️ Stack Tecnológico

Componente Descripción / Uso principal
🐍 Python 3.12+ Backend principal, scripts y automatización
⚡ FastAPI API REST y servidor web
🧠 SpaCy Procesamiento NLP, extracción de entidades
📰 Scrapy Scraping de noticias, feeds y alertas
🐘 PostgreSQL Base de datos estructurada
🔎 OpenSearch Búsqueda semántica y dashboards
🐳 Docker Orquestación de servicios y contenedores
🤖 LLM Chat IA especializado en CVE y OT/IT
🦾 Workers Orquestación de tareas y procesos
🛡️ Seguridad Validación, gestión de secretos, SAST
⚙️ CI/CD Workflows automáticos con GitHub Actions
🗄️ SQLite Base de datos de hashing (hash repository)

✨ Funcionalidades Principales

  • 🔗 Integración multifuente: RSS, Google Alerts, Google Dorking, APIs públicas
  • 🧠 Procesamiento semántico: keywords, NER, sentimiento, embeddings
  • 📦 Almacenamiento híbrido: OpenSearch y PostgreSQL
  • 📊 Dashboards abiertos: OpenSearch Dashboards, Grafana, Chartbrew
  • 🤖 LLM CyberSentinel: consulta y resumen de CVEs/noticias OT/IT
  • 🦾 Orquestador ligero: workers y tareas automatizadas
  • 🛡️ Security by Design: validación, gestión de secretos, CI/CD
  • 📝 Generación de JSON para finetune/R.A.G (futura implementación) de LLM
  • 🚀 Expansión continua: nuevos módulos y servicios en desarrollo

🧩 Documentación y enlaces


🤖 IA y modelo LLM

La IA integrada en CyberMind utiliza un modelo LLama3 restringido, configurado mediante un archivo Model file que limita sus respuestas y comportamiento. La base de conocimiento del modelo está limitada hasta el año 2023 y no incluye información posterior.

⚠️ Importante: El modelo actual NO ha sido finetuneado con los datos extraídos por el sistema. La función de entrenamiento personalizado (R.A.G) se implementará en el futuro, ya que el proceso de diseño e implementación lleva bastante tiempo.

  • El modelo responde únicamente sobre temas de ciberseguridad y CVE según las restricciones del Model file.
  • No puede responder sobre eventos, vulnerabilidades o noticias posteriores a 2023.
  • El finetuning con datos propios está planificado como mejora futura.
  • El archivo JSON para el finetuning sí se genera automáticamente (outputs/finetune_data.jsonl), pero no se utiliza aún para entrenar el modelo.

🏗️ Estructura de directorios del proyecto

CyberMind/
├── AGENTS.md
├── LICENSE
├── README.md
├── requirements.txt
├── dev-requirements.txt
├── Docs/
│   ├── Indice.md
│   ├── ChangeLog.md
│   ├── api_endpoints.md
│   ├── home.md
│   ├── llm.md
│   ├── instalacion_dependencias.md
│   ├── opensearch_install.md
│   ├── tiny_rss_install.md
│   ├── ...
├── Install/
│   ├── opensearch-compose.yml
│   ├── tinytinyrss.yml
│   ├── stack.env
│   ├── ...
├── src/
│   ├── main.py
│   ├── cfg.ini
│   ├── cfg_services.ini
│   ├── app/
│   │   ├── controllers/   # Controladores de rutas y lógica de API
│   │   ├── models/        # Modelos de datos y esquemas
│   │   ├── services/      # Lógica de negocio y servicios
│   │   ├── ui/            # Componentes de interfaz de usuario
│   │   ├── utils/         # Utilidades y funciones auxiliares
│   │   └── ...
│   ├── data/
│   │   ├── cve_list.json
│   │   ├── feeds/
│   │   ├── outputs/
│   │   └── ...
│   └── ...
├── tests/
│   ├── controllers/
│   ├── integration/
│   ├── services/
│   ├── unit/
│   ├── utils/
│   └── ...
└── env/
    ├── Scripts/
    ├── Lib/
    ├── Include/
    └── ...
Elemento Descripción breve
AGENTS.md Normas y estándares para el agente IA y desarrollo del proyecto
LICENSE Licencia privativa: uso personal, educativo o investigación. Derivados solo con permiso.
README.md Documentación principal y guía rápida
requirements.txt Dependencias principales del proyecto
dev-requirements.txt Dependencias para desarrollo y testing
Docs/ Documentación técnica, API, instalación, workflows y registro de cambios
Install/ Archivos de configuración y orquestación de servicios (Docker Compose, env)
src/ Código fuente principal del proyecto
src/main.py Punto de entrada de la API y la UI
src/app/ Núcleo de la aplicación y submódulos
src/app/controllers/ Controladores de rutas y lógica de API
src/app/models/ Modelos de datos y esquemas
src/app/services/ Lógica de negocio y servicios
src/app/ui/ Componentes de interfaz de usuario
src/app/utils/ Utilidades y funciones auxiliares
src/data/ Datos, feeds, resultados de scraping y procesamiento
tests/ Pruebas unitarias, de integración y de servicios
env/ Entorno virtual Python para aislar dependencias

🚫 Despliegue

Actualmente, CyberMind no se encuentra desplegada como servicio en la nube ni como plataforma pública. Esta decisión responde al objetivo principal del proyecto: ser una herramienta open source orientada a la ejecución y experimentación en entornos locales, facilitando la auditoría, el análisis y la automatización de tareas de ciberseguridad de forma autónoma y privada.

El enfoque está en proveer una solución flexible y reutilizable que cada usuario pueda instalar, adaptar y ampliar según sus necesidades, sin depender de servicios externos ni de infraestructuras centralizadas.

👨‍💻 Sobre el Creador

Ignacio Fernández

Software Developer | Lifelong Learner & Tech Enthusiast

📄 Licencia

Este proyecto está protegido por una licencia privativa personalizada:

  • El uso está permitido únicamente para fines personales, educativos o de investigación.
  • Se permite la creación de versiones derivadas solo para uso personal, educativo o de investigación.
  • Queda prohibida la redistribución, publicación o uso comercial sin autorización expresa y por escrito del titular.
  • Toda versión derivada debe incluir un aviso visible de modificación y mantener el texto de licencia.
  • Para más detalles, consulta el archivo LICENSE.

🤝 Contribuciones y Soporte

🐛 Reportar Issues

¿Encontraste un bug o tienes una sugerencia?

👉 Crear una Issue en GitHub

Por favor incluye:

  • 📝 Descripción detallada del problema
  • 🔄 Pasos para reproducir
  • 💻 Información del entorno (OS, Python version, Docker version)
  • 📸 Screenshots si es relevante

💡 Contribuir al Proyecto

  1. Fork el repositorio
  2. Crea una rama para tu feature (git checkout -b feature/amazing-feature)
  3. Commit tus cambios (git commit -m 'Add amazing feature')
  4. Push a la rama (git push origin feature/amazing-feature)
  5. Abre un Pull Request

CyberMind © 2026

About

Plataforma modular de ciberseguridad IT/OT con IA, scraping, dashboards y orquestación automatizada. Permite análisis, monitorización y protección de activos, integrando múltiples fuentes y modelos LLM bajo un enfoque “Security by Design”.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Contributors