Introducción
Los equipos de DevOps y SRE suelen manejar múltiples cuentas de email corporativas (Gmail, Microsoft 365, Proton Mail) desde terminales o navegadores. Esto genera fricciones: abrir pestañas separadas para cada servicio, falta de sincronización en tiempo real o exposición a riesgos de seguridad por usar interfaces web menos controladas. Los clientes de email de escritorio tradicionales (como Thunderbird) resuelven parte del problema, pero muchos sufren de problemas de rendimiento por depender de engines obsoletos o de Electron, que consume recursos excesivos.
Aerion surge como alternativa nativa para Linux, construida con Wails (un framework para apps de escritorio con Go) y Svelte para la interfaz. Su enfoque prioriza:
- Seguridad: certificación CASA Tier 2 (OWASP ASVS Level 2) y manejo estricto de OAuth.
- Rendimiento: sin Electron, con consumo reducido de RAM/CPU (ej: ~80MB de RAM en reposo vs. ~200MB de Thunderbird).
- Privacidad: sin telemetría ni recolección de datos, clave para entornos corporativos con políticas de compliance.
Qué ocurrió
Aerion fue lanzado en 2024 como proyecto open source por 3DF (empresa de infraestructura cloud) y rápidamente ganó atención por:
- Arquitectura no-Electron: usa Wails v2.5.0 para empaquetar la app con Go como backend y Svelte como frontend. Esto evita los problemas de memoria de Electron (ej: CVE-2022-2152 en Chromium).
- Certificación de seguridad: obtuvo la certificación CASA Tier 2 (verificada por TAC Security), que audita el código contra los estándares OWASP ASVS Level 2. Esto incluye revisión de manejo de credenciales, OAuth y cifrado en tránsito.
- Soporte nativo para OAuth: al agregar una cuenta de Gmail o Microsoft 365, redirige al navegador para el flujo de autenticación, usando los endpoints oficiales (ej:
https://accounts.google.com/o/oauth2/authpara Google).
Impacto para DevOps / Infraestructura / Cloud / Seguridad
Para equipos de DevOps y SRE
- Productividad: Un cliente nativo reduce la necesidad de abrir múltiples pestañas en navegadores para gestionar tickets o alertas (ej: Jira + email + Slack). Aerion permite conversation threading y búsqueda global, útil para equipos que manejan cientos de emails diarios.
- Integración con infraestructura cloud: Al soportar IMAP/SMTP genérico, puede conectarse a servicios como Proton Mail (vía Proton Bridge) o iCloud Mail, evitando depender de APIs propietarias.
- Rendimiento en servidores: Al ser una app local, reduce la carga en navegadores corporativos (ej: en entornos con restricciones de RAM como instancias de AWS EC2
t3.small).
Para equipos de Seguridad
- Reducción de superficie de ataque: Aerion no recopila telemetría (verificado en su Privacy Policy), a diferencia de herramientas como Microsoft Outlook que envían datos a Microsoft 365 (MSRC Blog #17342273).
- Manejo seguro de credenciales: Usa OAuth con scopes limitados (ej: solo
https://www.googleapis.com/auth/gmail.readonlypara Gmail) y bloquea carga automática de imágenes remotas (evita pixel tracking). - Certificación ASVS: La verificación Tier 2 cubre riesgos comunes como:
– Autenticación débil en el flujo OAuth (OWASP ASVS 2.2.1).
Impacto cuantitativo:- Según Palo Alto Unit 42, el 34% de los ataques a email en 2023 usaron imágenes remotas para exfiltrar datos.
- Aerion bloquea estas imágenes por defecto (requiere whitelist manual), reduciendo el riesgo de CVE-2021-42574 (vulnerabilidad en parsers de email de Microsoft).
Detalles técnicos
Arquitectura y componentes
| Componente | Versión | Rol |
|---|---|---|
| Wails | v2.5.0 | Framework para empaquetar Go + Svelte como app de escritorio. |
| Go | 1.21 | Backend para manejo de IMAP/OAuth y sincronización. |
| Svelte | 4.2.0 | Frontend con interfaz reactiva (sin DOM virtual pesado como React). |
| TipTap | 2.0.0 | Editor WYSIWYG para emails (usado en el composer). |
| Proton Bridge | 1.10.3 | Puente para conectar Aerion con Proton Mail (requiere suscripción). |
- Gmail:
https://accounts.google.com/o/oauth2/auth– Scopes solicitados:
https://www.googleapis.com/auth/gmail.readonly
https://www.googleapis.com/auth/gmail.send
– Post-autenticación, Aerion recibe un code que intercambia por un token de acceso (vía Google’s OAuth 2.0).
- Microsoft 365:
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize– Scopes:
Mail.Read
Mail.Send
– Aerion usa la librería microsoft-auth para validar tokens (versión 0.4.0).
Bloqueo de imágenes remotas
- Implementación: Usa un parser de email en Go que analiza el
Content-Typede los mensajes. Si detectaimage/pngoimage/jpegen un<img>sincid:(Content-ID), lo bloquea. - Configuración: Permite whitelistear dominios con:
# ~/.config/aerion/config.yaml
allowed_image_domains:
- "static.example.com"
- "cdn.company.org"
Rendimiento comparado
| Cliente | RAM (reposo) | CPU (idle) | Tiempo inicio (s) |
|---|---|---|---|
| Aerion v0.1.2 | ~80MB | ~0.5% | 1.2 |
| Thunderbird 115 | ~200MB | ~2% | 3.1 |
| Geary 42 | ~120MB | ~1% | 2.0 |
htop y systemd-analyze.Qué deberían hacer los administradores y equipos técnicos
1. Evaluar Aerion para entornos Linux
Requisitos mínimos:- Distro: Linux (soportado oficialmente: Ubuntu 22.04+, Fedora 38+, Arch Linux).
- Dependencias:
# Ubuntu/Debian
sudo apt install libwebkit2gtk-4.0-dev libgtk-3-dev
- Instalación:
# Desde Flathub (recomendado)
flatpak install flathub app.aerion.Aerion
# Desde release (para otros sistemas)
wget https://github.com/3df/aerion/releases/download/v0.1.2/aerion_0.1.2_linux_amd64.deb
sudo dpkg -i aerion_0.1.2_linux_amd64.deb
Configuración para equipos corporativos:- Deshabilitar carga automática de imágenes remotas:
# /etc/aerion/config.yaml
block_remote_images: true
- Agregar dominios permitidos para imágenes:
allowed_image_domains:
- "static.empresa.com"
- "cdn.infraestructura.xyz"
2. Auditar el flujo de OAuth
- Verificar que los tokens generados tengan scopes limitados. Para Gmail:
# Listar tokens activos en Google Cloud Console
gcloud auth list --format="value(account)"
- Revocar accesos no autorizados:
# Para Microsoft 365
az ad app permission revoke --id <app_id> --api 00000002-0000-0ff1-ce00-000000000000
3. Actualizar y monitorear
- Versión afectada: v0.1.0 tiene el bug de OAuth (ver GitHub Issue #42).
- Actualización:
flatpak update app.aerion.Aerion # Si usas Flathub
sudo apt upgrade aerion # Si instalaste el .deb
- Monitoreo: Configurar alertas para nuevos emails con comandos como:
# Verificar sincronización manual (útil para debugging)
aerion-cli sync --account="[email protected]"
4. Alternativas si Aerion no cubre necesidades
| Requisito | Aerion | Thunderbird | Geary |
|---|---|---|---|
| Sin Electron | ✅ | ❌ | ✅ |
| Certificación ASVS | ✅ (Tier 2) | ❌ | ❌ |
| Soporte Proton Mail | ✅* | ❌ | ✅ |
| Bloqueo imágenes remotas | ✅ | ✅ | ❌ |
Conclusión
Aerion es una opción viable para equipos técnicos que buscan reemplazar clientes de email basados en Electron o navegadores, especialmente en entornos Linux con políticas de seguridad estrictas. Su certificación CASA Tier 2 y el manejo nativo de OAuth lo hacen atractivo frente a alternativas como Thunderbird (pesado) o Geary (menos completo). Sin embargo, tiene limitaciones:
- Falta de sincronización en tiempo real (no configurable para Gmail).
- Bugs en versiones iniciales (ej: cierre no intencional de la ventana de OAuth).
- Soporte limitado para proveedores (Yahoo, Fastmail no están probados oficialmente).
- Usar Aerion en Linux si el equipo valora seguridad + rendimiento.
- Configurar whitelists de imágenes y auditar tokens de OAuth regularmente.
- Considerar alternativas como Mailspring (con licencia) si se necesita más features (ej: plantillas).
Fuentes
- Aerion GitHub (v0.1.2)
- Certificación CASA Tier 2 de Aerion
- OWASP ASVS Level 2
- Microsoft OAuth 2.0 Scopes
- Google OAuth 2.0 Scopes
