Los mayores descuentos del año. 30 días de garantía de devolución. Ofertas por tiempo limitado. Soporte 24/7. ¡No te lo pierdas!

Seguridad de Hermes Agent: riesgos y buenas prácticas

Seguridad de Hermes Agent: riesgos y buenas prácticas

Hermes Agent incorpora una serie de medidas de seguridad que ayudan a proteger los agentes de IA autoalojados frente a accesos no autorizados, la ejecución de comandos peligrosos, la exposición de credenciales, los ataques de inyección de prompts y otras amenazas de seguridad.

Estas son las principales medidas de seguridad de Hermes Agent:

  • Autorización de usuarios mediante listas de usuarios permitidos y sistemas de emparejamiento en las plataformas de mensajería compatibles.
  • Sistemas de aprobación para comandos de terminal de alto riesgo.
  • Protección integrada que bloquea comandos irreversibles y destructivos.
  • Ejecución de comandos en entornos aislados mediante Docker y otros backends.
  • Protección de claves API, tokens y otras credenciales confidenciales.
  • Filtrado de variables de entorno y ocultación de credenciales para servidores MCP.
  • Detección de intentos de inyección de prompts en archivos de contexto y contenido externo.
  • Aislamiento de sesiones entre usuarios y conversaciones.
  • Restricciones de acceso a sitios web y protección contra ataques SSRF dirigidos a redes privadas.
  • Medidas de seguridad de la cadena de suministro para dependencias opcionales y paquetes utilizados durante la ejecución.

Cómo funciona la seguridad de Hermes Agent

Hermes Agent utiliza varias capas de seguridad independientes para controlar quién puede acceder al agente, qué acciones puede realizar, a qué recursos tiene acceso y cómo procesa el contenido externo.

Los controles de acceso restringen el uso del agente a los usuarios, las plataformas y las conversaciones autorizados. Las plataformas de mensajería y los gateways pueden aplicar listas de usuarios permitidos, procesos de emparejamiento y políticas de autorización antes de que las solicitudes lleguen al agente.

Cuando Hermes Agent va a realizar una acción potencialmente peligrosa, el sistema de aprobación de comandos puede exigir una confirmación antes de ejecutarla.

Además, Hermes incorpora medidas de protección estrictas que bloquean determinadas operaciones especialmente destructivas, independientemente de la configuración de las aprobaciones.

También puedes aislar la ejecución de comandos mediante backends de terminal que funcionan en contenedores u otros entornos aislados.

Ejecutar las herramientas en contenedores Docker u otros entornos aislados limita el acceso al sistema anfitrión y reduce las consecuencias de posibles acciones maliciosas, derivadas de un sistema comprometido o ejecutadas por error.

Hermes también protege las credenciales confidenciales mediante el filtrado de variables de entorno, la ocultación de credenciales, la integración con sistemas de gestión de secretos y las restricciones al reenvío de credenciales.

Las integraciones externas, como los servidores MCP, solo reciben un conjunto limitado de variables de entorno, salvo que se configure expresamente un acceso más amplio.

Para reducir el riesgo de inyección de prompts, Hermes analiza los archivos de contexto compatibles y el contenido externo en busca de instrucciones potencialmente peligrosas antes de utilizarlos en los flujos de trabajo del agente.

Las listas de sitios web bloqueados y las medidas de protección contra SSRF ayudan a impedir el acceso a redes privadas, endpoints de metadatos en la nube, servicios de localhost y otros recursos sensibles.

A estas medidas se suman el aislamiento de sesiones entre conversaciones, la depuración de datos de entrada, las protecciones de la cadena de suministro para dependencias opcionales y las restricciones de red configurables.

En conjunto, estas capas reducen la probabilidad de que un prompt comprometido, unas credenciales expuestas, una integración insegura o un error de configuración provoquen un incidente de seguridad de mayor alcance.

Buenas prácticas para proteger Hermes Agent

Para proteger Hermes Agent, combina controles de acceso, aprobación de comandos, aislamiento de la ejecución, protección de credenciales y restricciones de red.

Una vez que hayas configurado Hermes Agent, empieza por definir las listas de usuarios permitidos y el emparejamiento por mensaje directo. Así, solo los usuarios autorizados podrán interactuar con el agente.

