Pentesting de aplicaciones Electron
Pruebas de seguridad especializadas para aplicaciones de escritorio Electron, donde un XSS de grado web se vuelve RCE de escritorio si el modelo de procesos está mal configurado.
Electron envuelve su aplicación web en Chromium más Node.js. Esa combinación colapsa el límite de seguridad habitual del navegador: un bug de cross-site scripting que en la web sería robo de sesión puede convertirse en ejecución remota de código en el escritorio del usuario si el modelo de procesos está mal configurado. Muy pocas firmas prueban esto bien — la mayoría trata una app Electron como un sitio web. No lo es.
Esta prueba de penetración combina metodología web con revisión del modelo de procesos de Electron.
Cobertura específica de Electron
- Configuración del modelo de procesos —
nodeIntegration,contextIsolation,sandboxywebSecurityen cadaBrowserWindowywebview, validado contra el checklist de seguridad de Electron. - Superficie de ataque IPC — cada handler
ipcMainy cada API decontextBridge: qué puede pedirle el renderer al proceso main, con qué validación, y qué puede encadenar un atacante que gane ejecución de JavaScript en el renderer. - Cadenas XSS-a-RCE — hallazgos de inyección en la capa web escalados por la capa Electron para demostrar impacto real de escritorio, no severidad hipotética.
- Navegación y control de ventanas — manejo de
will-navigate/setWindowOpenHandler,shell.openExternalcon input influido por el atacante. - Protocol handlers y deep links personalizados — esquemas registrados en el OS como ruta de entrada no autenticada a la app.
- Mecanismo de update — validación de firmas en el updater, URLs de feed inseguras, ataques de downgrade.
- Datos locales — qué guarda la app en disco (tokens, cachés, logs) y cómo se protege en máquinas compartidas.
Emparejamiento de alcance
El contenido web dentro de la app se prueba con metodología completa de aplicaciones web; encima se agrega el testing de la capa Electron. Si la app habla con sus APIs en la nube, esos endpoints se pueden incluir como pentest de API.
Qué recibe usted
- Un informe con pasos de reproducción, evidencia y severidad por cada hallazgo
- Revisión de configuración BrowserWindow/webPreferences contra el checklist de seguridad de Electron
- Mapeo de superficie de ataque IPC (main ⇄ renderer ⇄ preload)
- Guía de remediación para issues de capa web y de capa Electron
- Re-prueba de hallazgos corregidos e informe actualizado
Estándares y referencias
Contexto de cumplimiento
FAQ
- ¿Por qué una app Electron necesita una prueba especializada?
- Porque el modelo de impacto cambia. En un navegador, un XSS roba una sesión; en una app Electron mal configurada, el mismo XSS alcanza APIs de Node.js y ejecuta código en la máquina del usuario. La prueba debe cubrir el modelo de procesos de Electron, no solo el contenido web.
- ¿Si enviamos con contextIsolation habilitado, estamos bien?
- Es necesario, no suficiente. Los preload scripts siguen exponiendo puentes vía contextBridge, y una API de puente demasiado amplia (por ejemplo, un passthrough genérico de 'invoke') recrea el problema que contextIsolation debía resolver. La superficie IPC hay que revisarla llamada por llamada.