- A 30 de abril de 2026 había 1.309 security advisories reportados desde enero 2026, de los cuales 535 fueron publicados y 109 marcados como críticos.
- Los CVEs reales incluyen inyección de comandos (CVE-2026-24763), SSRF, RCE y escalada de privilegios en el marketplace de skills.
- OpenClaw tiene tres modos de sandbox:
off,non-mainyall. El modoalles el recomendado para producción. - El modelo de amenaza oficial asume un operador único de confianza. Para múltiples usuarios hostiles se requiere separación por usuario de sistema operativo.
- Los secretos y tokens no están cifrados por defecto en
openclaw.json. Se recomienda usar variables de entorno y gestores de secretos.
Modelo de amenaza oficial de OpenClaw
La guía de seguridad de OpenClaw es inusualmente honesta sobre sus limitaciones. Entender el modelo de amenaza asumido evita usos inadecuados.
La documentación oficial de seguridad de OpenClaw establece sin rodeos que el sistema está diseñado para un modelo de asistente personal de un único operador de confianza. Esto significa que:
- El gateway confía en el operador que lo configura.
- Los agentes tienen acceso a las herramientas que el operador les habilita.
- Si el gateway atiende a múltiples usuarios humanos, se asume que todos son igualmente de confianza o que el operador los conoce.
La propia documentación reconoce que, si necesitas aislamiento frente a usuarios hostiles (por ejemplo, exponer el agente a usuarios desconocidos de internet), debes separar por usuario de sistema operativo o por host completo y ejecutar gateways distintos. El sandbox integrado de OpenClaw no es un sustituto de un contenedor Docker o una VM en este escenario.
Superficie de ataque principal
CVEs y advisories de OpenClaw (2026)
OpenClaw tiene el proceso de disclosure de vulnerabilidades más transparente de los frameworks de agentes. Esto no significa que sea el más inseguro, sino que es el más auditado públicamente.
Estadísticas de advisories (30 de abril de 2026)
El post oficial «How OpenClaw Got Safer in Public» publicado por Peter Steinberger ofrece la radiografía más completa del estado de seguridad del proyecto:
| Categoría | Total | Notas |
|---|---|---|
| Advisories totales reportados | 1.309 | Desde el 10 de enero de 2026 |
| Publicados (reales) | 535 | Confirmados como vulnerabilidades reales |
| Cerrados como inválidos | 746 | Comportamiento esperado o no reproducible |
| Marcados como críticos | 109 | De ellos, 95 cerrados como inválidos |
| CVE críticos confirmados reales | 14 | Estimación (109 - 95 inválidos) |
CVEs y vulnerabilidades concretas documentadas
Entre los advisories publicados y confirmados, los tipos de vulnerabilidad más relevantes documentados en OpenClaw incluyen:
screen_record
que permitía leer archivos fuera del workspace del agente usando secuencias
../ en el nombre de archivo. Corregida en versión 2026.3.x.
MEDIA: y por auto-discovery
de plugins de workspace. Afecta a configuraciones con claves en el entorno
del proceso.
Semana difícil: releases 2026.4.24 a 2026.4.29
Peter Steinberger publicó el post «OpenClaw Had a Rough Week» reconociendo degradaciones serias en los releases del 24 al 29 de abril de 2026 debidas al split confuso entre el núcleo (core) y los plugins. Las versiones afectadas introdujeron regresiones de seguridad temporales. Si tienes instalada una versión en este rango, actualiza inmediatamente a la versión más reciente.
ClawHavoc: el ataque al marketplace de skills (enero 2026)
ClawHavoc fue el incidente de seguridad más grave documentado en OpenClaw. Afectó al repositorio de skills ClawHub y demostró el riesgo de supply chain en ecosistemas de agentes de IA sin verificación de código.
En enero de 2026, coincidiendo con el pico de popularidad del rebrand a OpenClaw, atacantes inundaron el marketplace ClawHub con skills maliciosas. El vector de ataque fue el proceso de publicación sin restricciones: cualquier cuenta de GitHub con más de una semana de antigüedad podía publicar skills sin revisión manual ni firma criptográfica.
En pocas semanas se detectaron 824 skills maliciosas de un total de 10.700, principalmente de tipo stealer: al ser instaladas y ejecutadas por el agente, enviaban credenciales, API keys y contenido de memoria a servidores controlados por los atacantes. Los cuatro CVE asignados cubren las técnicas específicas empleadas:
- Inyección de comandos — Skills que inyectaban comandos de shell en los parámetros de herramientas legítimas.
- SSRF — Skills que hacían que el agente realizara peticiones HTTP a recursos internos.
- RCE (Remote Code Execution) — Skills con código que se ejecutaba fuera del sandbox previsto.
- Escalada de privilegios — Skills que elevaban sus propios permisos más allá de los asignados por el operador.
Medidas adoptadas por el proyecto tras ClawHavoc
- Revisión manual de todas las skills publicadas en ClawHub y eliminación de las maliciosas.
- Requisito mínimo de antigüedad de cuenta de GitHub aumentado (pero no publicado el valor exacto).
- Escáner automático de contenido malicioso en nuevas publicaciones de skills.
- Sistema de reportes de skills maliciosas por parte de la comunidad.
- Advertencia prominente en la documentación sobre instalar únicamente skills de fuentes verificadas.
La recomendación actual del proyecto es instalar skills solo desde el repositorio oficial del proyecto, desde forks verificados de desarrolladores conocidos, o escribirlas tú mismo. Evita instalar skills de autores desconocidos aunque tengan muchas descargas, ya que los contadores pueden manipularse.
Sandboxing de herramientas en OpenClaw
OpenClaw ofrece tres modos de sandbox que controlan el nivel de aislamiento al ejecutar herramientas. La elección correcta depende del caso de uso.
Los tres modos de sandbox
offnon-mainallConfigurar el modo de sandbox
# openclaw.json
{
"agents": {
"mi-agente": {
"sandbox": "all",
"sandboxConfig": {
"allowedPaths": ["~/workspace/mi-agente"],
"allowedDomains": ["api.ejemplo.com", "*.openai.com"],
"maxMemoryMb": 512,
"maxCpuPercent": 50
}
}
}
}
Modo elevated para herramientas privilegiadas
Algunas herramientas legítimas requieren permisos elevados (por ejemplo,
una herramienta de gestión de sistema). OpenClaw permite definir un modo
elevated por herramienta, que concede permisos adicionales
específicos solo a esa herramienta sin elevar el sandbox global:
{
"tools": {
"system-manager": {
"elevated": true,
"allowedCommands": ["systemctl status", "journalctl -n 50"],
"denyCommands": ["rm", "chmod", "chown", "sudo"]
}
}
}
El modo elevated debería usarse solo cuando es estrictamente necesario y con listas de comandos permitidos (allowlists) específicas, nunca con acceso sin restricciones.
Autenticación en OpenClaw
OpenClaw ofrece múltiples mecanismos para controlar quién puede interactuar con el agente y con qué nivel de privilegios.
Autenticación de la dashboard web
El gateway de OpenClaw expone una dashboard web en el puerto 18789 por defecto. Esta interfaz no tiene autenticación habilitada por defecto en versiones antiguas. Antes de exponer el gateway a cualquier red que no sea localhost, configura autenticación:
{
"gateway": {
"port": 18789,
"host": "127.0.0.1",
"auth": {
"enabled": true,
"type": "basic",
"username": "admin",
"passwordHash": "$2b$12$HASH_BCRYPT_DE_TU_PASSWORD"
}
}
}
Genera el hash de bcrypt con el comando openclaw auth hash-password.
Nunca escribas la contraseña en texto plano en la configuración. Para mayor
seguridad, usa autenticación de red (VPN, Cloudflare Access, SSH tunnel) en
lugar de o además de la autenticación básica HTTP.
Perfiles de autenticación de agente
Los perfiles de autenticación de agente se almacenan en
~/.openclaw/agents/<agentId>/agent/auth-profiles.json.
Contienen las credenciales que el agente usa para autenticarse en servicios
externos (proveedores LLM, APIs de terceros, herramientas). Estos archivos
no están cifrados por defecto. Medidas recomendadas:
- Usar variables de entorno en lugar de valores directos:
"apiKey": "${OPENAI_API_KEY}" - Permisos de archivo restrictivos:
chmod 600 auth-profiles.json - Si usas Docker, montar el archivo de autenticación como secreto de Docker en lugar de incluirlo en la imagen
- Rotar credenciales regularmente y usar scopes mínimos en cada clave de API
Allowlists de usuarios por canal
Para canales como Telegram, WhatsApp o Discord, puedes definir una allowlist de IDs de usuario autorizados a interactuar con el agente. Los mensajes de usuarios no listados son ignorados o reciben una respuesta de acceso denegado:
{
"channels": {
"telegram": {
"allowedUsers": ["123456789", "987654321"],
"denyResponse": "No tienes autorización para usar este agente."
}
}
}
Rate limiting en OpenClaw
El rate limiting protege el gateway contra abusos, costes de LLM disparados y ataques de denegación de servicio por saturación de mensajes.
{
"rateLimit": {
"global": {
"messagesPerMinute": 100,
"tokensPerHour": 500000
},
"perUser": {
"messagesPerMinute": 10,
"messagesPerDay": 500,
"tokensPerDay": 50000,
"response": "Has alcanzado el límite de mensajes. Inténtalo en {{reset_in}} minutos."
},
"perChannel": {
"whatsapp": {
"messagesPerMinute": 20
},
"telegram": {
"messagesPerMinute": 30
}
}
}
}
El campo tokensPerHour global actúa como presupuesto de gasto del
LLM. Si el proveedor cobra por token, este límite evita facturas inesperadas
por ataques de prompt injection que generen respuestas muy largas o bucles de
herramientas. Cuando se alcanza el límite, el gateway rechaza nuevas peticiones
hasta que se resetea el contador.
Blocklists y baneos automáticos
{
"blocklist": {
"users": ["spam_user_id_1", "spam_user_id_2"],
"phones": ["+34600000000"],
"autoBlock": {
"enabled": true,
"triggerAfterViolations": 3,
"blockDurationMinutes": 60
}
}
}
La función de auto-bloqueo detecta usuarios que superan el rate limit repetidamente y los bloquea temporalmente de forma automática. Útil para mitigar ataques de spam o intentos de prompt injection repetitivos.
Cifrado de datos en OpenClaw
OpenClaw no cifra datos en reposo por defecto. Esta sección explica qué datos son sensibles y cómo protegerlos adecuadamente.
Datos que OpenClaw almacena sin cifrar
| Dato | Ubicación | Cifrado por defecto |
|---|---|---|
| API keys y tokens | openclaw.json / variables de entorno |
No. Texto plano. |
| Historial de conversaciones | OPENCLAW_STATE_DIR/agents/<id>/sessions/ |
No. Archivos de texto. |
| Memoria del agente (MEMORY.md) | ~/.openclaw/agents/<id>/memory/ |
No. Markdown plano. |
| Auth profiles (claves de servicios) | ~/.openclaw/agents/<id>/agent/auth-profiles.json |
No. JSON plano. |
| Workspace del agente | ~/.openclaw/workspace/ |
No. Archivos del sistema. |
Opciones de cifrado en reposo
Para cifrar los datos almacenados por OpenClaw tienes varias opciones, de menor a mayor complejidad:
- Cifrado de disco completo — La opción más sencilla. BitLocker en Windows, LUKS en Linux, FileVault en macOS. Protege todos los datos del sistema si el servidor está apagado o el disco es robado. No protege contra acceso mientras el sistema está en marcha.
-
Cifrado del directorio de estado — Usa
encfsogocryptfsen Linux para montar el directorioOPENCLAW_STATE_DIRcifrado. El directorio se descifra solo mientras el gateway está en ejecución. - Gestor de secretos para credenciales — Usa HashiCorp Vault, AWS Secrets Manager o el gestor de secretos de tu proveedor cloud para almacenar API keys y tokens. OpenClaw puede leerlos en tiempo de ejecución desde variables de entorno inyectadas por el gestor.
Hardening de OpenClaw para producción
Checklist completa de medidas de seguridad antes de desplegar OpenClaw en un entorno de producción con usuarios reales.
Usuario de sistema sin privilegios
Crea un usuario de sistema específico para OpenClaw (useradd -r -s /bin/false openclaw). Nunca ejecutes el gateway como root. Asigna permisos de lectura solo a los directorios que el gateway necesita.
No exponer el puerto a internet directamente
Configura "host": "127.0.0.1" en la sección gateway. Usa un proxy inverso (nginx, Caddy) con autenticación en frente. Nunca abras el puerto 18789 directamente al exterior sin TLS y autenticación.
Actualización continua
OpenClaw publica releases prácticamente a diario en periodos de actividad intensa. Configura un proceso de actualización automática o un recordatorio semanal. Muchos CVEs se corrigen en días.
Auditoría de skills instaladas
Revisa manualmente el contenido de cada skill antes de instalarla. Evita skills de autores desconocidos aunque sean populares en ClawHub. Mantén un registro de las skills instaladas y sus versiones.
Contenedor Docker o VM para aislamiento adicional
Si el agente procesa contenido de usuarios desconocidos, ejecuta el gateway dentro de un contenedor Docker con capabilidades limitadas (--cap-drop=ALL, --read-only) o una VM ligera para aislamiento completo del sistema host.
Logging y monitorización
Habilita logging detallado de todas las acciones del agente. Envía logs a un sistema centralizado (ELK, Loki, Datadog). Configura alertas para actividad anómala: picos de uso, comandos inusuales o errores de autenticación repetidos.
Preguntas frecuentes sobre seguridad en OpenClaw
A 30 de abril de 2026, GitHub mostraba 1.309 security advisories desde el 10 de enero de 2026. De ellos, 535 fueron publicados como vulnerabilidades reales y 746 cerrados como inválidos. De los 109 marcados como críticos, 95 se cerraron como inválidos. Los CVEs confirmados más relevantes incluyen CVE-2026-24763 (inyección de comandos), SSRF en el navegador y escalada de privilegios en el marketplace de skills durante el incidente ClawHavoc.
Con las precauciones adecuadas, sí. Ejecuta el gateway con un usuario sin
privilegios, activa el sandbox en modo all, no expongas el puerto
directamente a internet, usa un proxy inverso con autenticación TLS, mantén
el software actualizado y audita las skills instaladas. No se recomienda para
entornos con datos altamente sensibles sin aislamiento adicional por contenedor
o VM, especialmente si los usuarios son desconocidos.
El sandbox de OpenClaw tiene tres modos: off (sin aislamiento),
non-main (solo aísla herramientas fuera del flujo principal)
y all (aísla todas las llamadas a herramientas con permisos
reducidos y acceso limitado al sistema de archivos). El modo all
es el recomendado para producción. No equivale a un contenedor Docker completo,
pero reduce significativamente la superficie de ataque.
ClawHavoc fue un ataque de supply chain en enero de 2026 al marketplace de skills ClawHub. Atacantes publicaron 824 skills maliciosas (de 10.700 totales) que propagaban malware tipo stealer. El vector fue el proceso de publicación sin revisión: cualquier cuenta de GitHub con más de una semana podía publicar skills sin firma criptográfica. Meta asignó 4 CVE críticos. Desde entonces ClawHub ha reforzado su proceso de revisión.
En openclaw.json, la clave rateLimit permite
definir límites globales, por usuario y por canal. Puedes establecer
mensajes por minuto, mensajes por día y tokens por hora. También puedes
configurar blocklists de usuarios y auto-bloqueo temporal para usuarios
que superen los límites repetidamente. El gateway devuelve un mensaje
configurable cuando se alcanza el límite.
No por defecto. El historial de conversaciones, la memoria del agente,
los perfiles de autenticación y los archivos de workspace se almacenan
en texto plano. Para cifrado en reposo usa cifrado de disco completo a
nivel del sistema operativo, gocryptfs para el directorio
de estado, o un gestor de secretos (Vault, AWS Secrets Manager) para
las credenciales. Los tokens y API keys en openclaw.json
deben inyectarse desde variables de entorno, nunca en texto plano.
Guía completa de OpenClaw
Arquitectura, instalación, modelos soportados, más de 20 canales de mensajería, sistema de skills, memoria y comparativa con Hermes Agent y OpenSwarm. Todo lo que necesitas para empezar con el framework de agentes más popular de 2026.
Ver guía completa de OpenClaw