A continuación, configura las políticas de aprobación de comandos peligrosos, elige un backend de terminal aislado, como Docker, limita el reenvío de credenciales y revisa las medidas de protección para el contenido externo y el acceso a la red.

Para reforzar la seguridad de un despliegue de Hermes Agent, conviene combinar los ajustes de ~/.hermes/config.yaml y ~/.hermes/.env (o sus equivalentes en el directorio de un perfil) con medidas de protección de la infraestructura, como firewalls, VPN, redes privadas, aislamiento de contenedores y permisos restringidos en el sistema anfitrión.

Limita quién puede acceder al agente

Hermes Agent permite restringir el acceso mediante listas de usuarios permitidos y controles de emparejamiento. Antes de habilitar el acceso a través de Telegram, Discord, gateways u otras integraciones, define exactamente quién puede interactuar con el agente.

Los controles de acceso se configuran en ~/.hermes/.env y, cuando corresponda, en ~/.hermes/config.yaml.

Si utilizas Telegram, añade los nombres de usuario autorizados a TELEGRAM_ALLOWED_USERS en ~/.hermes/.env.

En Discord se utiliza DISCORD_ALLOWED_USERS, mientras que los despliegues mediante gateways emplean GATEWAY_ALLOWED_USERS. Se deniega el acceso a cualquier usuario que no figure en estas listas.

Evita permitir el acceso sin restricciones mediante ajustes como GATEWAY_ALLOW_ALL_USERS=true. Aunque puede resultar útil durante las pruebas, en los entornos de producción siempre debes limitar el acceso a los usuarios autorizados expresamente.

Si utilizas el emparejamiento por mensaje directo, revisa y aprueba las solicitudes antes de conceder acceso al agente.

Hermes incluye comandos como hermes pairing approve y hermes pairing revoke para gestionar los usuarios autorizados y retirarles el acceso cuando ya no lo necesiten.

Los controles de acceso de Hermes resultan más eficaces cuando se combinan con medidas de seguridad a nivel de red. Siempre que sea posible, restringe el acceso mediante redes de confianza, VPN, proxies inversos o infraestructuras privadas, especialmente si los endpoints del gateway están disponibles para varios usuarios.

Revisa periódicamente las listas de usuarios permitidos y los emparejamientos activos. Eliminar usuarios inactivos, integraciones que ya no se utilizan y reglas de acceso obsoletas reduce la superficie de ataque y ayuda a prevenir accesos no autorizados.

Exige aprobación para los comandos peligrosos

Hermes Agent incorpora un sistema de aprobación que detiene la ejecución de comandos peligrosos hasta que un usuario los revisa y autoriza. Esta medida ayuda a evitar cambios accidentales en el sistema, la ejecución de comandos inseguros y las acciones provocadas por prompts maliciosos.

Puedes configurar las aprobaciones en la sección approvals de ~/.hermes/config.yaml. Hermes admite tres modos: manual, smart y off.

En entornos de producción, utiliza approvals.mode: manual o approvals.mode: smart para que los comandos peligrosos no se ejecuten sin una revisión previa o una evaluación de riesgos.

Evita activar el modo YOLO en sistemas de producción. Ejecutar Hermes con hermes --yolo, utilizar el comando /yolo o establecer HERMES_YOLO_MODE=1 desactiva las comprobaciones de aprobación y permite ejecutar comandos sin confirmación.

Hermes sigue aplicando una lista de bloqueo estricta para operaciones catastróficas, como borrar el sistema de archivos raíz, ejecutar bombas de procesos (fork bombs) o utilizar comandos que pueden destruir directamente el contenido de un disco.

El sistema de aprobación permite revisar comandos que pueden ser arriesgados, pero necesarios para determinadas tareas. Por su parte, la lista de bloqueo estricta impide ejecutar operaciones catastróficas, independientemente de los ajustes de aprobación.

Antes de autorizar un comando, comprueba qué acción va a realizar. Presta especial atención a los comandos inesperados, las solicitudes que excedan el alcance de la tarea original y las operaciones que afecten a sistemas sensibles.

Ejecuta comandos en un entorno aislado

