Tutorial 9: Configuración de Seguridad
Tutorial 9: Security Settings — easy-to-understand guide based on official docs
Tutorial 9: Configuración de Seguridad
¡Bienvenido de nuevo! En este tutorial, nos adentramos en uno de los temas más importantes de Hermes Agent: la seguridad. Si has estado siguiendo los tutoriales, sabes que Hermes es potente. Pero un gran poder conlleva una gran responsabilidad, y Hermes te cubre las espaldas con un modelo de seguridad en profundidad.
Piénsalo como un castillo con múltiples murallas. Aunque una capa falle, las demás te mantienen a salvo. Repasemos las ocho capas y luego nos centraremos en la más práctica: la aprobación de comandos peligrosos.
Las Ocho Capas de Seguridad
Hermes te protege en ocho frentes:
- Autorización de usuario: controla quién puede hablar con el agente
- Aprobación de comandos peligrosos: supervisión humana para operaciones destructivas
- Seguridad de escritura de archivos: lista de bloqueo y sandbox opcional para escrituras
- Aislamiento por contenedores: sandboxing con Docker/Singularity/Modal
- Filtrado de credenciales MCP: aísla variables de entorno para subprocesos MCP
- Escaneo de archivos de contexto: detecta inyección de prompts en archivos del proyecto
- Aislamiento entre sesiones: las sesiones no pueden acceder a los datos de otras
- Saneamiento de entradas: valida parámetros del directorio de trabajo para prevenir inyección de shell
¡Menuda protección! Pero con lo que más interactuarás es con la aprobación de comandos.
Cómo Funciona la Aprobación de Comandos Peligrosos
Antes de ejecutar cualquier comando, Hermes lo compara con una lista de patrones peligrosos. Si coincide, tendrás que aprobarlo. Sencillo, ¿verdad?
Lo configuras en ~/.hermes/config.yaml:
approvals:
mode: smart # smart | manual | off
timeout: 300 # segundos para esperar la aprobación
cron_mode: deny # deny | approve
single_query_mode: deny # deny | approve
mcp_reload_confirm: true # confirmar antes de recargar herramientas MCP
destructive_slash_confirm: true # confirmar antes de /clear, /new, etc.
Los Tres Modos de Aprobación
El modo inteligente (smart, predeterminado) es el punto óptimo. Utiliza un LLM auxiliar para evaluar el riesgo:
- Los comandos de bajo riesgo (como
python -c "print('hello')") se autoaprueban - Los comandos genuinamente peligrosos se autodeniegan
- Los casos inciertos escalan a una solicitud manual
El modo manual siempre te pregunta. Sin autoaprobaciones, sin excepciones.
El modo off desactiva todas las comprobaciones: equivale a ejecutar con --yolo. Úsalo solo en entornos de confianza como contenedores CI/CD.
⚠️ Advertencia: Establecer
approvals.mode: offdesactiva todos los avisos de seguridad. ¡Úsalo solo en entornos de confianza!
Modo YOLO: El Carril Rápido (Úsalo con Precaución)
El modo YOLO omite todos los avisos de aprobación durante la sesión actual. Puedes activarlo de tres formas:
- Indicador CLI:
hermes --yoloohermes chat --yolo - Comando de barra: Escribe
/yolodurante una sesión - Variable de entorno: Establece
HERMES_YOLO_MODE=1
El comando /yolo es un interruptor:
> /yolo
⚡ Modo YOLO ACTIVADO: todos los comandos se autoaprueban. Úsalo con precaución.
> /yolo
⚠ Modo YOLO DESACTIVADO: los comandos peligrosos requerirán aprobación.
Cuando YOLO está activo, Hermes muestra dos recordatorios visuales:
- Un banner rojo al inicio de la sesión:
⚠ Modo YOLO: todos los avisos de aprobación omitidos - Un fragmento
⚠ YOLOen la barra de estado, actualizado en tiempo real
⚠️ Peligro: El modo YOLO desactiva todas las comprobaciones de comandos peligrosos, excepto la lista de bloqueo estricta. Úsalo solo cuando confíes plenamente en los comandos que se generan.
Novedades en Esta Versión
Dos nuevos ajustes merecen atención especial:
mcp_reload_confirm (predeterminado true): Cuando ejecutas /reload-mcp, Hermes ahora pregunta antes de reconstruir el conjunto de herramientas MCP. ¿Por qué? Porque reconstruirlo invalida la caché de prompts del proveedor, lo que significa que el siguiente mensaje reenvía los tokens de entrada completos. Si haces clic en Aprobar siempre, esto cambia a false.
destructive_slash_confirm (predeterminado true): Los comandos destructivos como /clear, /new, /reset y /undo ahora solicitan confirmación antes de descartar el estado de la conversación. Verás un diálogo con tres opciones: Aprobar una vez / Aprobar siempre / Cancelar. En Telegram, Discord y Slack, aparecen como botones nativos de sí/no.
Conclusiones Clave
- El modo inteligente es tu aliado: equilibra seguridad y velocidad
- El modo YOLO es un interruptor, no una puerta de un solo sentido
- Las sesiones cron y de consulta única deniegan por defecto los comandos peligrosos: el agente debe buscar otra vía
- Comprueba siempre los indicadores visuales para saber si YOLO está activo
La seguridad no consiste en ser paranoico, sino en estar preparado. Con el enfoque en capas de Hermes, puedes automatizar con confianza. ¡Cuídate ahí fuera y feliz automatización!
📖 Documentación oficial
Este artículo se basa en la documentación oficial de Hermes Agent :Docs oficiales › user-guide/security