Plan de refactorización del host de ejecución

Objetivos

  • Agregar exec.host + exec.security para enrutar la ejecución entre sandbox, gateway y nodo.
  • Mantener los valores por defecto seguros: sin ejecución cross-host a menos que esté explícitamente habilitada.
  • Dividir la ejecución en un servicio de runner headless con UI opcional (app macOS) vía IPC local.
  • Proporcionar política, lista de permitidos, modo de pregunta y vinculación de nodo por agente.
  • Soportar modos de pregunta que funcionen con o sin listas de permitidos.
  • Cross-platform: Unix socket + autenticación por token (paridad macOS/Linux/Windows).

Conceptos clave

Host

  • sandbox: Docker exec (comportamiento actual).
  • gateway: exec en el host del gateway.
  • node: exec en el runner del nodo vía Bridge (system.run).

Modo de seguridad

  • deny: siempre bloquear.
  • allowlist: permitir solo coincidencias.
  • full: permitir todo (equivalente a elevado).

Modo de pregunta

  • off: nunca preguntar.
  • on-miss: preguntar solo cuando la lista de permitidos no coincide.
  • always: preguntar siempre.

Seguridad por defecto

  • Default exec.host = sandbox.
  • Default exec.security = deny para gateway y node.
  • Default exec.ask = on-miss.

Fases de implementación

Fase 1: configuración + enrutamiento de exec

Fase 2: almacén de aprobaciones + aplicación en gateway

Fase 3: aplicación en runner de nodo

Fase 4: eventos

Fase 5: pulido de UI

Documentación relacionada