Hermes Agent permite ejecutar comandos de terminal mediante backends aislados, en lugar de hacerlo directamente en el sistema anfitrión. Para los gateways desplegados en producción, utiliza un backend como docker, singularity, modal o daytona para aislar la ejecución de comandos del agente del equipo donde se ejecuta Hermes.

Warning

Cuando se utilizan backends basados en contenedores o entornos aislados en la nube, Hermes considera que el entorno de aislamiento es la principal barrera de seguridad y no aplica las comprobaciones de aprobación de comandos peligrosos dentro de él.

Configura el backend de terminal en ~/.hermes/config.yaml. Para utilizar Docker como entorno aislado, añade la siguiente configuración:

terminal:
  backend: docker
  docker_image: "nikolaik/python-nodejs:python3.11-nodejs20"
  docker_forward_env: []
  container_cpu: 1
  container_memory: 5120
  container_disk: 51200
  container_persistent: true

Al utilizar el backend de terminal de Docker, Hermes aplica una configuración de seguridad reforzada que incluye la eliminación de capacidades de Linux, medidas para impedir la escalada de privilegios, límites de procesos y restricciones en los sistemas de archivos temporales.

Los límites de recursos definidos mediante container_cpu, container_memory y container_disk ayudan a evitar que los comandos que consumen recursos sin control sobrecarguen el sistema anfitrión.

Mantén vacía la lista docker_forward_env, salvo que una tarea necesite expresamente alguna variable de entorno. Las variables que añadas se transferirán al contenedor y podrán ser leídas por el código que se ejecute en él.

Decide si necesitas conservar el sistema de archivos del contenedor entre sesiones. Con container_persistent: true, Hermes lo mantiene de una sesión a otra.

En cambio, con container_persistent: false, el espacio de trabajo es temporal y se elimina durante el proceso de limpieza. Utiliza el modo persistente cuando las tareas necesiten continuidad y el modo efímero cuando el aislamiento sea más importante que conservar el estado.

Para reforzar la separación de red, puedes ejecutar los comandos en un servidor independiente mediante el backend de terminal ssh. Guarda los datos de conexión SSH en ~/.hermes/.env, en lugar de compartirlos a través de un archivo de configuración exportado.

Protege las claves API y otras credenciales

De forma predeterminada, Hermes Agent almacena las claves API, los tokens y otros datos confidenciales en ~/.hermes/.env.

Hermes también admite la gestión externa de secretos mediante Bitwarden Secrets Manager, lo que permite almacenar las credenciales fuera del sistema de archivos local y recuperarlas al iniciar Hermes.

Restringe el acceso al archivo ~/.hermes/.env y evita incluirlo en un repositorio de control de versiones, compartirlo entre usuarios o exponerlo a través de backups y registros.

En Linux y macOS, puedes restringir los permisos del archivo con este comando:

chmod 600 ~/.hermes/.env

Con estos permisos, solo el propietario del archivo puede leerlo o modificarlo.

Si utilizas backends de ejecución aislados, revisa cuidadosamente la configuración del reenvío de variables de entorno. Hermes solo transfiere las variables incluidas en docker_forward_env o en los ajustes de reenvío específicos de cada backend.

Reduce estas listas al mínimo y añade únicamente las credenciales que necesite expresamente cada tarea.

Hermes también filtra las variables de entorno antes de ponerlas a disposición de las sesiones de terminal, los entornos de ejecución de código y los servidores MCP.

Las credenciales no se transfieren automáticamente a procesos secundarios, contenedores o servicios externos, salvo que autorices expresamente su transferencia mediante los ajustes de reenvío o la configuración correspondiente.

Los archivos de credenciales requieren el mismo nivel de protección. Si utilizas terminal.credential_files para transferirlos, permite el acceso únicamente a los archivos que necesite la tarea.

Cuando trabajes con servidores MCP, especifica qué variables de entorno necesita cada uno. Revisa periódicamente las credenciales almacenadas y elimina las claves API, los tokens y los archivos de credenciales que ya no utilices.

Bloquea los ataques de inyección de prompts

Hermes Agent incorpora varias medidas contra los ataques de inyección de prompts, como el análisis de archivos de contexto, la depuración de datos de entrada y el análisis de seguridad opcional mediante Tirith.

