Saltar al contenido

Proyectos

Herramientas de seguridad que diseñé y entregué de principio a fin — de la defensa de la cadena de suministro al hardening móvil.

SlopGuard

Guardián pre-instalación de la cadena de suministro que detecta dependencias alucinadas por IA, typosquatted y maliciosas — sin dependencias en tiempo de ejecución.

Rol
Único autor — arquitectura, motor de detección, CLI, integraciones CI y SaaS.
Context
El slopsquatting es una amenaza emergente en la cadena de suministro documentada en USENIX Security 2025: los LLMs frecuentemente recomiendan `pip install` o `npm install` de paquetes que no existen — aproximadamente el 20% de los paquetes sugeridos por IA son alucinados, con ~38% siendo near-misses de nombres de paquetes reales. Los atacantes monitorizan las salidas de los LLMs y pre-registran esos nombres alucinados con payloads maliciosos.

Problema

No existía una capa de interceptación pre-instalación que pudiera evaluar deterministamente la legitimidad de un paquete — comprobando distancia de typosquatting, antigüedad de publicación, velocidad de descargas, inteligencia de amenazas OSV y probabilidad de alucinación por LLM — antes de que cualquier código se ejecute en la máquina del desarrollador.

Enfoque

  • Motor de detección de 5 capas (capas 0–4) que puntúa los paquetes sin ejecutar ninguno de su código.
  • Núcleo agnóstico de ecosistema con adaptadores intercambiables para PyPI y npm.
  • Múltiples frontends que cubren cada punto de integración: CLI, pre-commit hook, GitHub Action y SaaS auto-hospedable.
  • Invariante anti-falso-positivo demostrable: la capa de alucinación LLM opt-in es estructuralmente incapaz de bloquear un paquete legítimo por sí sola.

Impacto

  • Detecta paquetes maliciosos y alucinados antes de la instalación — sin dependencias en tiempo de ejecución en entornos del consumidor.
  • Suite de 2687 tests recogidos (incluyendo parametrizados) garantiza la corrección en cada capa de detección con un gate de CI de ≥90% de cobertura global y ≥95% en rutas críticas.
  • 8 contratos de arquitectura con import-linter previenen el acoplamiento entre capas a medida que crece la base de código.
  • CLI de SlopGuard bloqueando cuatro paquetes typosquat de PyPI, mostrando coincidencias Damerau-Levenshtein y exit code 2 sugerido.
  • CLI de SlopGuard escaneando un manifiesto limpio — las cuatro dependencias permitidas, exit code 0 (sin falsos positivos).
  • Reporte de escaneo del SaaS de SlopGuard para un manifiesto PyPI — veredicto global Bloqueado (exit 2): 5 dependencias permitidas y 2 bloqueadas (un paquete inexistente/alucinado y el typosquat 'reqursts' de requests).
  • Detalle de escaneo de SlopGuard con señales de detección expandidas — Capa 0 (paquete ausente de PyPI, posible alucinación) y Capa 1 typosquatting (distancia Damerau-Levenshtein 1 respecto a 'requests').
  • Historial de escaneos del SaaS de SlopGuard — seis escaneos on-demand en PyPI y npm, cada uno con resumen de permitidos/bloqueados, total de dependencias y filtro por ecosistema.
  • Dashboard del SaaS de SlopGuard — acciones rápidas (nuevo escaneo, historial) y una explicación del slopsquatting y el modelo de veredictos allow / warn / block para PyPI y npm.
0dependencias en runtime
5capas de detección
2ecosistemas (PyPI + npm)
~96%cobertura de tests
2687tests recogidos
8contratos de arquitectura
  • Puntuación por capas con invariante anti-falso-positivo demostrableImplementadoSeguridad
  • Inteligencia de amenazas OSV.dev con degradación fail-closedImplementadoSeguridad
  • Capa de alucinación LLM opt-in, estructuralmente incapaz de bloquear paquetes legítimosImplementadoSeguridad
  • Detección de typosquatting determinista sin red (Damerau-Levenshtein + Jaro-Winkler)ImplementadoSeguridad

