Flujo de Inspección HTTPS¶
SafeMode inspecciona tráfico cifrado usando un flujo local basado en mitmproxy.
Por Qué Hace Falta Interceptar HTTPS¶
Sin una CA local confiada no se puede inspeccionar payload para:
- URLs de phishing
- secretos expuestos
- JavaScript sospechoso
Componentes Principales¶
CertificateManager: chequeo e instalación de certificado.QtMonitorManager: ciclo de vida del proceso mitmproxy.URLMonitorAddon: hooks request/response para análisis y bloqueo.
Secuencia Completa¶
- Arranque de app y validación de certificado.
- Usuario activa monitor.
- Se crea proceso mitmproxy y carga filtros.
- Se emite señal READY al abrir puerto.
- Se activa proxy del sistema.
- Tráfico del navegador fluye por mitmproxy.
- Se ejecutan hooks de bloqueo y análisis.
Comportamiento en Hook request¶
- Detecta método y tipo de request.
- Respeta paths de infraestructura crítica (
/cdn-cgi/). - Aplica whitelist por defecto y de usuario.
- Evalúa filtros.
- Si bloquea, devuelve respuesta sintética
403y corta conexión saliente.
Comportamiento en Hook response¶
- Prioriza GET y contenido HTML/JS para análisis profundo.
- Calcula TLSH cuando aplica.
- Escanea secretos.
- Evalúa patrones JS sospechosos y neutraliza según nivel.
- Emite evento normalizado a la cola UI.
Fronteras de Confianza¶
Confiar CA local implica visibilidad local de payload HTTPS.
Propiedades:
- Procesamiento local.
- Sin dependencia cloud obligatoria en esta arquitectura.
- Controles explícitos de encendido/apagado.
Límites:
- Apps con certificate pinning pueden fallar o bypass.
- Tráfico que no usa proxy de sistema puede quedar fuera de inspección.
Inventario de Archivos CA (~/.mitmproxy)¶
Archivos típicos generados:
mitmproxy-ca-cert.cermitmproxy-ca-cert.pemmitmproxy-ca-cert.p12mitmproxy-ca.pemmitmproxy-ca.p12
Chequeo rápido:
ls -la ~/.mitmproxy
Sirve para confirmar que el material de certificados existe antes de depurar trust store.
Aclaración sobre mitm.it¶
URL de bootstrap para onboarding de certificado:
http://mitm.it(HTTP)
Si aparece:
If you can see this, traffic is not going through mitmproxy.
normalmente indica problema de routing/proxy, no corrupción del certificado.
Siguientes verificaciones:
- proceso monitor activo
- listener levantado en el puerto
- proxy del sistema realmente habilitado
Comportamiento Seguro ante Fallo¶
Si READY ocurre pero proxy no puede activarse, SafeMode detiene monitor para evitar estado falso de protección.