Estas protecciones ayudan a identificar instrucciones maliciosas ocultas en archivos de contexto, documentos, contenido web y otras fuentes externas antes de que puedan influir en el comportamiento del agente.

Hermes analiza automáticamente los archivos de contexto que carga en busca de patrones de inyección de prompts. Este análisis ayuda a detectar instrucciones que intenten alterar el comportamiento del sistema, eludir las medidas de seguridad, acceder a credenciales o forzar al agente a realizar acciones no autorizadas.

También puedes activar Tirith, una herramienta opcional de análisis de seguridad integrada en Hermes Agent, desde ~/.hermes/config.yaml. Tirith permite examinar comandos y solicitudes para detectar comportamientos potencialmente peligrosos.

Hermes admite varios ajustes relacionados con Tirith, entre ellos security.tirith_enabled y security.tirith_fail_open. Este último controla qué ocurre cuando Tirith no puede completar un análisis de seguridad.

Si security.tirith_fail_open está activado, Hermes permite continuar con la ejecución del comando aunque el análisis haya fallado. Si está desactivado, bloquea la ejecución hasta que el análisis se complete correctamente o se resuelva el problema.

Revisa cuidadosamente esta configuración antes de desplegar Hermes en entornos donde se ejecuten comandos o se interactúe con sistemas de producción.

Las medidas contra la inyección de prompts funcionan mejor cuando se combinan con la aprobación de comandos y los entornos de ejecución aislados. Aunque las instrucciones maliciosas lleguen al modelo, estos controles reducen la probabilidad de que provoquen acciones perjudiciales.

Revisa periódicamente los comandos bloqueados, las solicitudes de aprobación y las advertencias de seguridad para detectar actividades inusuales o intentos de eludir las políticas establecidas.

Restringe el acceso a contenido externo

Hermes Agent incluye controles que restringen el acceso del agente a determinados sitios web, URL y recursos externos. También ayudan a evitar conexiones con ubicaciones de red inseguras o sensibles.

Estas medidas reducen los riesgos asociados a los ataques de inyección de prompts, los sitios web maliciosos y la falsificación de solicitudes del lado del servidor (SSRF).

Para configurar las restricciones de acceso a sitios web, utiliza security.website_blocklist en ~/.hermes/config.yaml.

Añade los dominios a los que el agente nunca debería acceder, como portales internos de administración, sistemas empresariales sensibles o sitios web que no sean necesarios para sus tareas.

De forma predeterminada, Hermes bloquea el acceso a redes privadas, direcciones de loopback, direcciones de enlace local, endpoints de metadatos en la nube y otros destinos no públicos.

Esta protección ayuda a prevenir ataques SSRF que intentan aprovechar el agente para acceder a servicios internos que no están disponibles públicamente.

Evita desactivar esta medida salvo que lo exija un caso de uso concreto. El ajuste security.allow_private_urls anula la protección y solo debería activarse después de evaluar sus implicaciones de seguridad.

Revisa periódicamente las herramientas de acceso web, las integraciones con navegadores y los servicios externos para comprobar que el agente solo puede acceder a los recursos necesarios para sus tareas.

El número y el tipo de integraciones necesarias varían considerablemente según los casos de uso de Hermes Agent. Por eso, las políticas de acceso deben adaptarse a las tareas que vaya a realizar el agente.

Limitar el acceso a recursos externos reduce los posibles puntos de entrada de instrucciones maliciosas, datos sensibles o contenido inesperado en el sistema.

Activa el registro de actividad y la supervisión

De forma predeterminada, Hermes guarda los registros en ~/.hermes/logs/. Asegúrate de que los administradores puedan acceder a este directorio y de que forme parte de los procesos de supervisión del sistema.

Revisa periódicamente los registros para detectar posibles problemas de seguridad o funcionamiento, como:

  • Intentos de acceso no autorizado
  • Fallos recurrentes al ejecutar comandos
  • Solicitudes de aprobación inesperadas
  • Acciones bloqueadas
  • Problemas de autenticación
  • Comportamientos inusuales del agente

Investigar estos eventos cuanto antes puede ayudarte a detectar errores de configuración y posibles problemas de seguridad antes de que se conviertan en problemas más graves.

