El blog de seguridad de FireAI

Por FireAI Security & Research Team · Publicado

Seguridad de Hermes Agent en Mac: monitoriza su acceso a la red

Seguridad de Hermes Agent en Mac: monitoriza su acceso a la red

Hermes Agent es un agente de código abierto de Nous Research que puede usar una terminal, buscar en la web y responder a través de apps de mensajería. Búsquedas como «hermes agent security» e «is Hermes Agent safe» se reducen a dos preguntas: qué puede ejecutar en tu Mac y a dónde puede ir su tráfico. Este artículo responde a ambas a partir de la propia documentación del proyecto y de informaciones publicadas, y explica después cómo vigila sus conexiones FireAI, un cortafuegos de red para macOS desarrollado por HisnLabs.

Qué es Hermes Agent y cómo se ejecuta en un Mac

El repositorio describe un agente que se mejora a sí mismo, con un bucle de aprendizaje integrado que crea skills a partir de la experiencia. Lo desarrolla Nous Research, está escrito principalmente en Python, con componentes de Node.js para su interfaz web, y se publica con la licencia MIT. En macOS se instala con un script de una línea (curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash). Funciona con Nous Portal, OpenRouter, OpenAI, Anthropic y endpoints personalizados, y su pasarela de mensajería es compatible con Telegram, Discord, Slack, WhatsApp, Signal y correo electrónico.

A qué puede acceder

El README enumera más de 40 herramientas integradas, entre ellas la búsqueda web y el acceso a la terminal, y siete backends de terminal: local, Docker, SSH, Singularity, Modal, Daytona y Vercel Sandbox. En el backend local, los comandos se ejecutan con los permisos de la cuenta que inició Hermes.

El modelo de permisos documentado

La documentación de seguridad describe una defensa en profundidad.

  • Las aprobaciones tienen tres modos: smart (un modelo evalúa el riesgo), manual (preguntar siempre) y off. El modo YOLO omite los avisos, pero se sigue aplicando una lista de bloqueo estricta para comandos catastróficos.
  • Los backends en contenedores, como Docker, Modal y Daytona, aíslan los comandos; allí se omiten las comprobaciones de comandos peligrosos porque el contenedor es el límite.
  • El acceso a la pasarela está denegado por defecto, con códigos de emparejamiento por mensaje directo que aprueba el operador, y listas de permitidos por plataforma y globales.
  • Los controles de red incluyen protección frente a SSRF, que bloquea los rangos privados, el loopback y los endpoints de metadatos de la nube.
  • Las rutas protegidas, como ~/.ssh/ y ~/.aws/, tienen bloqueada por completo la escritura, y los subprocesos reciben un entorno filtrado.

Son afirmaciones del proveedor, no resultados de pruebas independientes. La documentación no publica una lista fija de los dominios con los que contacta Hermes; dependen del proveedor de modelos y de las plataformas de mensajería que configures.

Incidentes documentados

La GitHub Advisory Database recoge CVE-2026-9366, un problema de inyección de gravedad moderada en las versiones anteriores a la 0.15.0, corregido en la 0.15.0 (aviso). Por otra parte, Hunt.io y Unit 42 informaron de atacantes que ejecutaban Hermes Agent en modo YOLO contra servidores ajenos (Hunt.io) (BleepingComputer). Esos casos se refieren a atacantes que eligen la herramienta, no a un defecto notificado en ella. Los detalles están en nuestro resumen de incidentes.

Vigilar Hermes Agent con FireAI

FireAI es un cortafuegos local para macOS desarrollado por HisnLabs. Su función Perfil de agente incluye Hermes Agent entre los 19 agentes de IA que reconoce y, como Hermes Agent se ejecuta con python, lo identifica por el script que ejecuta el runtime, como hace Perfil de agente con los agentes de node, bun, deno y python. Los procesos hijo del agente, como un shell, git o curl que lance, se le atribuyen recorriendo los procesos padre. Después, durante los 3 primeros días, FireAI aprende con qué destinos contacta normalmente Hermes Agent, agrupados por dominio, y no señala nada durante ese periodo. A partir de ahí, un destino nunca visto se señala en Sugerencias, en la tarjeta Agentes de IA y en Revisión rápida. También se señala un pico de subida: una hora en la que el agente haya subido al menos 4 veces lo de su hora de mayor actividad hasta entonces, y nunca menos de 25 MB.

