Seguridad
Moraya está diseñado con la seguridad como prioridad. Esta página describe las medidas de seguridad clave integradas en la aplicación.
Almacenamiento de claves API (Keychain del SO)
Las claves API se cifran y almacenan en el gestor de credenciales nativo del sistema operativo:
| Plataforma | Almacenamiento |
|---|---|
| macOS | Keychain Access |
| Windows | Credential Manager |
| Linux | libsecret / Secret Service |
Las claves nunca se almacenan en archivos de texto plano ni se exponen en el JavaScript del frontend.
Proxy de IA en Rust
Todas las llamadas a APIs de LLM se enrutan a través del backend de Rust:
- El frontend envía una solicitud a Rust mediante Tauri IPC
- Rust recupera la clave API del Keychain del SO
- Rust agrega los headers de autenticación y reenvía la solicitud al proveedor
- La respuesta se transmite de vuelta al frontend
Esto evita que las claves API aparezcan en las herramientas de desarrollo del navegador, la inspección de red o la memoria del WebView.
Política de seguridad de contenido (CSP)
La configuración CSP de Tauri restringe lo que el WebView puede cargar y ejecutar:
script-src 'self'— Solo scripts del paquete de la aplicaciónconnect-src ipc:— Solicitudes de red solo a través de Tauri IPC
Esto previene ataques de scripting entre sitios (XSS) y conexiones externas no autorizadas.
Seguridad MCP
Los procesos de servidores MCP están protegidos por múltiples capas:
- Confirmación de inicio — Se requiere aprobación del usuario antes de conectarse a nuevos servidores
- Validación de comandos — Los metacaracteres de shell se rechazan para prevenir inyección
- Limpieza de procesos zombi — Los procesos MCP huérfanos se terminan automáticamente
- Límites del búfer de respuesta — 64KB por línea, máximo 1000 iteraciones
- Filtrado de variables de entorno — Las variables peligrosas (
LD_PRELOAD,DYLD_*, etc.) se bloquean - Confirmación de código de servicios dinámicos — El código MCP generado por IA requiere aprobación del usuario antes de su ejecución
Protección contra recorrido de rutas
Las operaciones de archivos validan todas las rutas para prevenir ataques de recorrido de directorios:
- Las rutas se canonizan antes del acceso
- Los patrones de recorrido (
../) se rechazan - El acceso se restringe al directorio home del usuario y los directorios de base de conocimiento configurados
Sanitización de HTML
El contenido HTML generado por el usuario e importado se sanitiza antes de renderizarse:
- Las etiquetas de script y los atributos de manejadores de eventos se eliminan
- Los iframes y objetos incrustados se eliminan
- Los esquemas de URL se validan (solo
http:,https:,mailto:permitidos) - Renderizado seguro del contenido Markdown pegado e importado