En los entornos de producción, plantéate enviar los registros de Hermes al sistema centralizado de registros de tu organización.

Centralizar los registros facilita la búsqueda de eventos anteriores, la correlación de actividades entre distintos sistemas y la conservación de los registros durante periodos más largos.

La supervisión mediante registros resulta más eficaz cuando se combina con el resto de las medidas de seguridad explicadas en esta guía.

Revisa también las advertencias de seguridad y ejecuta periódicamente hermes doctor para identificar problemas de seguridad conocidos, dependencias vulnerables y errores de configuración que puedan requerir atención.

Amenazas de seguridad habituales de Hermes Agent

Las buenas prácticas de seguridad de Hermes Agent ayudan a reducir los riesgos habituales asociados a los agentes de IA autoalojados y a la ejecución automatizada de comandos, como los siguientes:

  • Acceso no autorizado: Los usuarios que no deberían tener acceso al agente podrían enviar solicitudes, ejecutar comandos o interactuar con las herramientas y los servicios conectados. Este riesgo aumenta si los endpoints del gateway están expuestos públicamente o las listas de usuarios permitidos no están bien configuradas.
  • Fuga de datos entre sesiones: Si no se mantiene correctamente el aislamiento entre sesiones, la información de un usuario, una conversación o una sesión podría quedar al alcance de otro usuario. Hermes utiliza controles de aislamiento para impedir que una conversación acceda a datos o estados pertenecientes a otras sesiones.
  • Ejecución de comandos peligrosos: El agente puede generar comandos para modificar archivos, instalar software, eliminar datos o cambiar la configuración del sistema. Sin sistemas de aprobación ni controles de ejecución, estas acciones pueden afectar al sistema anfitrión o a la infraestructura conectada.
  • Ataques de inyección de prompts: Las instrucciones ocultas en documentos, sitios web, emails o contenido recuperado pueden intentar alterar el comportamiento previsto del agente. Si el ataque tiene éxito, puede influir en el uso de herramientas, la ejecución de comandos o las decisiones relacionadas con el acceso a los datos.
  • Exposición de credenciales: Las claves API, los tokens de acceso y otros datos confidenciales pueden quedar expuestos a través de prompts, registros, integraciones, código generado o entornos de ejecución mal configurados. Estas credenciales podrían permitir el acceso directo a servicios externos y datos sensibles.
  • Contenido externo malicioso: Los documentos, sitios web, archivos de contexto, emails y otras fuentes externas pueden contener instrucciones ocultas, comandos peligrosos o enlaces engañosos diseñados para manipular el comportamiento del agente. Hermes incorpora análisis de contenido, restricciones de acceso a sitios web y comprobaciones de seguridad para reducir estos riesgos.

¿Qué medidas de seguridad ofrecen Hermes Agent y OpenClaw?

Hermes Agent y OpenClaw utilizan modelos de seguridad distintos, orientados a diferentes necesidades operativas. El nivel de protección depende de cómo se despliegue, configure y gestione cada plataforma.

Hermes Agent incorpora controles de autorización de usuarios, aprobación de comandos, aislamiento de la ejecución, filtrado de credenciales, protección contra la inyección de prompts y restricciones de acceso a recursos externos.

OpenClaw incluye funciones para auditar despliegues, revisar la seguridad de los gateways, validar configuraciones y gestionar secretos.

La siguiente tabla recoge las características de seguridad de ambas plataformas:

Área de seguridadHermes AgentOpenClaw
Controles de acceso de usuariosListas de usuarios permitidos y controles de emparejamientoControles de seguridad del gateway y auditorías del despliegue
Ejecución de comandosSistemas de aprobación integrados y protección contra comandos peligrososPolíticas de ejecución configurables y comprobaciones de auditoría de seguridad
Aislamiento de la ejecuciónBackends Docker, Modal, Daytona, Singularity y SSHBackends Docker, SSH y entornos de ejecución aislados
Protección de credencialesFiltrado de credenciales en servidores MCP y reenvío controlado de variables de entornoGestión de secretos mediante SecretRef y auditorías de credenciales
Protección contra la inyección de promptsAnálisis mediante Tirith, análisis de archivos de contexto y depuración de datos de entradaControles de seguridad del despliegue y la ejecución
Auditoría de seguridadRegistros de ejecución y supervisiónComandos de auditoría de seguridad integrados y revisiones de configuración
Protección de redListas de sitios web bloqueados y protección contra ataques SSRFMedidas de refuerzo de la seguridad del gateway y comprobaciones de validación