Stack

  • Python 3.11+
  • stdlib only
  • mypy strict
  • ruff (bandit)
  • import-linter
  • pytest
  • GitHub Actions
  • CodeQL
  • FastAPI
  • Next.js
  • PostgreSQL
  • Redis

GoatGuard

Cliente móvil Flutter para monitoreo de red y seguridad, con 2FA TOTP completo.

Rol
Único autor — arquitectura del cliente móvil, flujos de auth/2FA, estado y servicios.
Context
Las redes pequeñas — oficinas en casa y PyMEs — carecen de una interfaz móvil accesible para visualizar activos conectados, salud del enlace y alertas de seguridad sin desplegar infraestructura NMS empresarial.

Problema

Las soluciones existentes son de nivel empresarial (costosas, complejas) o herramientas de consumo sin visibilidad de la postura de seguridad. No existía un cliente móvil ligero que combinara monitoreo de red en tiempo real con autenticación reforzada.

Enfoque

  • Dashboard de salud de red con inventario de dispositivos clasificados por tipo (routers, impresoras, cámaras, etc.).
  • Feed de alertas de seguridad con niveles de severidad, incluyendo detección de port scans.
  • Flujo 2FA TOTP completo: enrolamiento por QR, verificación en login, backup codes y recuperación de cuenta.
  • JWT almacenado en el secure storage del SO (Keystore/Keychain) con interceptor global de errores 401 para gestión de sesión.
  • Arquitectura WebSocket con reconexión por backoff exponencial para flujos de datos en tiempo real.

Impacto

  • Aplicación móvil de 14 pantallas con arquitectura de 5 tabs que ofrece una experiencia completa de gestión de seguridad de red.
  • Seguridad de cuenta con 3 factores (TOTP + backup codes + recovery) respaldada por almacenamiento seguro a nivel de SO.
  • Dashboard principal: salud de red 85/100 con tarjetas de latencia ISP, pérdida de paquetes, jitter y respuesta DNS, más la lista de agentes con CPU/RAM en vivo por equipo.
  • Top de consumidores de red ordenados por ancho de banda (Mbps) junto al estado de los agentes, actualizado cada 30 segundos vía WebSocket.
  • Inventario de dispositivos con búsqueda y filtros, separado entre equipos con agente instalado y descubrimientos solo-ARP; direcciones sensibles censuradas.
  • Detalle de dispositivo: identidad (IP/MAC censuradas), SO, medidores de CPU y RAM en vivo, y KPIs de red como velocidad, latencia y retransmisiones TCP.
  • Series de tiempo por dispositivo (fl_chart): retransmisiones TCP con umbrales y uso de ancho de banda por hora, más una alerta crítica de pico de retransmisiones.
  • Feed de alertas de seguridad con filtros por severidad: detección de port scan, ingreso de dispositivos desconocidos, pérdida de heartbeat y conexiones salientes inusuales.
  • Enrolamiento 2FA: pantalla del código de recuperación de un solo uso (código censurado) previa al setup TOTP, con confirmación explícita de guardado para continuar.
  • Diez backup codes de un solo uso (censurados) generados tras el setup TOTP, con acción de copiar todos y confirmación de guardado antes de entrar al dashboard.
  • Ajustes: preferencias de notificaciones y sección de seguridad mostrando la sesión JWT activa, con cierre de sesión.
6.6Klíneas de Dart
3factores de seguridad de cuenta
20+endpoints REST
14pantallas (arq. 5 tabs)
  • 2FA TOTP: enrolamiento QR, verificación en login, backup y recovery codesImplementadoSeguridad
  • JWT en secure storage del SO (Keystore/Keychain) + interceptor global 401ImplementadoSeguridad
  • Arquitectura de dashboard en tiempo real (REST + WebSocket)Demo / listo para backendResiliencia
  • Reconexión WebSocket con backoff exponencialImplementadoResiliencia
  • Gráficas de series de tiempoDatos simuladosUX
  • Notificaciones pushDatos simuladosUX

Stack

  • Flutter
  • Dart
  • Provider
  • Dio
  • web_socket_channel
  • flutter_secure_storage
  • qr_flutter
  • fl_chart