Edison Watch

Modelo de Seguridad

Arquitectura técnica de la protección de la Trifecta Letal.

Edison Watch previene la exfiltración de datos al detectar y bloquear la combinación de capacidades requeridas para un ataque.

La Amenaza: Inyección de Prompt

Los agentes de IA son vulnerables a la inyección de prompt - instrucciones maliciosas ocultas en contenido externo (como una página web o archivo) que manipulan a la IA para exfiltrar datos sensibles.

La Trifecta Letal

La exfiltración requiere tres capacidades. Edison Watch las rastrea mediante banderas monótonas por sesión:

CapacidadBandera de SeguridadAcción
Acceso a Datos Privadosread_private_dataIA lee archivos internos, BDs o documentos.
Contenido No Confiableread_untrusted_public_dataIA obtiene datos de internet.
Comunicación Externawrite_operationIA envía datos al exterior (Slack, Correo, APIs).

Lógica de Aplicación: Si una sesión ha accedido tanto a Datos Privados COMO a Contenido No Confiable, cualquier Comunicación Externa posterior se pausa para aprobación humana.

Estado de la Sesión

El estado se rastrea en el servidor Edison y es monótono: una vez que se establece una bandera (ej., Datos Privados accedidos), no se puede desactivar para esa sesión. Esto previene ataques de "reinicio".

Niveles de Control de Acceso (ACL)

Las ACLs previenen que datos sensibles fluyan a destinos de menor sensibilidad independientemente del estado de la Trifecta.

NivelRegla
PÚBLICOPuede fluir a cualquier lugar.
PRIVADONo puede fluir a PÚBLICO.
SECRETONo puede fluir a PRIVADO o PÚBLICO.

Ejemplo: Si un agente lee una base de datos marcada como SECRETA, se bloquea inmediatamente el envío a un canal de Slack PÚBLICO.

Rastreo de Datos

Tipo de DatoRegistradoRetención (Predeterminada)
Llamadas a HerramientasMetadatos y Parámetros90 Días
ResultadosSalida Truncada90 Días
Eventos de SeguridadCambios de bandera y Bloqueos1 Año
AprobacionesDecisiones de usuario1 Año

Privacidad: El contenido crudo de archivos y los historiales completos de conversación no se rastrean ni almacenan en los servidores de Edison.

Encriptación de Credenciales

Edison utiliza encriptación de conocimiento cero para las credenciales almacenadas. No se almacenan claves de encriptación en el servidor.

Tipo de credencialEncriptada con¿Clave almacenada?
Credenciales de usuarioClave personal del usuarioNunca -- solo hash
Credenciales de administradorClave de dominio (opcional)Nunca -- solo hash

La clave del usuario es un compuesto de segmentos tipados: user:{personal_key}.admin:{domain_key}. Cada segmento deriva claves de encriptación vía HKDF con prefijos distintos, asegurando la separación criptográfica. Consulta la Guía de Administración: Encriptación de Credenciales para instrucciones de configuración.

Transporte y Autenticación

  • Auth: Claves API firmadas con HMAC o SAML 2.0/OIDC.
  • Transporte: TLS 1.2+ obligatorio.
  • Aislamiento: Los clientes se comunican solo con el servidor Edison; sin acceso directo de clientes a backends MCP.

Fijación de Dependencias

Edison Watch previene ataques a la cadena de suministro fijando automáticamente las dependencias del servidor MCP en la primera ejecución.

Propósito

Los servidores MCP instalados mediante ejecutores de paquetes (npx, uvx) pueden ser vulnerables a ataques a la cadena de suministro si las dependencias se actualizan maliciosamente. La fijación asegura:

  • Ejecución reproducible: El mismo código exacto se ejecuta cada vez
  • Resistencia a la manipulación: Los archivos de bloqueo se almacenan de forma segura y no pueden modificarse sin acción del administrador
  • Control de versiones: Las versiones exactas de los paquetes están bloqueadas, previniendo actualizaciones inesperadas

Cómo Funciona

  1. Resolución de Primera Ejecución: Cuando se monta por primera vez un servidor usando npx o uvx, Edison Watch:

    • Resuelve el gráfico completo de dependencias transitivas
    • Genera un archivo de bloqueo (npm: package-lock.json, Python: uv.lock)
    • Almacena el archivo de bloqueo de forma segura en la base de datos local
  2. Tiempo de Ejecución Efímero: En cada montaje:

    • Crea un directorio de tiempo de ejecución temporal
    • Instala dependencias desde el archivo de bloqueo almacenado (no desde registros de paquetes)
    • Ejecuta el servidor desde el entorno de tiempo de ejecución aislado
  3. Fallo Cerrado: Si la fijación falla (problemas de red, archivo de bloqueo corrupto), el servidor no se iniciará. Esto asegura que no se ejecute código no fijado.

Controles de Administrador

Toda la gestión de fijación se realiza a través del panel de administración:

  • Ver Estado: Ver versiones de paquetes fijadas y fechas en la descripción general del servidor
  • Limpiar Fijación: Eliminar archivo de bloqueo en caché para forzar la re-fijación (útil después de actualizaciones de paquetes)
  • Limpiar Todas las Fijaciones: Operación masiva para limpiar todas las fijaciones del servidor

No se requiere configuración por línea de comandos o variables de entorno - todos los controles son impulsados por UI para seguridad y auditabilidad.

On this page