Hermes Agent: Memoria Persistente con Holographic
Estimados amigos de Inseguros !!!
Hermes Agent es potente. Te da tools, terminal, skills, todo lo que necesitas para automatizar y auditar. Pero tiene un problema que ni Hermes ni otros agentes solucionan bien hasta hace poco: la amnesia de sesión.
Cierras Hermes después de trabajar. Al día siguiente lo abres y… nada. El agente no recuerda en qué app estabas, qué vulnerabilidades encontraste, qué herramientas configuraste. Es como si reiniciara su cerebro cada vez que cierras la sesión. Cuando digo cierras, digo se te cierra el SSH, actualizas, etc etc etc. o simplemente, la ejecución de una tool, te vas a comprobar cosas, vuelves, es decir MEMORIA, que soy un pesao xDDD
El problema: Hermes sin memoria cross-session
Hermes tiene dos capas de memoria dentro de una sesión:
- MEMORY.md: notas curadas por el agente (~2,200 caracteres)
- Historial de sesión: toda la conversación guardada en
state.db
Como digo, se te corta el ssh hacia tu máquina de matar xD.
Esto es especialmente frustrante en Hermes porque Hermes sí tiene sesiones guardadas. Están en ~/.hermes/state.db. Pero no las recupera automáticamente entre sesiones nuevas. Tiene que ser tú quien haga session_search para buscar sesiones anteriores.
¿Y si tu auditoría dura dos semanas? ¿Tres? Imagínate repetiendo configuración, contexto, hallazgos cada día. Es ineficiente. Es tokens tirados. Es la vida.
Por qué Hermes falló en esto (hasta ahora)
Hermes tiene 8 proveedores de memoria diferentes. Es uno de los puntos fuertes del agente. Pero todos tienen un problema: overhead.
La arquitectura de Hermes es así:
- MEMORY.md local (~2,200 caracteres): notas curadas, limitado
- USER.md: perfil del usuario
- session_search: puedes buscar sesiones anteriores (FTS5)
- External providers: Honcho, Hindsight, Mem0, ByteRover, etc.
Pero los external providers requieren… bueno, todo:
- Honcho: API keys, servidor externo, LLM reasoning… $$$
- Hindsight Cloud: depende de internet, pago por token
- Mem0: dependencias de Python, configuración, vector store
- ByteRover: CLI de Node, más peso
Y si quieres usar session_search manualmente para recuperar contexto de sesiones anteriores… tienes que hacerlo explícitamente. Hermes no lo hace solo.
Es decir: Hermes tiene las herramientas. Pero no hay forma simple de que el agente sea automáticamente consciente de sesiones anteriores sin configurar una de estas cosas complejas.
Aquí es donde entra Holographic.
La solución: Holographic como proveedor de memoria en Hermes
Hermes tiene 8 proveedores de memoria. Holographic es el más simple. Y está incluido por defecto.
¿Cómo funciona? Holographic se integra en la arquitectura de Hermes así:
Hermes Core
├── MEMORY.md / USER.md (local, curado)
├── session_search (buscar sesiones anteriores)
└── Memory Providers (pluggable)
├── Honcho (cloud + config compleja)
├── Hindsight (cloud o local, pero requiere setup)
├── Mem0 (overhead)
└── Holographic ← Aquí
Cuando activas Holographic:
- Se crea
~/.hermes/memory.db: base SQLite local, 100% privada, cero internet - Hermes inyecta memoria automáticamente: antes de cada response, Hermes consulta Holographic y carga hechos relevantes
- La memoria se construye sola: mientras trabajas, Hermes extrae y guarda conocimiento
Es decir: con Holographic, no tienes que hacer nada especial. Hermes simplemente… recuerda.
Setup en Hermes:
hermes memory setup
# Selecciona "holographic" del menú
# Listo. Fin.
Eso es TODO. No hay API keys. No hay servidores. No hay dependencias raras. Solo:
# Verificar que funciona
hermes memory status
# Debería decir:
# Memory provider: holographic
# Data storage: ~/.hermes/memory.db
# Cost: Free
# Status: ready
Y cuando abras Hermes la próxima sesión, el agente automáticamente tendrá acceso a todo lo que aprendió antes.
Cómo funciona en auditorías reales con Hermes
Volvamos a nuestro escenario: auditoría de app Android con Hermes.
Sesión 1 (lunes a las 16:00):
Abres Hermes y empiezas:
hermes
Le dices a Hermes qué necesitas:
«Configura adb y emulador para Android 14. Necesito auditar la app de login. Vamos a hacer análisis dinámico.»
Hermes:
- Ejecuta los comandos adb
- Levanta el emulador
- Configura Burp
- Genera un skill personalizado para esta auditoría
- Guarda todo en su memoria
Después de 30 minutos encuentras algo:
«Hermes, en POST /api/login no valida CSRF tokens. El header X-CSRF-Token es ignorado. Documenta esto.»
Hermes guarda ese hallazgo. En su memoria (Holographic), no solo en la sesión.
También tú creas un .hermes.md en tu directorio de proyecto:
# App Audit: LoginApp v2.1
## Environment
- Platform: Android 14 emulator
- Tools: adb, Burp Suite, custom script
- Status: Dynamic analysis in progress
## Key Findings
- POST /api/login: Missing CSRF validation
- User-Agent spoofing possible in auth flow
- Session tokens stored in cleartext in SharedPreferences
## Next Steps
- Fuzz authentication parameters
- Test account enumeration
- Review API logic for race conditions
Cierras Hermes. Importante: Hermes guarda:
- Todo lo que conversaste (state.db)
- Todos los hechos/findings (Holographic memory)
- Tu .hermes.md en el directorio
Sesión 2 (martes a las 10:00):
Abres Hermes de nuevo:
hermes
Dices:
«Continúa donde lo dejamos ayer en LoginApp»
¿Qué pasa? Hermes:
- Lee tu .hermes.md automáticamente — sabe qué app, qué entorno, qué findings
- Consulta Holographic — recupera todos los hechos de ayer (vulnerabilidades, comandos ejecutados, configuración)
- Inyecta todo en el contexto — antes de responder, Hermes ya tiene todo el contexto de ayer
Tú simplemente continúas:
«Ahora haz fuzzing de los parámetros de login. Busca race conditions.»
Y Hermes no pregunta dónde está adb, dónde está el emulador, cuál era la vulnerabilidad… ya lo sabe. Porque Holographic lo recordó.
El flujo técnico (lo que pasa por debajo)
Para que entiendas exactamente qué está pasando:
- Setup inicial (día 1):
hermes memory setup # Selecciona "holographic" # ~/.hermes/config.yaml ahora tiene: # memory: # provider: holographic - Durante la sesión:
- Cada conversación entre tú y Hermes se guarda en
~/.hermes/state.db - Los hechos clave se extraen y guardan en
~/.hermes/memory.db(Holographic) - Tu
.hermes.mdmantiene el estado de la auditoría
- Cada conversación entre tú y Hermes se guarda en
- Sesión nueva:
- Hermes carga automáticamente Holographic
- Antes de responder a tu pregunta, ejecuta:
honcho_search()o equivalente en Holographic - Inyecta la memoria relevante en el prompt del agente
- El agente ve todo y actúa como si nunca se hubiera ido
Es invisible. No tienes que hacer nada. Solo usar Hermes normalmente.
Lo que tenemos que hacer (muy poco)
Bien, no es magia total. Hermes + Holographic hace el 95% del trabajo. Pero tú tienes que hacer lo básico.
1. Activar Holographic una sola vez:
hermes memory setup
# Menú interactivo
# Selecciona "holographic" (opción 1, probablemente)
# Enter, fin
2. Crear un .hermes.md en tu proyecto:
Este archivo es super importante porque Hermes lo lee automáticamente cada sesión. Es tu mapa de la auditoría.
# [APP_NAME] Security Audit
## Target Info
- **App**: LoginApp v2.1
- **Platform**: Android 14
- **Analysis Type**: Dynamic Analysis
- **Status**: In Progress (Week 1 of 2)
## Environment Setup
- **Device**: Emulator (adb configured)
- **Tools**: Burp Suite on 127.0.0.1:8080, custom fuzzing script
- **API Endpoint**: http://10.0.2.2:8000
- **Test User**: test@example.com / password123
## Known Vulnerabilities
1. **Missing CSRF validation** on POST /api/login
- Severity: High
- Impact: Account takeover possible
- Status: Confirmed
2. **Cleartext session tokens** in SharedPreferences
- Severity: Critical
- Impact: Session hijacking
- Status: Confirmed
## Next Tasks
- [ ] Fuzz authentication parameters (range_min=1, range_max=1000)
- [ ] Test race conditions in login flow
- [ ] Check API logic for account enumeration
- [ ] Review encryption of stored credentials
## Tools & Commands Log
```bash
adb devices # Lists connected devices
adb shell input text "test@example.com" # Automate input
adb logcat | grep -i "auth|token|session" # Monitor auth logs
Notes
- Emulator is slow on first run, takes ~5 min to boot
- Burp needs certificate imported before first run
- App crashes on rapid login attempts (possible DoS vector)
Cuando Hermes abre sesiones nuevas, lee este archivo automáticamente. Sabe dónde estás, qué ya encontraste, qué sigue.
**3. Usar skills de Hermes para tareas repetitivas:**
Hermes **crea skills** automáticamente de lo que haces. Si ejecutas el mismo comando fuzzing todos los días, Hermes puede crear un skill para eso:
> "Hermes, convierte lo que acabamos de hacer en un skill llamado `fuzz_login_api`"
Hermes lo guarda. Sesión siguiente:
> "Ejecuta el skill `fuzz_login_api` con parámetros [1000-2000]"
Y lo hace. Sin repetir explicaciones.
**Eso es todo.** El resto lo hace Hermes con Holographic.
## Ventajas reales para auditorías con Hermes
- **Cero configuración post-setup**. Una vez que haces `hermes memory setup` y seleccionas "holographic", Hermes simplemente… funciona. Todas las sesiones posteriores tienen memoria automática.
- **Privacidad total en auditorías**. SQLite en tu máquina. Si estás auditando aplicaciones con datos sensibles de clientes, TODO se queda local. Nada sale a internet. Nada.
- **No pesas nada de más**. Hermes sin Holographic es ligero. Holographic añade un archivo `.db`. Eso es todo. No hay daemons, no hay servicios en background, no hay overhead.
- **Continuidad real en auditorías largas**. Una auditoría de 3 semanas con Hermes + Holographic es como una única sesión larga de 3 semanas. El agente **nunca pierde contexto**.
- **Compatible con skills de Hermes**. Holographic se integra perfectamente en el sistema de skills de Hermes. Si necesitas automatizar tareas, tus skills recordarán qué hicieron la semana anterior.
- **session_search sigue funcionando**. Si necesitas buscar sesiones antiguas manualmente, puedes hacerlo con Hermes. Holographic es *además de* eso, no en lugar de.
## Lo que no es perfecto (seamos honesto)
Holographic es potente, pero no es mágico. Cosas que debes saber:
**1. La memoria se construye poco a poco.** Los primeros días de una auditoría, Holographic está aprendiendo qué es importante. Cuanto más trabajes con Hermes, mejor memoriza. No esperes perfección el día 1.
**2. Hermes sigue siendo Hermes.** Si la sesión se comprime (muy largos contextos), Hermes puede hacer un resumen automático de lo conversado. Holographic intenta guardar lo importante antes de eso, pero no es perfectamente lossless. Para auditorías normales no es un problema. Para sesiones de 500K tokens por día, considera Hindsight o ByteRover.
**3. Los skills requieren setup inicial.** Si necesitas que Hermes cree un skill personalizado para tu auditoría, ese skill no se auto-genera. Tienes que decirle: "Crea un skill que haga X". Pero una vez creado, la memoria de ese skill persiste.
**4. Los archivos `.hermes.md` hay que mantenerlos.** No es automático. Cada vez que encuentres algo importante, actualiza tu `.hermes.md`. Es 5 minutos cada día. Pero es necesario.
## Empezando hoy con Hermes + Holographic
**Paso 1: Instalar/verificar Hermes**
```bash
hermes --version
# Si no está instalado:
# Sigue https://hermes-agent.nousresearch.com/docs/installation/
Paso 2: Activar Holographic
hermes memory setup
# Menú interactivo, selecciona "holographic"
# (probablemente la opción 1)
Paso 3: Verificar que funciona
hermes memory status
# Debería mostrar:
# Memory provider: holographic
# Data storage: ~/.hermes/memory.db
# Cost: Free
# Status: ready
Paso 4: Reinicia Hermes (cierra y abre de nuevo)
# Cierra la sesión actual (Ctrl+C si estás en CLI)
# Abre una nueva
hermes
Paso 5: Crea tu .hermes.md en el directorio donde auditas
Copia el template que te mostré antes. Actualízalo con tu app, entorno, hallazgos.
Paso 6: A trabajar
hermes
# "Hola, vamos a auditar LoginApp. Aquí está el contexto…"
Y a partir de mañana:
hermes
# "Continúa donde lo dejamos ayer"
Hermes recordará todo.
Lo que cambia a partir de hoy
Una vez que Holographic está activado en tu Hermes, cada sesión que abras:
- Automáticamente carga tu
.hermes.md(si existe en ese directorio) - Automáticamente consulta su memoria (Holographic) sobre esa auditoría
- Automáticamente inyecta todo en el contexto antes de responder
No tienes que hacer nada especial. Solo usar Hermes como siempre. El agente simplemente… recuerda.
Es el cambio que faltaba en Hermes para auditorías serias.
Espero que lo pruebes en tu próxima auditoría. Es uno de esos cambios pequeños que, de repente, te ahorran horas de repetición y contexto.
Y recuerda, en SeguridadSi no sólo hacemos cursos, blogs, y auditorías, damos servicios de consultoría para la IA de tu empresa. Pregunta lo que sea !!!!
Un saludo y gracias por leerme !!!