Master Security Framework: mi marco de seguridad multicapa para aplicaciones modernas
18/05/2026
Resumen
Master Security Framework (MSF) es un marco de seguridad integral, multilingüe y multicapa diseñado para proteger aplicaciones modernas en todos los niveles de la pila tecnológica. Implementado en Python y TypeScript, MSF ofrece más de 350 funciones distribuidas en 28 módulos, que cubren todo, desde autenticación y cifrado hasta detección de ataques web, análisis de redes, seguridad en la nube, protección de inteligencia artificial, honeypots adaptativos, defensa activa y cumplimiento empresarial. Este artículo presenta un análisis técnico detallado de cada módulo, función, patrón de diseño y mecanismo de seguridad implementado en el marco.
1. Introducción
1.1. El problema
Las aplicaciones modernas se enfrentan a un espectro de amenazas cada vez más sofisticado. Un solo sistema puede ser blanco de ataques en múltiples capas simultáneamente: inyección de mensajes en modelos de lenguaje, explotación de vulnerabilidades web (XSS, SQLi, SSRF), escaneo de puertos, ataques DDoS, configuraciones erróneas de la nube, contenedores comprometidos, dependencias vulnerables en la cadena de suministro de software y violaciones del cumplimiento normativo.
El enfoque tradicional de la seguridad (resolver cada problema con herramientas aisladas) crea silos de defensa que dejan brechas entre las capas. MSF fue diseñado para resolver este problema ofreciendo una plataforma de seguridad unificada que opera en todas las capas de la aplicación.
1.2. ¿Qué es el marco de seguridad maestro?
MSF es un marco de seguridad de código abierto implementado en dos lenguajes: Python y TypeScript. Cada módulo existe en ambos idiomas con la misma semántica, lo que permite a los equipos multilingües utilizar el mismo conjunto de capacidades de seguridad independientemente de la pila de tecnología.
El marco se estructura en torno a cuatro pilares:
- Prevención: validación de entradas, desinfección, cifrado y refuerzo de la configuración.
- Detección: Análisis de patrones de ataque, anomalías estadísticas, firmas de malware, comportamiento sospechoso
- Respuesta: Alertas autónomas, cuarentena, contención, autocuración
- Cumplimiento: Verificación automática de LGPD, GDPR, HIPAA, PCI-DSS
1.3. Métricas del proyecto
- 243 pruebas automatizadas aprobadas (77 Python + 166 TypeScript)
- 14 módulos de Python con más de 180 funciones
- 14 módulos TypeScript con más de 170 funciones
- Telemetría OpenTelemetry integrada en todas las funciones.
- Registro estructurado (pin en TypeScript, loguru en Python)
- Caché en memoria con invalidación automática
- Motor de políticas para reglas de seguridad configurables.
- Bus de eventos para comunicación asíncrona entre módulos.
2. Arquitectura marco
2.1. Capa de infraestructura (núcleo)
La base de MSF se compone de seis componentes de infraestructura que son compartidos por todos los demás módulos:
Configuración global: un objeto de configuración centralizado que almacena parámetros de seguridad, umbrales, listas permitidas/bloqueadas y claves criptográficas. La configuración se puede recargar en tiempo real desde variables de entorno sin reiniciar la aplicación.
Policy Engine: un sistema de evaluación de reglas que le permite definir políticas de seguridad como declaraciones estructuradas. El motor admite operadores lógicos, condiciones compuestas y acciones de cumplimiento (permitir, denegar, advertir, registrar).
Event Bus: un sistema de publicación/suscripción asíncrono que permite que los módulos publiquen eventos de seguridad y que otros módulos se suscriban para reaccionar. El bus de eventos incluye un historial de eventos y una cola de mensajes fallidos para eventos que no se pudieron procesar.
Registro de métricas: un sistema de métricas que admite contadores (para recuentos acumulativos), medidores (para valores instantáneos) e histogramas (para distribuciones). Todas las funciones de descubrimiento publican métricas automáticamente.
Administrador de caché: un caché LRU (menos utilizado recientemente) con TTL (tiempo de vida) configurable, que se utiliza para almacenar costosos resultados de validación, listas de IP bloqueadas, huellas digitales de sesión y tokens revocados.
OpenTelemetry: Integración completa con el estándar OpenTelemetry, generando tramos de seguimiento distribuidos para cada operación de seguridad. Esto permite el colorRelacionar eventos de seguridad para solicitar seguimientos en arquitecturas de microservicios.
Registrador estructurado: registro estructurado en formato JSON con pin (TypeScript) y loguru (Python), que incluye contexto automático como ID de seguimiento, gravedad, módulo y metadatos de seguridad.
Manejo de excepciones: una jerarquía de excepciones de seguridad (SecurityError, ValidationError, AuthenticationError, EncryptionError) que permite un manejo granular de errores de seguridad.
2.2. Capa de protección
En cuanto a infraestructura, MSF organiza sus módulos de seguridad en tres capas funcionales:
Capa de entrada: Web, API, autenticación: protege los puntos de entrada de las aplicaciones Capa de infraestructura: red, nube, archivos: protege la infraestructura subyacente Capa inteligente: IA, monitoreo, defensa, Honeypot: proteja con inteligencia y adaptación
3. Módulo de autenticación (Auth)
El módulo de autenticación es el más extenso del framework, con 30 funciones en Python y 7 en TypeScript. Cubre todo el ciclo de vida de la autenticación: generación y validación de tokens, gestión de sesiones, detección de ataques y métodos avanzados de verificación de identidad.
3.1. JWT (tokens web JSON)
MSF implementa un sistema JWT completo que va más allá de la simple generación y validación:
generate_jwtcrea tokens con asunto, reclamos personalizados, vencimiento configurable y emisor. Admite algoritmos HS256, HS384, HS512, RS256, ES256.validate_jwtverifica la firma, el vencimiento, los reclamos obligatorios y devuelve la carga útil decodificada. El parámetroverify_exple permite deshabilitar la verificación de vencimiento para casos específicos.revoke_jwtagrega el JTI (JWT ID) del token a una lista negra de revocación. Esto es esencial para cerrar sesión antes de la expiración natural del token.rotate_jwtvalida el token antiguo y emite uno nuevo con la misma identidad, lo que permite la rotación silenciosa del token sin interrumpir la sesión del usuario.validate_refresh_tokenvalida los tokens de actualización con verificación de pertenencia al usuario específico, evitando que otro usuario utilice un token de actualización robado.
3.2. Gestión de sesiones
El sistema de sesiones de MSF incluye protección contra el secuestro de sesiones:
secure_sessioncrea una sesión que vincula el ID de usuario, la IP, el agente de usuario y la huella digital del dispositivo. Esto le permite detectar cambios sospechosos en el contexto de la sesión.validate_sessioncomprueba si el session_id pertenece al usuario y si la IP actual coincide con la IP registrada al crear la sesión.detect_session_hijackcompara la IP actual y el agente de usuario con datos históricos de la sesión. Si la IP se ha movido a una subred diferente o el agente de usuario ha cambiado significativamente, la función devuelve verdadero, lo que indica un posible secuestro.detect_token_replaymantiene un registro de los tokens ya utilizados. Si un token se presenta más de una vez, la función detecta el ataque de repetición.
3.3. Detección de ataques de autenticación
MSF detecta tres tipos principales de ataques contra sistemas de autenticación:
detect_credential_stuffingmonitorea los intentos de inicio de sesión desde una única IP contra múltiples cuentas de usuario. Si una IP prueba muchos nombres de usuario diferentes en un período de tiempo, se marca como relleno de credenciales.detect_bruteforcemonitorea los intentos de inicio de sesión en una sola cuenta. Si el número de intentos excede el umbral en la ventana de tiempo, se marca como fuerza bruta.detect_impossível_travelcalcula la distancia entre dos ubicaciones de inicio de sesión consecutivas y la compara con el tiempo transcurrido. Si la velocidad requerida para viajar entre puntos excede los límites físicos razonables (por ejemplo, 900 km/h), la función detecta un viaje imposible.geo_velocity_checkextiende la detección de viajes imposibles a múltiples ubicaciones, calculando la velocidad geográfica entre todos los puntos de inicio de sesión consecutivos.
3.4. Autenticación adaptativa y basada en riesgos
adaptive_authajusta los requisitos de autenticación según la puntuación de riesgo del contexto. Es posible que un inicio de sesión desde un dispositivo conocido en una ubicación conocida solo requiera una contraseña, mientras que un inicio de sesión desde un dispositivo nuevo en un país diferente puede requerir MFA adicional.behavioral_authutiliza biometría del comportamiento (patrón de escritura, movimiento del mouse, ritmo de navegación) para verificar la identidad del usuario con respecto a la línea de base de comportamiento registrada.risk_based_authcalcula una puntuación de riesgo compuesta a partir de múltiplespor factores: ubicación, dispositivo, hora, comportamiento, reputación de IP y devuelve una decisión de autenticación con un nivel de confianza.
3.5. TOTP y códigos de respaldo
generate_totpgenera códigos de contraseña de un solo uso basados en el tiempo siguiendo RFC 6238, con dígitos y puntos configurables.validate_totpvalida tokens TOTP con tolerancia a la deriva del reloj (parámetrodrift), compensando la desincronización entre el servidor y el dispositivo del usuario.verify_backup_codeverifica y consume códigos de respaldo/recuperación, eliminándolos de la lista válida después de su uso para evitar su reutilización.
3.6. WebAuthn y claves de acceso
passkey_authvalida las autenticaciones FIDO2/WebAuthn comprobando la firma criptográfica del autenticador, los datos del autenticador y los datos del cliente JSON.webauthn_verifyrealiza una verificación completa de la aserción de WebAuthn, incluida la validación del origen, el ID de RP (ID de la parte que confía) y la firma criptográfica con la clave pública registrada.phishing_proof_authcomprueba si un método de autenticación es resistente al phishing y requiere FIDO2 nivel 2 o superior con certificación verificada.
3.7. Seguridad de contraseña
password_entropycalcula la entropía de Shannon de una contraseña, midiendo su complejidad informativa en bits. Las contraseñas con una entropía inferior a 40 bits se consideran débiles.detect_weak_passwordcombina el análisis de entropía con la verificación de listas de contraseñas comunes (rockyou, top 10000, etc.).password_breach_checkcomprueba si aparece un hash de contraseña en una base de datos de infracciones conocidas (Have I Been Pwned y similares).secure_password_hashcrea hashes de contraseñas con sal criptográfica y estiramiento de claves (iteraciones), admitiendo algoritmos como PBKDF2, bcrypt, scrypt y Argon2.verify_password_hashcompara una contraseña con un hash almacenado mediante una comparación segura en tiempo constante.
3.8. Huellas digitales del dispositivo y del navegador
device_fingerprintgenera un identificador de dispositivo único a partir de atributos como agente de usuario, resolución de pantalla, zona horaria, idiomas y plataforma.browser_fingerprintutiliza técnicas avanzadas de toma de huellas digitales basadas en características de representación: hash de lienzo 2D, hash de WebGL, hash de contexto de audio y lista de fuentes instaladas.biometric_validationcompara datos biométricos (huella digital, reconocimiento facial, iris) con una plantilla almacenada con un umbral de similitud configurable.
4. Módulo de criptografía (Crypto)
El módulo de cifrado implementa algoritmos de cifrado modernos simétricos, asimétricos y poscuánticos, centrándose en la autenticación y la integridad.
4.1. Cifrado autenticado
encrypt_datautiliza cifrado autenticado con datos asociados (AEAD), compatible con AES-256-GCM y ChaCha20-Poly1305. Los datos asociados (AAD) le permiten vincular metadatos no cifrados a texto cifrado de forma autenticada.decrypt_datarealiza un descifrado autenticado, verificando la etiqueta de autenticación antes de devolver el texto sin formato. Si la etiqueta no coincide, el descifrado falla, lo que evita ataques de manipulación de texto cifrado y relleno de Oracle.encrypt_fileydecrypt_fileextienden el cifrado autenticado a archivos en el disco, administrando nonce, salt y metadatos de forma segura.
4.2. Criptografía híbrida
hybrid_encryptcombina cifrado asimétrico (para el intercambio de claves) con cifrado simétrico (para la carga útil). La clave simétrica se genera aleatoriamente, se utiliza para cifrar la carga útil y luego se cifra con la clave pública del destinatario.hybrid_decryptinvierte el proceso: descifra la clave simétrica con la clave privada y luego descifra la carga útil.
4.3. Criptografía poscuántica
El MSF implementa los algoritmos post-cuánticos estandarizados por NIST:
pqc_encryptypqc_decryptutilizan ML-KEM (anteriormente Kyber) para cifrado cuántico resistente a computadoras.kyber_key_exchangeimplementa el protocolo de intercambio de claves Kyber para el establecimiento de claves compartidas poscuánticas.dilithium_signutiliza ML-DSA (anteriormente Dilithium) para firmas digitales poscuánticas.sphincs_signutiliza SPHINCS+, un esquema de firma basado en funciones hash, como una alternativa post-cuántica sin estado.falcon_signutiliza Falcon, un esquema de firma basado en celosía con firmas compactas.
4.4. HMAC y verificación de firma
generate_hmacproduce un Hash-bCódigo de autenticación de mensaje ased utilizando HMAC-SHA256, HMAC-SHA384, HMAC-SHA512 o HMAC-SHA3-256.verify_hmaccompara el HMAC calculado con el HMAC esperado mediante una comparación de tiempo constante.verify_signatureverifica las firmas digitales (Ed25519, ECDSA, RSA-PSS) con un mensaje y una clave pública.
4.5. Utilidades criptográficas
secure_randomgenera bytes criptográficamente seguros usandoos.urandom()(Python) ocrypto.getRandomValues()(TypeScript).secure_memory_erasesobrescribe con ceros las regiones de memoria que contienen datos confidenciales, evitando que los datos permanezcan en la memoria después de su uso.anti_timing_comparecompara dos secuencias de bytes en tiempo constante, iterando sobre todos los bytes independientemente de dónde ocurre la primera diferencia, evitando ataques de tiempo.
5. Módulo Web
El módulo Web es el más extenso en cuanto a detección de ataques, con 30 funciones en Python y 35 en TypeScript. Cubre todas las categorías de vulnerabilidad web enumeradas en OWASP Top 10 y más allá.
5.1. Secuencias de comandos entre sitios (XSS)
detect_xssanaliza la entrada para patrones XSS que incluyen: etiquetas<script>, controladores de eventos (onload,onclick,onerror),javascript:URI, DOM XSS (innerHTML,document.write) y XSS a través de SVG/MathML. La función toma un conjunto de patrones de expresiones regulares y calcula una puntuación de confianza basada en la cantidad de patrones coincidentes.severity_thresholdle permite ajustar la sensibilidad de detección.sanitize_htmlelimina etiquetas y atributos no permitidos de HTML, utilizando una lista permitida de etiquetas seguras (<p>,<br>,<strong>,<em>, etc.) y atributos seguros (href,src,alt,title, etc.). Las etiquetas no permitidas se eliminan por completo y los atributos peligrosos como "on*" se filtran.sanitize_svgdesinfecta SVG eliminando elementos peligrosos como<script>,<foreignObject>,<animate>y atributos de eventos.sanitize_markdowndesinfecta Markdown eliminando HTML peligroso incrustado y al mismo tiempo preserva el formato nativo de Markdown.sanitize_csselimina propiedades CSS peligrosas comoexpression(),url(javascript:),behaviory-moz-binding.sanitize_jselimina patrones de JavaScript peligrosos, incluidoseval(),Function(),setTimeout/setIntervalcon cadena,document.write,document.cookie, manipulación DOM insegura y métodos de ejecución de código.
5.2. Inyección SQL y NoSQL
detect_sqlidetecta patrones de inyección SQL que incluyen: consultas basadas en UNION (UNION SELECT), ciegas (AND 1=1,OR '1'='1'), basadas en tiempo (SLEEP(),WAITFOR DELAY), basadas en errores y apiladas. La función también detecta técnicas de evasión como codificación hexadecimal, comentarios (--,/* */) y concatenación de cadenas.detect_nósqlidetecta inyección en bases de datos NoSQL (principalmente MongoDB) identificando operadores peligrosos en la entrada:$gt,$gte,$lt,$lte,$ne,$in,$nin,$regex,$where,$exists.
5.3. Falsificación de solicitudes del lado del servidor (SSRF)
detect_ssrfcompara las URL con una lista de dominios permitidos e IP bloqueadas. La función detecta técnicas de omisión de SSRF que incluyen: redirecciones a localhost, uso de reenlace de DNS, URL con codificación (%00,%0d%0a) y acceso a puntos finales de metadatos en la nube (169.254.169.254,metadata.google.internal).
5.4. Ejecución remota de código (RCE) e inyección de comandos
detect_rceidentifica patrones de ejecución remota de código, incluidas llamadas aeval(),exec(),system(),passthru(),popen(), comillas invertidas y operadores de canalización.detect_command_injectiondetecta la inyección de comandos del sistema operativo mediante operadores de shell:;,|,||,&&, comillas invertidas,$()y redirecciones (>,>>).
5.5. Inclusión de archivos y recorrido de ruta
detect_lfidetecta la inclusión de archivos locales identificando secuencias de recorrido de ruta (../,..\), recorrido codificado (%2e%2e%2f) y protocolos peligrosos (php://filter,php://input,data://,expect://).detect_rfidetecta la inclusión remota de archivos cuando se pasan URL externas como parámetros de inclusión/requisito.detect_path_traversalcomprueba si una ruta se resuelve dentro de unabase_pathpermitida, detectando recorrido absoluto y relativo.
5.6. Inyección de plantilla
detect_template_injectiondetecta la inyección de plantilla del lado del servidor (SSTI) para Jinja2 ({{ 7*7 }},{% for %}), EJS (<%= %>), Manillares ({{#each}}), Pug, Twig, Moustache y un modo genérico que detecta la sintaxis de plantilla común.
5.7. Deserialización yAbrir redireccionamiento
detect_deserialization_attackidentifica la deserialización insegura comprobando las clases permitidas y los patrones de dispositivos conocidos (serialización de Java, Python pickle, deserialización de PHP, deserialización de YAML).detect_open_redirectcomprueba si una URL de redireccionamiento apunta a un host en la lista blanca, evitando redireccionamientos a dominios maliciosos.
5.8. Protección CSRF, CORS y CSP
csrf_protectyvalidate_csrfverifican los tokens CSRF de solicitud con los tokens de sesión mediante una comparación segura.validate_corsvalida las solicitudes CORS comparando el origen, los métodos y los encabezados con las listas permitidas.generate_cspgenera encabezados Content-Security-Policy a partir de la configuración de la directiva (script-src, style-src, img-src, connect-src, frame-ancestors, etc.).validate_cspvalida un encabezado CSP existente con una política de seguridad definida.secure_headersgenera un conjunto completo de encabezados de seguridad: Strict-Transport-Security, X-Frame-Options, X-Content-Type-Options, X-XSS-Protection, Referrer-Policy, Permissions-Policy y Content-Security-Policy.
5.9. Cookies seguras y clickjacking
secure_cookiegenera encabezados Set-Cookie con indicadores Secure, HttpOnly, SameSite (Estricto o Lax), alcance de dominio, ruta y edad máxima.detect_clickjackingcomprueba la presencia de encabezados X-Frame-Options y ancestros de marcos CSP para detectar la vulnerabilidad de clickjacking.validate_originyvalidate_referervalidan los encabezados Origin y Referer contra los dominios esperados.
5.10. Ganchos web
webhook_signaturegenera firmas HMAC para cargas útiles de webhook, incluida la marca de tiempo para la prevención de reproducción.webhook_replay_protectionverifica la firma del webhook y la marca de tiempo, rechazando solicitudes fuera de la ventana de tiempo configurada.
6. Módulo API
El módulo API protege los puntos finales de API contra una amplia gama de ataques y abusos.
6.1. Validación y desinfección de entradas
validate_json_schemavalida los datos con respecto a las definiciones del esquema JSON con un modo estricto opcional que rechaza campos adicionales no definidos en el esquema.validate_inputvalida la entrada de API según reglas de tipo (cadena, número, booleano, matriz, objeto), tamaño mínimo/máximo, patrón de expresiones regulares, enumeración de valores permitidos y profundidad máxima de anidamiento (predeterminado: 5 niveles).sanitize_jsondesinfecta los datos JSON eliminando los tipos no permitidos y truncando las cadenas que exceden la longitud máxima configurada (predeterminado: 10,000 caracteres).
6.2. Limitación de tasa
api_rate_limitimplementa limitación de velocidad usando un algoritmo de ventana deslizante, manteniendo un registro de las marcas de tiempo de las solicitudes por cliente y punto final. Cuando el número de solicitudes en la ventana excede el límite, la solicitud se rechaza.adaptive_rate_limitajusta dinámicamente los límites de tarifas según el comportamiento del cliente. Los clientes con un historial limpio reciben límites más generosos, mientras que los clientes con patrones sospechosos reciben límites más restrictivos.
6.3. Detección de abuso de API
detect_api_abuseanaliza patrones de solicitudes para detectar: scraping (solicitudes secuenciales a muchos recursos), enumeración (intentos de identificación secuenciales), fuzzing (solicitudes con diferentes cargas malformadas) y automatización maliciosa (alta frecuencia con patrones regulares).detect_shadow_apiidentifica puntos finales no documentados que reciben tráfico comparando los puntos finales a los que se accede con la lista de API documentadas.
6.4. Autorización a nivel de objeto roto (BOLA/IDOR)
detect_bolacomprueba si el usuario está autorizado a acceder al recurso solicitado, comparando elresource_idcon elownership_mapque asigna los recursos a sus propietarios. Si el usuario no es el propietario y no tiene permisos delegados, la función devuelve verdadero.
6.5. Autenticación rota y asignación masiva
detect_broken_authverifica la presencia y validez del token de autenticación, los alcances requeridos por el punto final y la correspondencia entre el token y el usuario solicitado.detect_mass_assignmentcomprueba si la entrada de API contiene campos que no están en el modelo (model_fields) o que están en la lista de campos de solo lectura (readonly_fields), evitando que los atacantes modifiquen campos protegidos comois_admin,roleobalance.
6.6. Seguridad GraphQL
graphql_ Depth_limitanaliza la profundidad de las consultas GraphQL, rechazando consultas que exceden el límite configurado (predeterminado: 10 niveles). Esto previene ataques queries recursivos que pueden provocar denegación de servicio.graphql_cost_analysiscalcula el costo computacional de una consulta GraphQL en función de la complejidad de cada campo (configurable a través decomplexity_map) y el nivel de anidamiento. Las consultas con un costo superior al límite (predeterminado: 1000) se rechazan.graphql_abuse_detectionanaliza múltiples consultas en una ventana de tiempo para detectar inundaciones de consultas, abuso de introspección (consultas que explotan el esquema para mapear la API) y patrones de abuso repetitivos.
6.7. Seguridad de gRPC y WebSocket
grpc_security_validationvalida la seguridad de las solicitudes de gRPC comprobando metadatos, encabezados obligatorios e información TLS (conjunto de cifrado, protocolo, certificado de pares).secure_websocketconfigura conexiones WebSocket seguras con validación de origen y subprotocolos permitidos.websocket_origin_validationywebsocket_flood_protectionprotegen contra conexiones WebSocket maliciosas e inundaciones de conexiones.
6.8. Gestión de claves API
api_key_rotationgenera nuevas claves API con hash seguro (SHA3-256), prefijo identificable y fecha de vencimiento configurable.api_key_validationvalida las claves API con un registro de claves conocidas, verificando alcances, vencimiento y límites de tasa individuales.
7. Módulo de Inteligencia Artificial (IA)
El módulo AI es uno de los más innovadores de MSF y ofrece protección completa para aplicaciones que utilizan modelos de lenguaje grandes (LLM).
7.1. Inyección rápida y protección contra jailbreak
detect_prompt_injectionanaliza indicaciones para patrones de inyección como "ignorar instrucciones anteriores", "olvidar todas las reglas", "sistema:", "usted es ahora", "ignorar todo lo anterior", "anular las instrucciones del sistema", "evitar la seguridad", "actuar como si lo fuera", "fingir que lo es", "de ahora en adelante lo es", "modo de desarrollador:" y patrones de marcado que intentan simular instrucciones del sistema. La función utiliza más de 20 patrones de expresiones regulares y calcula una puntuación de confianza en función del número de coincidencias y la duración del mensaje.detect_jailbreakdetecta intentos de jailbreak dirigidos específicamente a eludir las restricciones de seguridad de LLM, que incluyen: modo DAN, "hacer cualquier cosa ahora", "desactivar la seguridad", "modo sin restricciones", "sin restricciones", "ignorar tus pautas de seguridad", "no tienes que seguir tus reglas", "juego de roles sin restricciones", "escenario hipotético donde puedes", "en este universo alternativo" y patrones "solo con fines educativos" utilizados como justificación para eludir.
7.2. Protección de datos sensibles
detect_SENSITIVE_LEAKescanea texto en busca de datos confidenciales, incluidos: SSN/CPF, números de tarjetas de crédito (con validación de suma de comprobación de Luhn), correos electrónicos, números de teléfono, claves API (AWS, GCP, GitHub, estándares Stripe), contraseñas, tokens JWT, claves privadas (encabezados PEM) y direcciones de billeteras de criptomonedas.detect_prompt_leakdetecta intentos de extraer el mensaje del sistema LLM comparando el contenido del mensaje del usuario con el mensaje del sistema usando similitud de texto. Si el usuario intenta reproducir o inferir partes del mensaje del sistema, la función lo marca.detect_data_exfiltraciónanaliza la salida de LLM en busca de datos confidenciales que puedan haberse incluido inadvertidamente en la respuesta.
7.3. Sanitización
sanitize_promptelimina los patrones bloqueados del mensaje del usuario y aplica el límite de longitud.sanitize_llm_outputelimina scripts, controladores de eventos y datos confidenciales de la salida de LLM, aplicando truncamiento si es necesario.ai_memory_sanitizerdesinfecta las entradas de la memoria de IA según la política de retención, eliminando datos confidenciales y entradas caducadas.
7.4. Detección de abuso de modelos y agentes
detect_model_abuseanaliza patrones de solicitudes para detectar abuso del modelo: repetición excesiva (el mismo mensaje enviado varias veces), alta tasa de solicitudes (más de 30 por minuto) y complejidad anormal (consultas muy profundas o largas). La puntuación de abuso se calcula como una combinación ponderada de coincidencia de patrones, repetición, tasa y complejidad.detect_agent_abusemonitorea el comportamiento de los agentes de IA verificando si las acciones realizadas están dentro de las políticas definidas (acciones permitidas, límites de llamadas, restricciones de acceso).
7.5. LLM Firewall y motor de políticas
llm_firewallevalúa la entrada frente a un conjunto de reglas de firewall LLM con acciones configurables (bloquear, advertir, registrar). Cada regla especifica un patrón, una condición y una acción.ai_policy_engineevalúatanto el mensaje como el resultado de LLM frente a un conjunto de políticas de seguridad, que incluyen: prohibición de generar código malicioso, prohibición de revelar información personal, requisito de fuentes para afirmaciones fácticas y restricciones específicas de dominio.
7.6. RAG y alucinaciones
rag_source_validationvalida la credibilidad de las fuentes utilizadas en los sistemas RAG (Recuperación-Generación Aumentada), verificando si los dominios de origen están en la lista confiable y aplicando reglas de validación como verificar la fecha, el autor y la reputación.hallucination_riskevalúa el riesgo de alucinaciones en el resultado del LLM analizando: puntuaciones de confianza bajas, declaraciones no verificadas, inconsistencias fácticas y patrones de lenguaje indicativos de incertidumbre.
7.7. Validación de llamadas de herramientas y barandillas
ai_output_guardaplica barreras de seguridad y reglas de redacción a la salida de LLM, eliminando contenido prohibido y redactando datos confidenciales.tool_call_validationvalida las llamadas a herramientas (llamadas a funciones) comprobando si la herramienta está en la lista permitida y si los argumentos corresponden al esquema esperado.multi_agent_isolationvalida las políticas de aislamiento y comunicación entre múltiples agentes de IA, evitando que un agente comprometa a otro.
7.8. Monitoreo
ai_token_monitormonitorea el uso de tokens LLM contra límites definidos (por solicitud, por minuto, por día, por costo), generando alertas cuando se acercan o exceden los límites.ai_behavior_monitormonitorea el comportamiento de la IA en busca de desviaciones de la línea de base establecida, detectando cambios en los patrones de respuesta, aumento de errores o comportamiento inesperado.
8. Módulo de red
El módulo de red proporciona detección de amenazas a nivel de red, abarcando todo, desde escaneo de puertos hasta comunicación de comando y control.
8.1. Detección de escaneo
detect_port_scananaliza las conexiones desde una IP de origen para detectar escaneos de puertos. La función cuenta los puertos únicos a los que se accede, calcula la velocidad de conexión (conexiones por segundo) y analiza los patrones de indicadores TCP (inundación SYN, patrones SYN-RST). Los tipos de escaneo detectados incluyen: escaneo SYN, escaneo FIN, escaneo XMAS, escaneo NULL y escaneo UDP. El umbral configurable le permite ajustar la sensibilidad (predeterminado: 20 puertos individuales en 60 segundos).detect_dns_tunnelinganaliza las consultas DNS para detectar túneles, calcula la entropía de Shannon de los subdominios (los datos codificados en las consultas DNS tienen una alta entropía), mide el tamaño promedio de los subdominios y cuenta la frecuencia de las consultas para un dominio específico.
8.2. Detección de anomalías de tráfico
detect_traffic_anomalycompara las métricas de tráfico actuales (bytes por segundo, paquetes por segundo, conexiones por segundo, distribución de protocolos) con una línea de base histórica utilizando puntuación z estática. Las desviaciones por encima del umbral (predeterminado: 2,0 desviaciones estándar) se marcan como anomalías.detect_ddosdetecta ataques de denegación de servicio distribuido analizando picos en bytes/paquetes por segundo con respecto a la línea de base, con umbral y ventana de tiempo configurables.
8.3. Detección de proxy, VPN y Tor
detect_proxycomprueba los encabezados HTTP indicativos del proxy (X-Forwarded-For, Via, X-Real-IP, Forwarded) y analiza los patrones de comportamiento de las conexiones proxy.detect_vpncompara la IP de origen con una base de datos de IP de proveedores de VPN conocidos.detect_torcomprueba si la IP pertenece a la red Tor comparándola con listas de nodos y nodos de salida de la red Tor.
8.4. Validación de IP y dominio
validate_ipvalida las direcciones IPv4 contra rangos y bloques permitidos mediante coincidencia CIDR. Admite notación CIDR (por ejemplo,192.168.1.0/24) y rangos individuales.validate_domainvalida dominios comparando el TLD con una lista permitida (por ejemplo, solo.com,.org,.br) y el dominio completo con una lista bloqueada.
8.5. Detección de suplantación de identidad y envenenamiento por ARP
detect_spoofinganaliza los datos del paquete contra las fuentes esperadas y la topología de la red para detectar la suplantación de IP, verificando si la IP de origen es consistente con la ruta esperada.detect_arp_poisoningcompara la tabla ARP actual con las asignaciones esperadas de IP a MAC, detectando cuando una dirección MAC responde a múltiples IP o cuando una asignación cambia inesperadamente.
8.6. Huellas dactilares TLS
tls_fingerprintgenera una huella digital TLS a partir del protocolo de enlace (conjuntos de cifrado, extensiones, curvas elípticas, formatos de puntos) y la compara cona una base de datos de huellas dactilares conocidas para identificar al cliente.ja3_fingerprintgenera un hash JA3 ClientHello específico de TLS, que es un estándar de la industria para identificar clientes TLS en función de los parámetros de negociación.
8.7. Balizamiento y Detección C2
beaconing_detectiondetecta el comportamiento de balizamiento (comunicación periódica con comando y control) analizando la regularidad de los intervalos entre conexiones. Las conexiones con intervalos muy regulares (baja fluctuación) y una alta correlación de intervalos son indicativas de balizamiento.command_and_control_detectionanaliza patrones de tráfico frente a indicadores conocidos de C2: comunicación con dominios DGA (Algoritmo de generación de dominio), tráfico en puertos no estándar, patrones de balizas y uso de protocolos de túnel (DNS, ICMP, HTTP).
8.8. Movimiento lateral y análisis de redes.
lateral_movement_detectiondetecta movimiento lateral analizando patrones de acceso entre hosts de la red: accesos a hosts a los que el usuario normalmente no accede, uso de protocolos de administración remota (RDP, SSH, WMI) para hosts inusuales y propagación del acceso en un patrón gráfico.network_entropy_analysisanaliza la entropía de los paquetes de red para detectar tráfico cifrado o codificado (una entropía alta indica datos aleatorios o cifrados).traffic_behavior_analysisanaliza el comportamiento del tráfico frente a líneas de base establecidas en una ventana de tiempo, detectando cambios en el patrón de comunicación.protocol_anomaly_detectiondetecta anomalías en los protocolos comparando los datos del protocolo con las especificaciones esperadas (campos obligatorios, valores válidos, secuencia de mensajes).
9. Módulo de nube
El módulo de nube protege las infraestructuras de nube en AWS, GCP y Azure, abarcando contenedores, Kubernetes, almacenamiento, IAM, IaC y cadena de suministro.
9.1. Seguridad de contenedores
validate_dockerfilevalida Dockerfiles según las mejores prácticas de seguridad: no use la etiquetalatest, no lo ejecute como root, incluya HEALTHCHECK, no incluya secretos codificados, use imágenes base mínimas (alpinas, sin distribución) y no exponga puertos innecesarios.detect_container_escapedetecta posibles vectores de escape de contenedores comprobando: modo privilegiado, capacidades peligrosas (SYS_ADMIN, SYS_PTRACE, NET_ADMIN), montaje sensible de hostPath (/,/etc,/proc,/sys), falta de perfiles seccomp/AppArmor y uso compartido del espacio de nombres del host.runtime_container_protectionanaliza los eventos del contenedor en tiempo de ejecución frente a las reglas de amenazas y realiza acciones automáticas (bloquear, alertar, aislar, finalizar, registrar).container_image_scanescanea las capas de imágenes del contenedor en busca de vulnerabilidades conocidas (CVE) y verifica las firmas de las imágenes (Cosign, Notary).
9.2. Seguridad de Kubernetes
validate_k8s_rbacvalida las configuraciones de Kubernetes RBAC según los principios de privilegio mínimo: detecta ClusterRoles con comodín (*), ServiceAccounts con permisos excesivos, enlaces que otorgan acceso a secretos y roles que permiten la ejecución en pods.validate_kubernetes_manifestvalida los manifiestos de Kubernetes contra las políticas de seguridad de pods y las políticas de red: detecta pods que se ejecutan como root, sin límites de recursos, con hostNetwork/hostPID/hostIPC, sin readOnlyRootFilesystem y sin securityContext.runtime_k8s_anomalydetecta comportamiento anómalo en eventos de tiempo de ejecución de Kubernetes: creación de pods en espacios de nombres inusuales, cambios en RBAC, acceso a secretos no estándar y comunicación entre pods que normalmente no se comunican.
9.3. Almacenamiento y IAM
detect_public_bucketdetecta depósitos de almacenamiento en la nube de acceso público comprobando: políticas de depósito conPrimario: "*", ACL públicas, bloqueo de acceso público deshabilitado y configuraciones de sitios web que exponen el depósito.validate_s3_permissionsvalida los permisos del depósito S3 según los requisitos de seguridad: verifica que no haya permisos de escritura públicos, que el cifrado esté habilitado, que el control de versiones esté activo y que el registro esté configurado.validate_iam_policyvalida las políticas de IAM contra listas de acciones permitidas y denegadas, detectando permisos excesivos: acciones con comodines (s3:*,*), acceso a recursos de todos los servicios y ausencia de condiciones de restricción.
9.4. Infraestructura como código
validate_terraformvalida los planes de Terraform según las políticas de seguridad: detecta recursos con cifrado deshabilitado, grupos de seguridad con reglas de entrada abiertas (0.0.0.0/0), depósitos públicos, bases de datos sin respaldo y recursos sin etiquetas de identificación.detect_cloud_misconfigdetecta configuraciones erróneas de la infraestructura de la nube comparando la configuración actual con una línea de base de seguridad por proveedor (AWS, GCP, Azure).
9.5. Secretos y cadena de suministro
validate_secrets_managervalida la configuración del administrador de secretos: rotación automática habilitada, cifrado en reposo con KMS, políticas de acceso restrictivas y registro de acceso habilitado.supply_chain_validationvalida las dependencias de software contra fuentes confiables y bases de datos de vulnerabilidades, detectando paquetes de fuentes no verificadas, versiones con CVE conocidos y dependencias con licencias restrictivas.sbom_generatorgenera una lista de materiales del software en formatos SPDX o CycloneDX, enumerando todos los componentes con nombre, versión, tipo, licencia y hash.dependency_auditaudita las dependencias contra la base de datos de vulnerabilidades con filtro de gravedad.detect_typósquattingdetecta ataques de typósquatting comparando nombres de paquetes con paquetes conocidos usando similitud de cadenas (Levenshtein, intercambio de caracteres, separación de palabras).
9.6. Puntuación e identidad
cloud_security_scorecalcula una puntuación general de seguridad en la nube basada en puntos de referencia CIS y ponderaciones configurables por categoría (IAM, almacenamiento, red, registro, cifrado).workload_identity_validationvalida la configuración de identidad de la carga de trabajo (IRSA en AWS, Workload Identity en GKE, Managed Identity en Azure).confidential_computing_validationvalida la certificación informática confidencial para TEE (Intel SGX/TDX, AMD SEV-SNP, AWS Nitro Enclaves, Azure CVM).
10. Módulo de Monitoreo
El módulo de monitoreo ofrece capacidades avanzadas de detección, correlación y respuesta a incidentes.
10.1. Registro a prueba de manipulaciones
secure_logcrea entradas de registro seguras con integridad criptográfica utilizando una cadena hash: cada entrada incluye el hash de la entrada anterior, lo que hace imposible cambiar entradas pasadas sin invalidar toda la cadena.tamperproof_logscomprueba la integridad de una cadena de registros validando que cada hash apunte correctamente a la entrada anterior.
10.2. Puntuación estadística
anomaly_scorecalcula una puntuación de anomalía utilizando la puntuación z estadística: para cada métrica, calcula cuántas desviaciones estándar tiene el valor actual del promedio histórico. Las puntuaciones individuales se combinan con ponderaciones configurables para producir una puntuación compuesta.threat_scorecalcula una puntuación de amenaza compuesta de eventos de seguridad e inteligencia de amenazas, ponderados por gravedad, criticidad del objetivo y confianza en la fuente de inteligencia.risk_scorecalcula una puntuación de riesgo para un usuario específico en función de eventos recientes, contexto actual e historial (promedio de riesgo anterior, número de incidentes, días desde el último incidente).
10.3. Correlación y alertas
correlate_eventscorrelaciona eventos de seguridad dentro de una ventana de tiempo utilizando reglas de correlación definidas por el usuario. Por ejemplo: "si hay 3 eventos de inicio de sesión fallidos desde la misma IP seguidos de un evento exitoso, correlacione lo más posible con fuerza bruta".realtime_alertevalúa eventos comparándolos con reglas de alerta y genera alertas en tiempo real con notificaciones configurables (correo electrónico, Slack, PagerDuty, webhook).adaptive_alertingimplementa alertas adaptativas con prevención de fatiga de alertas: si el número de alertas por hora excede una línea base, el sistema agrupa alertas similares y reduce la frecuencia de notificación.
10.4. Análisis de ataques
attack_path_analysisanalyzes potential attack paths through the network based on security events and network topology, identifying sequences of actions that an attacker could use to reach a critical target.threat_graphcrea un gráfico de conocimiento de amenazas a partir de eventos, entidades (usuarios, hosts, aplicaciones) y relaciones (accedidas, comprometidas, comunicadas).attack_chain_mappingasigna eventos de seguridad al marco MITRE ATT&CK (técnicas y tácticas) y a Cyber Kill Chain (reconocimiento, armamento, entrega, explotación, instalación, C2, acciones sobre objetivos).
10.5. Análisis de Comportamiento y UEBA
behavioral_analysisanaliza el comportamiento del usuario comparándolo con líneas de base establecidas: tiempos de inicio de sesión típicos, ubicaciones comunes, volumen de eventos por hora y tipos de acciones típicos.ueba_analysisrealizaAnálisis de comportamiento de usuarios y entidades comparando el comportamiento de los usuarios con el grupo de pares (grupo de usuarios con un perfil similar), detectando desviaciones estadísticas.detect_account_takeoverdetecta intentos de apropiación de cuentas basándose en indicadores de comportamiento: inicio de sesión desconocido en un dispositivo, ubicación inusual, hora atípica, cambio de contraseña seguido de transferencia de datos y acceso a recursos no estándar.
10.6. Respuesta autónoma y análisis forense
autonomous_responserealiza una respuesta autónoma a incidentes basada en la gravedad de la amenaza y las reglas de respuesta: bloquear IP, deshabilitar cuenta, aislar host, revocar tokens y escalar al equipo de seguridad.forensic_snapshotcrea una instantánea forense del estado del sistema con cadena de custodia de evidencia, incluido el hash criptográfico de todos los artefactos recopilados.incident_timelinecrea una línea de tiempo cronológica de incidentes a partir de eventos de seguridad, ordenándolos por marca de tiempo y agrupando por fase de ataque.autonomous_triagerealiza una clasificación autónoma de alertas utilizando reglas de clasificación y datos de enriquecimiento (información sobre amenazas, contexto del usuario, historial de falsos positivos).
11. Módulo de Defensa Activa (Defensivo)
El módulo defensivo implementa mecanismos de defensa activos que protegen el marco y el tiempo de ejecución de la aplicación.
11.1. Antidepuración y antimanipulación
runtime_self_protectionhabilita mecanismos de autoprotección en tiempo de ejecución: comprobaciones periódicas de integridad, detección de depuración y supervisión continua del estado del proceso.anti_debugging_detectiondetecta intentos de depuración activos comprobando: estado de ptrace (si se está rastreando el proceso), señales del depurador en el entorno (variables de entorno, archivos de depuración) y anomalías en tiempo de ejecución (las pausas inesperadas indican puntos de interrupción).anti_tamperingcomprueba la integridad binaria comparando hashes criptográficos (SHA-256, SHA3-256) con los valores esperados. Si el hash ha cambiado, el binario ha sido modificado.memory_integrity_checkcomprueba la integridad de las regiones de memoria comparando el estado actual con el estado esperado y comprobando las firmas de las regiones críticas.process_integrity_checkverifica la integridad del proceso, incluidos: módulos cargados (detectando archivos DLL no autorizados), país de la cadena de proceso (detectando si el proceso fue iniciado por un padre inesperado) y permisos del proceso.
11.2. Validación binaria y de arranque
code_signing_validationvalida el certificado de firma de código binario frente a un almacén de certificados confiables y verifica que el certificado no haya sido revocado.binary_integrity_validationvalida la integridad de un binario por sección (.text, .data, .rsrc, .reloc) calculando hashes individuales para cada sección y comparándolos con los hashes esperados.secure_boot_validationvalida la cadena de arranque seguro comprobando las medidas del TPM (Trusted Platform Module) y los valores de los PCR (Platform Configuration Registers) que registran cada etapa de arranque.secure_update_validationvalida los paquetes de actualización comprobando: firma criptográfica del paquete, integridad del contenido, versión (evitando ataques de degradación) y canal de distribución.
11.3. Técnicas de detección avanzadas
anti_hook_detectiondetecta enlaces de funciones en la memoria comprobando: enlace IAT (modificando la tabla de direcciones de importación), enlace en línea (modificando las primeras instrucciones de una función) y enlace SSDT (modificando la tabla de descriptores de servicios del sistema en el kernel).anti_injection_detectiondetecta la inyección de código en el espacio de la memoria del proceso comprobando: módulos cargados sin firma, bibliotecas cargadas desde rutas sospechosas y firmas de técnicas de inyección conocidas (vaciado de procesos, inyección de DLL, carga de DLL reflectante).anti_rootkit_detectiondetecta indicadores de rootkit analizando: llamadas al sistema que devuelven resultados inconsistentes, módulos del kernel sin firmar y procesos ocultos (procesos que aparecen en la lista de procesos del kernel pero no en la lista del sistema operativo).anti_vm_detectiondetecta la ejecución en un entorno virtual comprobando: información de hardware indicativa de la VM (fabricante de BIOS, modelo de procesador, dirección MAC), comprobaciones de tiempo (instrucciones que se ejecutan más lentamente en las VM) y artefactos de la VM (archivos, servicios, controladores específicos de VMware, VirtualBox, Hyper-V).anti_emulación_deteccióndetecta entornos de emulación comprobando: disponibilidad de API que los emuladores a menudo no implementan, sincronización de las operaciones (los emuladores son más lentos) y comprobaciones del entorno (cantidad de procesos, espacio en disco, memoria RAM).
11.4. Objetivo en movimiento y autocuración
moving_target_runtimeimplementa la defensa de objetivos móviles rotando los puntos finales del servicio, aleatorizando el diseño de la memoria y variando los tiempos de respuesta para dificultar la explotación de la vulnerabilidad.dynamic_attack_surfaceajusta dinámicamente la superficie de ataque según el nivel de amenaza: en el nivel bajo, todos los puntos finales están disponibles; en el nivel medio, los puntos finales no esenciales están deshabilitados; en el nivel alto, solo los puntos finales críticos permanecen activos.runtime_policy_engineevalúa y aplica políticas de seguridad en tiempo de ejecución con un modo de aplicación configurable (auditoría, advertencia, aplicación).self_healing_securitydetecta y se recupera automáticamente de incidentes de seguridad: si un servicio se ve comprometido, el sistema puede reiniciar el servicio, restaurar la configuración original y notificar al personal.adaptive_threat_responserealiza una respuesta adaptativa a las amenazas en función de las características de la amenaza y los manuales de respuesta predefinidos.autonomous_containmentcontiene amenazas activas de forma autónoma utilizando reglas de contención y topología de red: aísla los hosts comprometidos, bloquea la comunicación C2 y segmenta la red para limitar la propagación.
12. Módulo Honeypot
El módulo honeypot implementa técnicas de engaño para atraer, detectar y analizar atacantes.
12.1. Servicios falsos
fake_admin_panelimplementa un panel de administración falso y realista con rutas de inicio de sesión, panel, administración de usuarios y configuraciones del sistema. Todas las interacciones se registran para su análisis.fake_databasecrea una base de datos falsa con un esquema realista (usuario, pedido, tablas de pago) y registros de ejemplo que parecen legítimos pero son completamente ficticios.fake_apiimplementa una API REST falsa con puntos finales realistas (/api/users,/api/orders,/api/paids) que devuelven cargas útiles convincentes pero ficticias.fake_filesystemcrea un sistema de archivos falso con una estructura de directorios plausible (/etc,/var/log,/home/user,/opt/app) y archivos con contenido realista.fake_ssh_serviceimplementa un servicio SSH falso que acepta conexiones, muestra un banner realista y registra todos los intentos de autenticación y comandos ejecutados.fake_rdp_serviceimplementa un servicio RDP falso para detectar y rastrear ataques a escritorios remotos.fake_kubernetes_clusterimplementa una API de clúster de Kubernetes falsa para atraer atacantes centrados en contenedores respondiendo a consultas sobre pods, servicios, implementaciones y secretos.fake_s3_bucketcrea un depósito S3 falso con objetos realistas (documentos, configuraciones, copias de seguridad) y políticas de acceso que parecen legítimas.fake_login_pageimplementa una página de inicio de sesión convincente con una marca personalizable para capturar los intentos de envío de credenciales.fake_debug_panelimplementa un panel de depuración/desarrollo falso que parece exponer información interna del sistema (variables de entorno, configuraciones de bases de datos, registros).
12.2. Honeytokens y engaño
fake_secretsgenera y gestiona secretos falsos (claves API, tokens de bases de datos, credenciales SSH) que alertan cuando se utilizan fuera de contextos autorizados.honeytoken_generacióngenera tokens rastreables de diferentes tipos (URL, claves API, credenciales, archivos) que activan alertas cuando se accede a ellos.honeycredential_detectioncomprueba las credenciales enviadas con la base de datos de tokens de miel conocidos, detectando cuando un atacante está utilizando credenciales falsas.deceived_routesregistra rutas engañosas que parecen puntos finales de API legítimos pero activan alertas cuando se accede a ellas.decoy_endpointsgenera una lista de puntos finales de API señuelo que imitan puntos finales de servicio reales.deceived_responsesgenera respuestas engañosas contextualmente apropiadas basadas en la solicitud y el perfil del atacante, manteniendo al atacante involucrado mientras recopila información.
12.3. Análisis y Adaptación
adaptive_honeypotajusta dinámicamente la configuración del honeypot según el tráfico observado y el nivel de amenaza: si el atacante está explotando vulnerabilidades web, el honeypot aumenta la superficie de los servicios web; si escanea puertas, abre más puertas falsas.attacker_behavior_trackingrastrea y analiza los patrones de comportamiento de los atacantes dentro de la sesión del honeypot: comandos ejecutados, archivos accedidos, credenciales intentadas y tiempo dedicado a cada servicio.adaptive_deceptionajusta dinámicamente las tácticas de engaño según el perfil del atacante (script kiddie, atacante automatizado, APT) y las métricas de efectividad (cuánto tiempo permaneció el atacante, cuántas acciones realizó).moving_target_defenseimplementa defensa de objetivos móviles en el contexto de honeypots, rotando configuraciones de servicios (puertos, banners, respuestas) para dificultar la toma de huellas dactilares del entorno.
13. Módulo de archivo (Archivo)
El módulo de archivos protege contra amenazas transmitidas por archivos: cargas maliciosas, documentos con macros, archivos PDF con JavaScript, archivos políglotas, bombas zip y malware.
13.1. Subir Validación
secure_uploadvalida y procesa la carga de archivos de forma segura en múltiples capas: verifica la extensión con la lista permitida, valida el tipo MIME mediante bytes mágicos, verifica el tamaño máximo y analiza el contenido en busca de malware.validate_extensioncomprueba si la extensión del archivo está en la lista de extensiones permitidas.validate_mimevalida el tipo MIME del archivo usando detección mágica de bytes (firmas de formato de archivo en los primeros bytes), evitando la suplantación de extensiones (por ejemplo, un archivo.jpgque en realidad es un ejecutable).
13.2. Detección de amenazas en archivos
detect_polyglot_filedetecta si un archivo contiene múltiples firmas de formato de archivo, lo que indica un ataque de archivo políglota (un archivo que es válido en dos o más formatos simultáneamente, como un GIF que también es JavaScript válido).detect_zip_bombdetecta bombas zip analizando la relación de compresión y el tamaño sin comprimir declarado. Una proporción superior a 100:1 o un tamaño sin comprimir superior a 1 GB se considera una posible bomba zip.detect_office_macrodetecta macros VBA en documentos de Office (Word.doc/.docx, Excel.xls/.xlsx, PowerPoint.ppt/.pptx) que pueden ejecutar código malicioso al abrir el documento.detect_pdf_javascriptdetecta JavaScript incrustado en archivos PDF que pueden realizar acciones maliciosas como descargar malware o phishing.detect_executable_payloaddetecta cargas útiles ejecutables incrustadas en archivos no ejecutables (por ejemplo, un PDF que contiene un encabezado PE ejecutable de Windows).detect_embedded_scriptdetecta scripts incrustados en archivos: JavaScript en PDF, VBScript en documentos de Office, PowerShell en archivos de texto y scripts de Python en archivos de datos.
13.3. Escaneo de malware
malware_scanescanea archivos en busca de malware utilizando la coincidencia de firmas (comparación con firmas de malware conocidas) y reglas YARA (coincidencia de patrones avanzada con condiciones complejas).yara_scanescanea archivos usando reglas YARA con soporte de espacio de nombres para organizar reglas por categoría (malware, exploit, sospechoso, etc.).heuristic_scanrealiza un análisis heurístico para detectar comportamientos sospechosos en archivos que no coinciden con firmas conocidas pero que tienen características indicativas de malware (ofuscación, antidepuración, empaquetado).
13.4. Análisis avanzado
entropy_analysiscalcula la entropía de Shannon de los datos del archivo en bloque para detectar el cifrado o la compresión. Los archivos con una entropía superior a 7,5 bits por byte se consideran altamente aleatorios (lo que indica cifrado o empaquetado).detect_steganographydetecta esteganografía en archivos de imagen utilizando múltiples técnicas: análisis LSB (bit menos significativo), detección de datos añadidos, análisis de entropía de bloques y análisis de histograma de color.detect_obfuscationdetecta contenido ofuscado en archivos usando múltiples técnicas: detección de cadenas base64, codificación hexadecimal, concatenación de cadenas, alta entropía en secciones específicas y patrones de flujo de control ofuscados.
13.5. Sanitización y Cuarentena
sanitize_filenamedesinfecta los nombres de archivos eliminando caracteres peligrosos (/,\,..,:,*,?,",<,>,|) y secuencias de recorrido de ruta.quarantine_filemueve archivos maliciosos a un directorio de cuarentena con seguimiento de metadatos (motivo de la cuarentena, marca de tiempo, hash del archivo, cargador).sandbox_executeejecuta archivos en un entorno aislado para análisis de comportamiento, monitoreo: llamadas al sistema, acceso a la red, modificación de archivos y creación de procesos secundarios. -secure_tempfilecrea archivos temporales seguros con permisos restringidos (solo lectura/escritura por parte del propietario) y autoeliminación opcional al cerrar.immutable_storage_checkcomprueba la integridad de los archivos en el almacenamiento inmutable comparando el hash actual con el hash esperado.
14. Módulo Empresarial
El módulo empresarial comprueba el cumplimiento de las normas de protección de datos y seguridad de la información.
14.1. Cumplimiento normativo
lgpd_checkverifica el cumplimiento de la Ley General de Protección de Datos (LGPD, Ley 13.709/2018) de Brasil: consentimiento del titular, designación de DPO (Responsable de Datos), derechos de los titulares (acceso, rectificación, supresión, portabilidad), registro de operaciones de procesamiento, informe de impacto en protección de datos personales y notificación de incidencias a la ANPD.gdpr_checkverifica el cumplimiento del Reglamento General de Protección de Datos (GDPR, Reglamento UE 2016/679): base legal para el procesamiento, designación de DPO, minimización de datos, limitación de finalidad, exactitud, limitación de almacenamiento, integridad y confidencialidad, derecho al olvido, portabilidad de datos y notificación de violaciones dentro de las 72 horas.hipaa_checkverifica el cumplimiento de la Ley de Responsabilidad y Portabilidad del Seguro Médico de EE. UU. (HIPAA): cifrado de PHI (Información de salud protegida) en reposo y en tránsito, controles de acceso (identificación única de usuario, acceso de emergencia, cierre de sesión automático), controles de auditoría (registros de auditoría, controles de integridad) e integridad de los datos de PHI.pci_checkverifica el cumplimiento del Estándar de seguridad de datos de la industria de tarjetas de pago (PCI-DSS): cifrado de los datos de la tarjeta en tránsito y en reposo, segmentación de la red (separación del entorno de la tarjeta), control de acceso (necesidad de saber, ID únicos, MFA), monitoreo de redes y sistemas y pruebas de seguridad periódicas.
14.2. Informes y panel
compliance_reportgenera un informe de cumplimiento integral a partir de múltiples resultados de verificación, que incluyen: resumen ejecutivo, brechas identificadas, recomendaciones de remediación, cronograma de cumplimiento y puntuación por categoría.realtime_security_dashboardgenera un panel de seguridad en tiempo real que muestra: métricas de seguridad (amenazas detectadas, bloqueos, falsos positivos), alertas activas, tendencias históricas y puntuación de riesgo general.
14.3. Auditoría y Política
audit_trailgenera una pista de auditoría inmutable a partir de eventos de seguridad, acciones del usuario y cambios de datos, que incluyen: quién hizo qué, cuándo, desde dónde y cuál fue el impacto.policy_as_codeevalúa y aplica políticas de seguridad definidas como código, permitiendo versionar, revisar y probar automáticamente las políticas de seguridad.
14.4. Multiinquilino y multiregión
tenant_isolationcomprueba y aplica el aislamiento de inquilinos en un entorno multiinquilino: separación de datos, aislamiento de red, control de acceso entre inquilinos y prevención de fuga de información entre inquilinos.multi_region_securityevalúa la postura de seguridad multirregional y el cumplimiento de la residencia de datos: verificación de que los datos de regiones específicas permanezcan en la región, cifrado consistente entre regiones y cumplimiento de las regulaciones locales en cada región.
15. Módulo de Integraciones
El módulo de integraciones proporciona adaptadores para marcos y plataformas populares.
15.1. Marcos web de Python
fastapi_security_dependencycrea una dependencia de seguridad para FastAPI con OAuth2, validación JWT, limitación de velocidad y protección de entrada.django_security_middlewarecrea middleware de seguridad para Django con CSP, CSRF, encabezados de seguridad y protección de entrada.flask_security_extensioncrea una extensión de seguridad para Flask con envoltorios de seguridad, protección de solicitudes y validación de entradas.celery_security_monitorcrea un monitor de seguridad para las tareas de Celery con validación de argumentos, limitación de velocidad por tarea y registro de auditoría.sqlalchemy_query_protectionaplica protección a las consultas SQLAlchemy con seguridad a nivel de fila, filtrado de permisos y prevención de inyección de consultas.
15.2. Marcos web de TypeScript
expressSecurityMiddlewarecrea middleware de seguridad para Express.js con protección de entrada, limitación de velocidad, CORS, CSRF y encabezados de seguridad.fastifySecurityMiddlewarecrea middleware de seguridad para Fastify con enlaces de validación, limitación de velocidad y protección de carga útil.nestjsSecurityModulecrea un módulo de seguridad para NestJS con guardias de autenticación, interceptores de validación y decoradores de autorización.nextjsSecurityHeadersconfigura encabezados de seguridad para Next.js (CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy).
15.3. Borde y tiempo de ejecución
cloudflareEdgeProtectionconfigura la protección perimetral en Cloudflare con reglas WAF, limitación de velocidad, administración de bots y trabajadores de seguridad personalizados.denoSecurityPlugincrea un complemento de seguridad para Deno con control de permisos (lectura, escritura, red, entorno, ejecución) y sandboxing.bunSecurityPlugincrea un complemento de seguridad para Bun con optimización de seguridad y control de acceso a las API del sistema.browserRuntimeProtectionconfigura la protección del tiempo de ejecución del navegador con restricciones de CSP, iframe sandbox y API.serviceWorkerSecurityconfigura la seguridad de los Service Workers con alcance restringido, permisos limitados y validación de origen.wasmSecurityRuntimecrea un tiempo de ejecución de seguridad para WebAssembly con límites de memoria (inicial, máxima, compartida) y restricciones de llamadas al sistema.
15.4. Tubería y motor
async_threat_pipelinecrea un canal de detección de amenazas asíncrono con procesadores configurables (validación, detección, puntuación, alertas) y canales de salida (registro, métricas, webhook).yara_realtime_enginecrea un motor de escaneo YARA en tiempo real con vigilancia de archivos (monitoreo de directorios) y coincidencia continua de reglas.ai_threat_classifiercrea un clasificador de amenazas de IA utilizando un modelo entrenado y un umbral de confianza para decisiones automatizadas.secure_cli_runtimecrea un tiempo de ejecución CLI seguro con desinfección de entradas, validación de argumentos y tiempos de espera de ejecución.python_runtime_guardcrea una protección de tiempo de ejecución de Python con lista blanca de importación (solo se pueden importar módulos permitidos) y espacio aislado (sistema de archivos, red y restricciones de acceso al sistema).
16. Telemetría y Observabilidad
MSF integra la observabilidad en todas sus operaciones, siguiendo los tres pilares de la observabilidad: registros, métricas y seguimientos.
16.1. Registros estructurados
Todos los módulos utilizan registros estructurados en formato JSON. Cada entrada del registro incluye:
marca de tiempo: fecha y hora ISO 8601nivel: gravedad (depuración, información, advertencia, error, crítico)module: nombre del módulo que generó el logtraceId: ID de seguimiento de OpenTelemetry para correlacióncontexto: metadatos específicos de la operación (por ejemplo,detectado,confianza,gravedad,coincidencias)
16.2. Métricas
Metrics Registry admite tres tipos de métricas:
- Contadores: valores acumulativos que solo se incrementan. Ejemplos:
jwt_validations,xss_detections,sqli_detections,port_scan_detections,ddos_detections,malware_scans. - Medidores: valores instantáneos que pueden aumentar o disminuir. Ejemplos:
active_sessions,cache_hit_ratio. - Histogramas: distribuciones de valores. Ejemplos:
anomaly_scores,threat_scores,detection_latency_ms.
Cada métrica puede incluir etiquetas (etiquetas) para una dimensionalidad adicional, como "módulo", "gravedad", "detectado", "proveedor de nube".
16.3. Seguimiento distribuido
Cada rol de seguridad crea un intervalo de OpenTelemetry con:
- Nombre de la operación (por ejemplo:
msf.web.detect_xss) - Atributos: parámetros de entrada, resultado, duración.
- Eventos: hitos significativos durante la ejecución
- Estado: ok o error con descripción
Los tramos se exportan a backends compatibles con OpenTelemetry (Jaeger, Zipkin, AWS X-Ray, Google Cloud Trace, Azure Application Insights).
16.4. Autobús de eventos
Event Bus permite la comunicación asíncrona entre módulos:
- Publicación: cualquier módulo puede publicar eventos con tipo, gravedad, mensaje y metadatos.
- Suscripción: los módulos pueden suscribirse a tipos específicos de eventos y realizar acciones cuando se publican eventos.
- Historial: el bus de eventos mantiene un historial de los últimos N eventos para su consulta.
- Cola de mensajes fallidos: los eventos que no se procesan se mueven a una cola de mensajes fallidos para su posterior reprocesamiento.
17. Patrones de diseño y principios de ingeniería.
17.1. Patrones utilizados
- Singleton: para componentes de infraestructura (PolicyEngine, MetricsRegistry, EventBus, CacheManager).
- Factory: para crear objetos de resultados estandarizados (DetectionResult, ValidationResult, ScanResult).
- Estrategia: para algoritmos de detección intercambiables (diferentes patrones de detección para XSS, SQLi, etc.).
- Observador:al bus de eventos, donde los módulos buscan eventos publicados por otros módulos.
- Cadena de Responsabilidad: para canales de validación donde cada paso puede aprobar o rechazar la entrada.
- Decorador: para agregar características de seguridad a funciones existentes (registro, métricas, seguimiento).
17.2. Principios de seguridad
- Defensa en profundidad: múltiples capas de protección para que, si una falla, las demás sigan funcionando.
- Mínimo Privilegio: cada función y módulo opera con los permisos mínimos necesarios.
- Fail Secure: en caso de error interno, las funciones devuelven resultados que niegan el acceso (fallo cerrado).
- Comparación segura: todas las comparaciones secretas utilizan una comparación de tiempo constante para evitar ataques de tiempo.
- Desinfección de insumos: todos los insumos se tratan como no confiables y se desinfectan antes de procesarlos.
- Registro de seguridad: todas las operaciones de seguridad se registran para auditoría y detección de incidentes.
18. Conclusión
Master Security Framework representa un enfoque integral y unificado para la seguridad de las aplicaciones modernas. Con más de 350 funciones distribuidas en 28 módulos, MSF cubre todo el espectro de amenazas que enfrentan las aplicaciones hoy en día: desde ataques web tradicionales (XSS, SQLi, SSRF) hasta amenazas emergentes (inyección rápida en LLM, ataques a la cadena de suministro, fugas de contenedores).
La implementación dual en Python y TypeScript permite a los equipos multilingües utilizar el mismo conjunto de capacidades de seguridad, mientras que la integración con OpenTelemetry, el registro estructurado y el bus de eventos garantiza que todas las operaciones de seguridad sean observables y auditables.
Los módulos de defensa activa (antidepuración, antimanipulación, autorreparación) y los honeypots adaptativos añaden capas de protección proactiva que van más allá de la detección reactiva, mientras que el módulo de cumplimiento empresarial automatiza el escaneo LGPD, GDPR, HIPAA y PCI-DSS.
El marco es de código abierto, extensible a través de Policy Engine y Event Bus y está diseñado para evolucionar con el panorama de amenazas. Cada función se prueba automáticamente (se aprueban 243 pruebas), se documenta con cadenas de documentación y JSDoc y se instrumenta con telemetría para la operación de producción.
Referencias
- OWASP Top 10: https://owasp.org/www-project-top-ten/
- Marco MITRE ATT&CK: https://attack.mitre.org/
- Marco de ciberseguridad del NIST: https://www.nist.gov/cyberframework
- Criptografía poscuántica del NIST: https://csrc.nist.gov/projects/post-quantum-cryptography
- RFC 6238 - TOTP: https://datatracker.ietf.org/doc/html/rfc6238
- RFC 7519 - JWT: https://datatracker.ietf.org/doc/html/rfc7519
- Puntos de referencia CIS: https://www.cisecurity.org/cis-benchmarks
- LGPD (Ley 13.709/2018): https://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/l13709.htm
- GDPR (Reglamento UE 2016/679): https://eur-lex.europa.eu/eli/reg/2016/679/oj
- HIPAA: https://www.hhs.gov/hipaa/index.html
- PCI-DSS: https://www.pcisecuritystandards.org/