Hermes Agent permite a usuarios individuales y equipos pequeños utilizar un agente autoalojado para escribir código, ejecutar comandos, interactuar con API y automatizar flujos de trabajo. Sus controles de seguridad permiten gestionar los permisos de ejecución, las credenciales y el acceso a recursos externos.

OpenClaw ofrece funciones para gestionar despliegues compartidos en los que varias personas acceden a un mismo entorno. Incluye auditorías de seguridad, revisiones de configuración, comprobaciones de seguridad del gateway y herramientas para supervisar de forma centralizada la actividad de los agentes.

¿Cuál es la forma más segura de desplegar Hermes Agent?

La forma más segura de desplegar Hermes Agent consiste en combinar una infraestructura aislada, restricciones de acceso a la red, actualizaciones periódicas y controles de acceso estrictos.

Hay tres formas habituales de ejecutar Hermes Agent:

Opción de despliegueConsideraciones de seguridad
Ordenador localEs fácil de configurar, pero comparte recursos, credenciales y archivos con tu equipo personal.
VPS autogestionadoOfrece mayor aislamiento y control, pero tendrás que encargarte de los firewalls, las actualizaciones, los backups, la supervisión y los controles de acceso.
Hermes administradoProporciona un entorno dedicado para Hermes sin necesidad de configurar y mantener manualmente la infraestructura subyacente.

Para los despliegues que deben funcionar de forma continuada, utiliza un entorno dedicado en lugar de tu ordenador personal. Hermes administrado se encarga de las actualizaciones de la infraestructura, los parches de seguridad, los backups y el mantenimiento del servidor. De esta forma, puedes utilizar Hermes sin tener que gestionar esas tareas por tu cuenta.

Un VPS autogestionado te permite controlar directamente las reglas del firewall, el acceso a la red, el aislamiento de la ejecución y las demás medidas de protección del servidor que hemos explicado en esta guía.

Si Hermes ejecuta comandos, escribe código o interactúa con sistemas externos, utiliza un backend de ejecución aislado, como Docker. El aislamiento mediante contenedores limita el impacto de los comandos inesperados y reduce el riesgo de que se produzcan cambios en el sistema anfitrión.

Si eliges un VPS autogestionado, busca características que faciliten una configuración segura.

La opción de Hostinger para desplegar Hermes Agent con un solo clic ofrece un entorno preconfigurado con recursos VPS dedicados, protección mediante un firewall integrado, backups automáticos y herramientas para gestionar Docker.

Esta opción reduce las tareas de configuración manual necesarias antes de aplicar los controles de seguridad de Hermes y facilita el mantenimiento de un entorno dedicado, independiente de tu ordenador personal.

Independientemente de dónde ejecutes Hermes, sigue estas buenas prácticas de despliegue:

  • Ejecuta Hermes con un usuario sin privilegios root.
  • Restringe el acceso mediante firewalls, VPN o redes privadas.
  • Protege ~/.hermes/.env y mantenlo fuera del control de versiones.
  • Revisa periódicamente las listas de usuarios permitidos y los ajustes de aprobación.
  • Actualiza Hermes cuando se publiquen correcciones de seguridad.
  • Utiliza backends de ejecución aislados para las tareas que requieran ejecutar muchos comandos.

All of the tutorial content on this website is subject to Hostinger's rigorous editorial standards and values.

Faradilla, or Ninda, is a Content Marketing Specialist with a passion for technology, a curiosity for digital marketing trends, and a love for languages. When she's not writing Hostinger tutorials, you can find her learning about life sciences. Follow her on LinkedIn.

Trusted by 4+ million website owners worldwide

See our 73.408 reviews on Trustpilot

Comentarios

0 responses

Write a response

Llena los campos obligatorios, por favor.Acepta la casilla de verificación Privacidad, por favor.Llena los campos requeridos y acepta la casilla de verificación de privacidad, por favor.

Thank you! Your comment has been successfully submitted. It will be approved within the next 24 hours.