La lista Actividad de FireAI filtrada por «herm»: un proceso python3.14 que se conecta a hermes-agent.nousresearch.com, mostrado con el personaje de Hermes Agent en lugar de un icono vacío.
La lista Actividad de FireAI en un Mac: el Python que incluye Hermes Agent, conectándose a hermes-agent.nousresearch.com, etiquetado con el personaje de Hermes Agent.

FireAI solo usa metadatos, nombres de host y recuentos de bytes, y nunca lee el contenido de una conexión. Por defecto, señala y deja la decisión en tus manos. En el modo de seguridad Perfil de agente va más allá: una vez terminado el aprendizaje, una conexión a un destino fuera de la línea base se bloquea hasta que pulses Permitir, y Mantener bloqueado convierte ese bloqueo en una regla que se mantiene en todos los modos.

Configuración paso a paso

  1. Instala FireAI y completa la configuración inicial siguiendo Instalar y completar la configuración.
  2. Usa Hermes Agent como de costumbre durante 3 días. FireAI aprende sus destinos en segundo plano y todavía no señala nada.
  3. Abre Sugerencias y busca la tarjeta Agentes de IA. Cuando aparezca una señal, lee la frase en lenguaje sencillo y desliza a la izquierda en Revisión rápida para bloquear o a la derecha para «Está bien».
  4. Si quieres mantener el agente en los lugares que ya usa, elige Perfil de agente en el menú de modos de seguridad, junto a Casa, Cafetería, Paranoico y Bajo ataque.
  5. Cuando se bloquee algo, abre la tarjeta Agentes de IA y elige Permitir para añadirlo a la línea base, o Mantener bloqueado para crear una regla de bloqueo.

Límites

  • FireAI no impide la inyección de prompts. Limita el daño señalando, y permitiéndote bloquear, el camino que seguirían los datos para salir de tu Mac.
  • FireAI no puede ver los prompts de Hermes Agent, el contenido de las herramientas MCP, las skills ni qué archivos lee, porque TLS oculta el contenido y FireAI no está dentro del agente.
  • Hermes Agent se identifica por el nombre del script, así que FireAI lo etiqueta en lugar de verificarlo: solo Claude Code, Claude y Cursor se comprueban con la firma de su desarrollador.
  • Los comandos que Hermes ejecuta en un backend Docker o remoto ocurren fuera del árbol de procesos de tu Mac, así que FireAI ve la conexión del proceso de Docker o SSH, no la del comando que se ejecuta dentro.
  • FireAI no sustituye las aprobaciones, las listas de permitidos ni el sandbox propios de Hermes, y no revisa las skills que crea.
  • Durante el periodo de aprendizaje de 3 días no se señala nada, y los picos de subida se señalan, no se bloquean.
  • Un servidor nuevo dentro de un dominio que el agente ya usa se considera conocido, porque los destinos se agrupan por dominio.

La descripción completa de la función está en la documentación de Perfil de agente. Una guía relacionada trata OpenClaw.

Los demás agentes que reconoce FireAI tienen sus propias guías: Claude Code, app de escritorio de Claude, Cursor, app de ChatGPT para Mac, OpenAI Codex CLI, OpenClaw, Gemini CLI, GitHub Copilot CLI, Amp, Qwen Code, opencode, Aider, Goose, Crush, Windsurf, Kiro, Trae, Muse de Meta, cualquier agente de IA ejecutado con Python o Node.

El papel de FireAI y de HisnLabs

Hermes Agent puede ejecutar comandos de terminal como tú. FireAI muestra, y puede bloquear, a dónde se conecta a continuación.

FireAI es el propio producto de HisnLabs: un cortafuegos con IA integrada para Mac. Muestra, en lenguaje claro, cada conexión que hacen tus aplicaciones y te deja decidir qué sale de tu Mac; su IA funciona en el propio equipo, así que tu tráfico nunca se envía a HisnLabs ni a nadie más. El equipo de investigación en seguridad de HisnLabs es quien mantiene esas decisiones fiables: cataloga qué dominios son simple telemetría frente a un servicio real, sigue el país y la red detrás de una conexión, y entrena el modelo local (la función FireAI Pilot) con tráfico real, sin que nada salga de tu Mac.

Puedes leer las decisiones técnicas detrás de esto, o probar FireAI durante 17 días, en FireAI, de HisnLabs.

Fuentes