10 min

CMAXHGuardian: agente autónomo de ciberseguridad Blue Team

CMAXHGuardian es un agente de IA open source para Blue Team: interpreta objetivos en lenguaje natural, planifica y ejecuta herramientas de seguridad en Linux. Repo en GitHub.

CMAXHGuardian es un agente de IA autónomo orientado a operaciones defensivas (Blue Team): interpretas un objetivo en lenguaje natural, el agente planifica, ejecuta herramientas del sistema y devuelve un informe legible. Es open source (MIT), corre en local con Ollama por defecto y está pensado para entornos Linux reales — no para un chat que solo opina sobre seguridad.

Repositorio: github.com/converly/CMAXHGuardian

Navegación rápida

Qué es CMAXHGuardian | Ciclo en 4 fases | Herramientas | Inicio rápido | LLM local o API | Seguridad | Extender | FAQ

Qué es CMAXHGuardian

CMAXHGuardian (v1.0.0) es un agente de IA de ciberseguridad defensiva. No sustituye un SOC ni un EDR comercial: es un runtime agéntico que conecta un LLM con decenas de herramientas del sistema — red, procesos, archivos, inventario, CVEs — para tareas que un analista Blue Team haría en terminal, pero con planificación y resumen automáticos.

Proyecto Converly, desarrollado en el marco del TFG de Albert Fernández Díaz. La premisa es la misma que en harness engineering: el valor no está solo en el modelo, sino en el arnés — herramientas, bucles de re-planificación, memoria, guardrails y contexto del host.

Chat genéricoCMAXHGuardian
Sugiere comandosEjecuta y verifica
Sin contexto del hostInyecta SO, recursos, fecha/hora
Sin memoria de sesiónMemoria persistente entre ejecuciones
Cloud por defectoOllama local por defecto (datos en tu máquina)

Encaja en la capa IA agéntica de la línea de tiempo de la IA: no solo genera texto; planifica y actúa en el entorno.

Ciclo autónomo en 4 fases

Cada objetivo recorre un pipeline fijo:

Objetivo (lenguaje natural)
    → [1] INTÉRPRETE   — objetivo → JSON formal
    → [2] PLANIFICADOR — plan con herramientas del REGISTRY
    → [3] EJECUTOR     — pasos, verificación, re-plan si falla
    → [4] RESUMEN      — informe legible de la ejecución

Intérprete: traduce «lista puertos sospechosos y crontabs» a una estructura que el planificador entiende.

Planificador: elige herramientas registradas (python3 -m agente --list-tools muestra el catálogo real vía REGISTRY).

Ejecutor: corre bash, consultas de red, lectura de logs, etc.; si un paso falla, puede re-planificar (autorreparación ante dependencias faltantes).

Resumen: devuelve un informe para humanos, no solo stdout crudo.

Es el patrón agente clásico — interpretar, planificar, actuar, reportar — aplicado a Blue Team, no a red team ofensivo.

Herramientas disponibles

Las herramientas viven en agente/tools/ y se registran con @register. El número exacto lo da len(REGISTRY) al ejecutar python3 -m agente --list-tools; la tabla del README es orientativa por categoría:

CategoríaEjemplos de capacidad
Shellbash, sh, Python aislado
SistemaIP, disco, CPU, RAM, SO, uptime, permisos
ArchivosCRUD, grep, zip, árbol de directorios
Redping, DNS, puertos, traceroute, HTTP
Procesoslistar, matar, servicios (systemd en Linux)
Linuxpaquetes, sysctl, crontabs, usuarios, puertos en escucha
IA / autoayudaautodiagnóstico, búsqueda web, gestión del LLM
Telegramalertas y control remoto vía bot
NVD / inventarioCVEs vía MCP + inventario del sensor
Detecciónheurísticas de posible DDoS (ss / netstat)

La integración NVD + inventario conecta el agente con bases de vulnerabilidades y lectura de inventario (sensor_read_inventory) — útil para preguntas del tipo «¿hay CVEs conocidos en estos paquetes?».

Inicio rápido

Linux (recomendado)

git clone https://github.com/converly/CMAXHGuardian.git
cd CMAXHGuardian
chmod +x setup.sh
./setup.sh

Alternativa manual:

