Views
No views yet
🌐 Repositorios Oficiales:
- 🦙 Ollama Hub (GGUF Listo para usar): 🔗 https://ollama.com/bladealex/vulnsentinel-pro
- 🤗 Hugging Face (Safetensors y LORA): 🔗 https://huggingface.co/bladealex/vulnsentinel-pro Contiene pesos base para investigadores, Modelfiles y configuraciones nativas. "En el terreno, la teoría no basta. Presencié incidentes críticos donde bases de datos enteras caían por una coma mal puesta. Los equipos de seguridad merecen más que escáneres ciegos: merecen un aliado que razone, que piense en capas, que les diga no solo qué está roto sino exactamente cómo repararlo — sin conectarse a ninguna nube." — Alexander Oviedo Fadul, Ing. de Sistemas · Premio Innovación JusticiaLab
| Capacidad | E2B (V2) | Pro E4B (Arquitecto) |
|---|---|---|
| Parámetros | 2.7B | 4B |
| Train Loss | ~0.18 | 0.1508 ✅ |
Razonamiento <think> | ❌ | ✅ Chain-of-Thought |
| Análisis forense avanzado | Básico | Multi-capa |
| Velocidad | ~28s | ~50-60s |
| VRAM requerida | 8GB | 12-16GB |
<think> → plan → hallazgo → mitigación)1# Instalar Ollama: https://ollama.com
2ollama run bladealex/vulnsentinel-pro1<think>
21. Identificar vectores de entrada sin sanitizar
32. Evaluar el contexto de base de datos y ORM utilizado
43. Determinar si la vulnerabilidad es explotable remotamente
54. Escalar el CVSS considerando autenticación requerida
65. Diseñar mitigación que no rompa la lógica de negocio
7</think>
8
9🚨 ANÁLISIS COMPLETADO..."La vulnerabilidad corporativa ha sido una espina clavada desde que presencié los primeros incidentes críticos destruyendo bases de datos enteras por una coma mal puesta. En el terreno, la teoría no basta; los equipos técnicos necesitan parches automáticos al instante y herméticamente sellados (Offline). Por tanto, esta es mi trinchera moral. Les entrego a VulnSentinel-Pro como mi obsequio personal para robustecer la infraestructura digital colombiana y global." — Alexander Oviedo Fadul (Ing. de Sistemas, Premio de Innovación JusticiaLab)
| Métrica | Valor |
|---|---|
| Épocas completadas | 4 |
| Samples de entrenamiento | 446 escenarios SecOps reales |
train_loss final | 0.1508 |
| Samples/segundo | 0.898 |
1Actúa como el CISO de una empresa. Analiza esta cadena de log de Apache y determina si hay evidencia de explotación activa. Proporciona tu plan de respuesta a incidentes:
2
3192.168.1.105 - - [12/Apr/2026:07:22:41] "GET /admin?id=1' UNION SELECT table_name,2,3 FROM information_schema.tables-- HTTP/1.1" 200 48211<think>
21. El log muestra un GET exitoso (HTTP 200) con payload SQL Injection clásico
32. El UNION SELECT apunta a information_schema.tables — reconocimiento de esquema
43. Respuesta 200 con 4821 bytes — el servidor RESPONDIÓ DATA al atacante
54. Esto no es un intento fallido: es una explotación confirmada y exitosa
65. La IP es interna (192.168.x) — movimiento lateral interno o compromiso previo
76. CVSS Vector: AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H → Score: 10.0 CRITICAL
8</think>
9
10🚨 ALERTA MÁXIMA — EXPLOTACIÓN SQL INJECTION CONFIRMADA
11
12**Severidad:** CVSS 10.0 (Critical) — CWE-89
13**Estado:** BRECHA ACTIVA — el atacante ya tiene acceso a metadatos del esquema
14
15### Plan de Respuesta a Incidentes (IRP)
16
17**FASE 1 — CONTENCIÓN INMEDIATA (próximos 15 minutos)**
181. Bloquear IP 192.168.1.105 en firewall interno (sospecha de host comprometido)
192. Revocar credenciales de DB activas y rotar contraseñas
203. Activar modo read-only en la base de datos para preservar evidencia
21
22**FASE 2 — ANÁLISIS FORENSE**
23- Extraer logs completos de Apache de las últimas 72 horas
24- Buscar otros payloads: `UNION`, `OR 1=1`, `SLEEP()`, `xp_cmdshell`
25- Verificar tablas accedidas vs. datos sensibles (PII, secretos)
26
27**FASE 3 — MITIGACIÓN DEL VECTOR**
28```python
29# ❌ VULNERABLE (código original)
30cursor.execute(f"SELECT * FROM users WHERE id = {user_id}")
31
32# ✅ SEGURO (Prepared Statement)
33cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))📂 Evidencia Cruda y Reproducibilidad (Tensor MPS):
📄 Ver Inferencia a nivel Tensor (Python MPS):Modelo: VulnSentinel-Pro (E4B a nivel tensor) Tiempo de inferencia pura MPS: 8.33 segundos--- RESPUESTA ---El log muestra un request GET con el path /admin?id=1' UNION SELECT table_name,2,3 FROM information_schema.tables-- HTTP/1.1. Esto es un claro caso de SQL Injection. El atacante está enumerando tablas del database. Mi plan es
Ollama, el Arquitecto logra generar esta auditoría masiva de respuesta a incidentes en apenas 44 segundos localmente:📂 Resultado Completo de la Prueba Nativa (Ollama): Se evidencia la apertura y estructura perfecta del<think>, junto a mitigaciones OWASP/MITRE precisas:
📄 Ver Inferencia Nativa GGUF Q8_0 (Ollama Engine):Modelo: bladealex/vulnsentinel-pro:latest (GGUF Quantized Q8_0 - Ollama Engine) Tiempo de inferencia (Local): 44.99 segundos Payload Prompt: Actúa como el CISO de una empresa. Analiza esta cadena de log de Apache y determina si hay evidencia de explotación activa. Proporciona tu plan de respuesta a incidentes:192.168.1.105 - - [12/Apr/2026:07:22:41] "GET /admin?id=1' UNION SELECT table_name,2,3 FROM information_schema.tables-- HTTP/1.1" 200 4821--- RESPUESTA DEL MODELO (CHAIN-OF-THOUGHT INCLUIDO) ---Análisis de Seguridad Autónomo (VulnSentinel-Pro)
Recepción y Priorización: Log de Apache con payload inusual. Prioridad: CRÍTICA. Un atacante interno (192.168.1.105) está interactuando con el endpoint /admin. Decodificación del Payload:
GET /admin?id=1' UNION SELECT table_name,2,3 FROM information_schema.tables--- Vector: SQL Injection (ID parameter).
- Técnica: By-pass de la aplicación usando
UNION SELECT.- Objetivo del atacante: Enumerar el esquema de la base de datos (
information_schema.tables). Esto es reconocimiento avanzado previo a la exfiltración de datos.- Conclusión: No es un hallazgo teórico; es explotación activa y exitosa. El código del 200 indica que la aplicación procesó la query inyectada sin fallar.
Impacto: Compromiso de la integridad y confidencialidad de la base de datos. Si el usuario asociado al pool de conexiones tiene privilegios altos, esto escala a Data Exfiltration + Privilege Escalation. Plan de Respuesta a Incidentes (IRP): Debe ser inmediato, estructurado en fases NIST (Preparación, Detección & Análisis, Contención, Erradicación, Recuperación, Lecciones Aprendidas). Formato de Entrega: Riguroso, técnico, orientado a la acción ejecutiva y técnica. Verificación Ética: No se envía ningún paquete de explotación. Solo análisis forense y mitigación defensiva. Cumple con todas las restricciones.🚨 ALERTA CRÍTICA — INFECCIÓN CONFIRMADAA: CISO — Hemos detectado explotación activa de SQL Injection contra el endpoint/admin. El atacante está enumerando el esquema de la base de datos. Nivel de Severidad: CVSS 9.8 (Crítico) Acción inmediata: Ejecutar IRP — CONFINAR 192.168.1.105 inmediatamente sin notificar al atacante.
🔍 Análisis Forense del Evento
Vulnerabilidad: SQL Injection (CWE-892) Descripción: El parámetroiddel endpoint/adminno está sanitizado ni parametrizado. El atacante inyectóUNION SELECTpara extraer metadatos del sistema (information_schema.tables). CVSS 3.1 Vector: AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N Score: 9.8 (Crítico)Prueba de Concepto (PoC) Observada:GET /admin?id=1' UNION SELECT table_name,2,3 FROM information_schema.tables-- HTTP/1.1Evidencia de Explotación: El servidor respondió con 200 OK y un payload de 4821 bytes, lo que sugiere que los resultados de la enumeración de tablas fueron retornados en la respuesta HTTP.Mitigación Inmediata (Parche):python1# En lugar de: query = f"SELECT * FROM users WHERE id = {id}" 2# Usar: 3sql = "SELECT * FROM users WHERE id = %s" 4cursor.execute(sql, (id,))Frameworks de Referencia:
- OWASP Top 10: A3:2021 – Injection
- MITRE ATT&CK: T1595.002 – SQL Injection
🛡️ Plan de Respuesta a Incidentes (IRP) — Fase 1: Contención
Autorización: Ejecutando bajo autorización de IRP pre-aprobado #IRP-2026-004.Pasos de Contención (Simultáneos):
- Red: Aislar inmediatamente
192.168.1.105en una VLAN de cuarentena. Permitir acceso solo a el equipo forense.- Aplicación: Deploy inmediato de un WAF/ModSecurity rule:
R=1, F=2, P=0, S=1, B=1, C=1, U=0, I=0, A=0 Deny requests matching: /admin.*UNION.*SELECT- Base de Datos: Revocar temporalmente todos los privilegios de SELECT/INSERT/UPDATE/DELETE al usuario de la aplicación. Mantener solo conectividad de lectura en modo solo-lectura.
- Preservación Forense: Crear una imagen forense del servidor Apache y del contenedor/VM de la aplicación antes de aplicar parches.
🔬 Plan de Erradicación y Análisis (Fase 2)
- Análisis de Logs Adicional: Buscar en logs Nginx/Apache/DBMA para el patrón
UNION SELECT. Verificar si el atacante pasó a la siguiente etapa (ej:SLEEP()para confirmación de BD,xp_cmdshellpara RCE).- Reconstrucción: Desplegar una instancia de reconstrucción (Golden Image) detrás del WAF. Migrar tráfico solo después de validar que la vulnerabilidad fue parchada.
- Código: Revisión SAST completa del código fuente en busca de todas las ocurrencias de concatenación de queries.
Siguiente comando (solo después de autorización explícita del CISO):wireshark capture --interface eth0 --filter 'tcp port 80 and host 192.168.1.105'Resumen para el Board: Tenemos explotación confirmada de SQLi (9.8). Contención en curso. El equipo de desarrollo debe priorizar el parche de parameterización por encima de todas las features.
| Modelo | Params | Caso de Uso | Hub |
|---|---|---|---|
| VulnSentinel V2 (E2B) | 2.7B | Auditoría rápida, triage | Ollama · HF |
| VulnSentinel-Pro (E4B) | 4B | Análisis forense profundo, CISO support | Ollama · HF |
Este modelo es un obsequio para la comunidad de seguridad hispanohablante. No requiere licencias comerciales, no envía datos a terceros, no tiene costos ocultos. Solo requiere que lo uses con responsabilidad.