Seguridad
Ver como MarkdownCómo HeartBeatAgents aplica una defensa en profundidad para agentes que ejecutan código y hacen solicitudes HTTP en tu nombre.
Los agentes capaces de ejecutar código y llamar a servicios externos necesitan límites de seguridad que se mantengan incluso si el propio razonamiento del agente falla. El principio de diseño de HeartBeatAgents es que cada límite es físicamente ineludible: se aplica en una capa que el código del agente no puede eludir, no solo se le pide amablemente.
Los siete mecanismos
- Intermediario de credenciales: los agentes reciben identificadores opacos en lugar de tokens OAuth reales. Las credenciales reales se inyectan solo en el momento de la solicitud HTTP y nunca se exponen al propio LLM.
- Política de salida: las operaciones de lectura y escritura se tratan de forma diferente. Los hosts públicos son accesibles vía GET; POST/PUT/PATCH/DELETE se restringen a endpoints de integración aprobados, y HTTPS es obligatorio.
- Defensa contra DNS rebinding: la resolución DNS, la validación de IP y la propia conexión TCP se realizan de forma atómica en la pila de red.
- Proxy de salida: todo el tráfico saliente pasa por un proxy a nivel de red que se ejecuta en un contenedor Docker aislado con reglas
iptablesaplicadas a nivel de kernel. - Depuración de tokens: un depurador basado en reconocimiento de patrones inspecciona cada frontera de salida (contexto del LLM, registros, historial de llamadas a herramientas) y elimina tokens OAuth, claves de API y JWT antes de que puedan filtrarse.
- Autenticación WebSocket: las conexiones requieren un token de autenticación por adelantado; se verifican la firma, la caducidad y la pertenencia a la organización antes de aceptar la conexión.
- Endurecimiento de contenedores: los agentes se ejecutan sin privilegios de root, con capacidades de Linux reducidas, un sistema de archivos raíz de solo lectura, aislamiento de contenedor por organización, y límites de recursos aplicados.
Lo que esto significa en el día a día
- Nunca pegas una clave de API en bruto en la instrucción o las órdenes permanentes de un agente. Ver la Guía de integraciones para saber cómo se autentican las conexiones en su lugar.
- Revocar el acceso de una integración es inmediato y total (ver Configuración).
- Ejecutar en modo autoalojado no debilita nada de esto: los mismos límites de contenedor se aplican tanto si HeartBeatAgents se ejecuta en tu portátil como en tu propio servidor (ver Autoalojamiento).
Cómo se comprueba esto, no solo se diseña
El escaneo de secretos se ejecuta en cada commit, tanto en CI como en una comprobación de pre-commit, además de un escaneo periódico de todo el historial de commits y etiquetas, de modo que una credencial que se haya colado en un commit pasado no permanezca oculta. Este es el tipo de control del que una revisión de seguridad puede pedir pruebas, no solo una política que esta página se limita a declarar.
La seguridad de desarrollo y la de producción se mantienen estructuralmente separadas, no solo documentadas como distintas: el arranque se niega a ejecutarse con un secreto predeterminado o de marcador de posición, a menos que un único indicador explícito, registrado de forma visible, habilite un modo de desarrollo relajado en una instalación local. No existe un ajuste intermedio que debilite la producción en silencio sin que nadie lo note.
Acceso a carpetas
Los agentes solo alcanzan las partes de tu sistema de archivos que compartes explícitamente. Comparte una carpeta desde Configuración → Acceso a carpetas y los agentes podrán leer, y a menos que la marques como solo lectura, escribir dentro de ella; nada fuera de una carpeta compartida es accesible en absoluto. Los directorios del sistema y los almacenes de credenciales no se pueden compartir bajo ninguna circunstancia, sin importar qué ruta intentes indicar.
Relacionado
- Guía de integraciones: autenticación OAuth 2.0 + PKCE por servicio
- Autoalojamiento: aplicar el mismo modelo de aislamiento en tu propia infraestructura