pip install -r agente/requirements.txt
ollama pull qwen2.5:7b
python3 -m agente --goal "listar puertos en escucha en este sistema"

Windows (parcial)

pip install -r agente/requirements.txt
python -m agente --goal "mostrar información del sistema"

Muchas herramientas funcionan en Windows; las muy ligadas a Linux (systemd, ss avanzado) están optimizadas para ese SO.

Modos de uso

ModoComandoCuándo
Setup inicialpython3 -m agente --setupPrimera vez: LLM, Telegram, intervalos
Interactivopython3 -m agenteSesión tipo CMAXH> con objetivos sucesivos
Un objetivopython3 -m agente --goal "..."Scripts, cron, automatización
Programadopython3 -m agente --scheduledVentanas en config/settings.yaml
Listar toolspython3 -m agente --list-toolsVer REGISTRY completo

Tras el setup, la configuración persiste en config/user_settings.yaml (no versionado).

LLM local o API

Por defecto CMAXHGuardian usa Ollama en local — sin enviar datos del host a la nube. Modelo recomendado en docs: qwen2.5:7b.

También admite API compatible con OpenAI (p. ej. Kimi K2.6 u otros endpoints). Configuración vía --setup, --llm-setup o variables CMAXH_LLM_MODE=api, URL, clave y nombre de modelo.

ModoVentajaTrade-off
Ollama localPrivacidad, sin coste por tokenHardware y calidad del modelo local
API cloudRazonamiento más fuerte en planes complejosDatos salen del perímetro (revisa política)

El agente inyecta contexto del sistema (SO, recursos, contenedores si aplica, fecha/hora) para que el planificador no alucine sobre el entorno. Regenerar caché:

python3 -m agente --refresh-context

Seguridad y guardrails

Un agente con shell y red es poderoso; el repo incluye capas defensivas documentadas en SECURITY.md:

  • Detección de inyección en prompts
  • Bloqueo de comandos peligrosos
  • Limitación de rutas
  • Rate limiting e higiene de entrada

Blue Team aquí significa orientación defensiva en prompts y herramientas (inventario, CVEs, detección heurística), no autorización para pentesting no consentido. Úsalo solo en sistemas que puedas auditar.

Telegram usa chat_id (no el número de móvil); token vía CMAXH_TELEGRAM_TOKEN o TELEGRAM_BOT_TOKEN.

Extender con herramientas

Nueva herramienta = nuevo .py en agente/tools/:

from agente.tools import register

@register("my_security_tool", "Analiza logs de autenticación por fuerza bruta", ["log_path"])
def my_security_tool(args: dict) -> dict:
    log_path = args.get("log_path", "/var/log/auth.log")
    # ... lógica ...
    return {"ok": True, "out": "Resultado del análisis...", "err": ""}

El planificador la descubre automáticamente al recargar el REGISTRY. Mismo patrón que servidores MCP en otros stacks: capacidad = herramienta registrada + descripción clara.

Preguntas frecuentes

¿CMAXHGuardian es un producto comercial de Converly?

Es un proyecto open source (MIT) publicado en GitHub. Converly lo desarrolló como TFG y lo mantiene como referencia de agente agéntico en ciberseguridad defensiva.

¿Sustituye a un SIEM o EDR?

No. Es un agente autónomo para tareas acotadas en terminal — inventario, consultas NVD, revisión de puertos, crontabs, etc. Complementa herramientas enterprise; no las reemplaza.

¿Necesito GPU para Ollama?

Depende del modelo. qwen2.5:7b corre en hardware modesto; planes más largos o modelos mayores benefician de más RAM/VRAM.

¿Funciona sin internet?

Sí en modo Ollama local para la mayoría de herramientas de sistema y red. Búsqueda web, NVD/MCP y APIs externas requieren conectividad.

¿Es solo para Linux?

Linux es el entorno principal. Windows tiene soporte parcial; herramientas systemd/ss avanzado están pensadas para Linux.

¿Cómo se relaciona con la IA agéntica?

Es un caso real de IA agéntica: el LLM no responde un párrafo; orquesta un bucle con herramientas, memoria y guardrails — la definición práctica de agente de IA en un dominio vertical (Blue Team).


Lecturas relacionadas

Última actualización: junio de 2026. Código y documentación en github.com/converly/CMAXHGuardian.

Artículos relacionados