Bitdoze Logo

Guía de Seguridad de OpenClaw: CVE-2026-25253, Skills Maliciosos y Más de 40 Correcciones

Una guía práctica de hardening de seguridad para OpenClaw que cubre CVE-2026-25253 (el ataque a la cadena de suministro de ClawHub), las más de 40 correcciones de vulnerabilidades incluidas en versiones recientes, los fundamentos del modelo de confianza y los procedimientos de bloqueo paso a paso.

DragosDragos17 min de lectura
Guía de Seguridad de OpenClaw: CVE-2026-25253, Skills Maliciosos y Más de 40 Correcciones

OpenClaw funciona 24/7 en tu servidor con acceso completo al shell, claves API en su configuración y la capacidad de instalar y ejecutar skills desde un marketplace comunitario. La seguridad no es algo que puedas dejar para después. En febrero de 2026, investigadores descubrieron que el 12% de los skills en ClawHub estaban infectados con malware. El CHANGELOG del proyecto lista más de 40 correcciones de seguridad en las versiones recientes. Si estás usando OpenClaw, deberías conocer ambos problemas.

He revisado el CVE, las vulnerabilidades parcheadas, el modelo de confianza y las opciones de hardening. Esto es lo que realmente importa.

Acción Requerida Si Instalaste Skills de ClawHub

Si instalaste algún skill de ClawHub (openclawdir.com) antes de mediados de febrero de 2026, ejecuta openclaw security audit --deep inmediatamente y revisa los indicadores de skills maliciosos que se listan a continuación. El ataque a la cadena de suministro afectó a 341 de los 2,857 skills auditados (tasa de infección del 12%).

CVE-2026-25253: El Ataque a la Cadena de Suministro de ClawHub

El 13 de febrero de 2026, investigadores de seguridad reportaron (GitHub issue #16052) que 341 skills en ClawHub, el marketplace comunitario de skills, fueron comprometidos en un ataque coordinado a la cadena de suministro. El CVE recibió una puntuación CVSS de 8.8 (ALTO).

Cómo Funcionó el Ataque

Los skills maliciosos parecían herramientas normales. El ejemplo más documentado, deeps-agnw6h, se hacía pasar por una herramienta de investigación “Deep-Agent/Deep-Search”. Los skills infectados contenían hasta tres vectores de ataque:

1. Dropper para macOS (Shell Codificado en Base64)

Un payload en base64 se decodificaba en un comando curl que descargaba y ejecutaba código arbitrario desde un servidor controlado por el atacante en 91.92.242.30 (rango de hosting búlgaro, vinculado a infraestructura de robo de información).

2. Instalador Falso para Windows

Un repositorio de GitHub (toolitletolate/openclaw_windriver) alojaba un instalador MSI malicioso disfrazado de paquete de drivers.

3. Backdoor MCP

Un endpoint oculto de servidor MCP enrutado a través de tunneling bore.pub hacia la infraestructura del atacante, dando acceso remoto a cualquier máquina que ejecutara el skill infectado.

Indicadores de Compromiso

Si sospechas que tu instancia pudo verse afectada, busca lo siguiente:

Tipo Valor Notas
Dirección IP 91.92.242.30 Servidor de entrega del payload para macOS
Ruta URL http://91.92.242.30/6wioz8285kcbax6v Payload del dropper
Dominio de túnel bore.pub Tunneling reverso para backdoor MCP
Puerto de túnel 44876 Endpoint del backdoor MCP
Repositorio GitHub toolitletolate/openclaw_windriver Instalador falso para Windows

Revisa tus logs de red en busca de conexiones a estas direcciones. Si encuentras coincidencias, asume que hubo compromiso y rota todas las claves API y credenciales almacenadas en tu configuración de OpenClaw.

Qué Hacer Ahora Mismo

  • Actualiza OpenClaw a la última versión (npm update -g openclaw)
  • Ejecuta openclaw security audit --deep y revisa cada hallazgo
  • Verifica los skills instalados: openclaw skills list — elimina cualquier cosa que no reconozcas
  • Busca en tus logs de red 91.92.242.30 y bore.pub
  • Si hubo compromiso: rota todas las claves API, tokens de gateway y credenciales de canales
  • Revisa las conexiones abiertas: ss -tlnp | grep openclaw en Linux para verificar listeners inesperados

El Hook soul-evil: Un Riesgo Incorporado

Independientemente del ataque a ClawHub, investigadores señalaron otro problema en el issue #8776: OpenClaw venía con un hook incluido llamado soul-evil que podía intercambiar silenciosamente el prompt de sistema principal del agente (SOUL.md) por un archivo alternativo (SOUL_EVIL.md). Deshabilitado por defecto, pero el código estaba ahí en cada instalación.

Lo que lo hacía peligroso: un atacante con acceso a inyección de prompts podía encadenar la herramienta write para crear SOUL_EVIL.md y luego usar config.patch para habilitar el hook. El agente entonces funcionaría bajo instrucciones controladas por el atacante sin ninguna notificación. Peor aún cuando se combinaba con CVE-2026-25253, ya que un token de gateway exfiltrado podía habilitar este hook de forma remota.

El problema se cerró en la versión 2026.2.1. Verifica que estás ejecutando al menos esa versión:

openclaw --version

Más de 40 Correcciones de Seguridad en Versiones Recientes

Conté más de 40 correcciones de seguridad en el CHANGELOG de OpenClaw a lo largo de las versiones 2026.2.x. Esto es lo que se parcheó, agrupado por categoría.

Bypasses de Aprobación de Ejecución (7 Correcciones)

El sistema de aprobación de ejecución, la capa que pregunta “¿debería OpenClaw ejecutar este comando?”, tenía múltiples rutas de bypass:

Corrección Qué Estaba Mal
Replay entre nodos Las solicitudes system.run aprobadas podían replicarse entre diferentes nodos
Aprobaciones huérfanas El registro de aprobación en dos fases tenía una condición de carrera que permitía a las aprobaciones saltarse el paso de espera
Bypass env -S La interpretación incorrecta del wrapper env --split-string permitía a los comandos evadir las verificaciones de la allowlist
Applets busybox/toybox Los binarios multiplexores no eran reconocidos en el análisis de wrappers, permitiendo bypasses de allow-always
Colisión de rutas en autoAllowSkills Las colisiones de basename en rutas absolutas podían satisfacer las verificaciones de auto-allow de skills
Brechas en la denylist de flags safe-bin Las abreviaciones desconocidas de opciones largas GNU y los flags de sort dependientes del sistema de archivos no estaban bloqueados
Detección de comandos ofuscados Los comandos ofuscados no se verificaban antes de las decisiones de la exec allowlist

Escapes de Sandbox y Path Traversal (4 Correcciones)

Corrección Qué Estaba Mal
Escape de workspace en apply_patch Las rutas montadas en sandbox como /agent permitían escrituras/eliminaciones fuera del límite del workspace
Path traversal en herramienta de imagen tools.fs.workspaceOnly no se aplicaba para la resolución de rutas de image en sandbox
Fallback de shell en env El fallback de ruta de shell con prefijo de confianza permitía shells no confiables; ahora solo se confía en las entradas de /etc/shells
Path traversal en config Los segmentos de claves prototype y el traversal de propiedades heredadas no se rechazaban en las rutas de config get/set/unset

XSS e Inyección (5 Correcciones)

Corrección Qué Estaba Mal
Inyección HTML en exportación de sesión Los tokens de markdown HTML sin procesar en el visor de sesión exportado no estaban escapados
Inyección de data-URL en imágenes exportadas Los campos MIME/base64 de imágenes en el HTML exportado no estaban validados
XSS en galería HTML de skills El skill openai-image-gen no escapaba los valores controlados por el usuario en el HTML generado
Escape de symlinks en empaquetado de skills skill-creator no omitía los symlinks ni rechazaba las rutas que escapaban de la raíz del skill
Exfiltración por deep link en iOS Las solicitudes openclaw://agent se reenviaban al gateway sin confirmación local

Prototype Pollution y Seguridad de Configuración (3 Correcciones)

Corrección Qué Estaba Mal
Normalización de Account-ID Las claves prototype reservadas no estaban bloqueadas en la normalización de account-id
Mutaciones en escritura de config unsetPaths podía mutar los objetos proporcionados por el llamador
Filtración de credenciales en CLI config La salida de openclaw config get no estaba redactada antes de imprimirse

Control de Canales y Acceso (5 Correcciones)

Corrección Qué Estaba Mal
Suplantación de remitente de comandos commands.allowFrom coincidía con identidades From con forma de conversación (canales, grupos, hilos)
Coincidencia de nombres mutables allowFrom coincidía con nombres/tags/emails mutables en lugar de IDs estables
Inconsistencia en política de coincidencia de nombres Las verificaciones de dangerouslyAllowNameMatching variaban entre el core y los canales de extensión
Alcance de auto-aprobación ACP Los nombres de herramientas desconocidos y las lecturas de archivos fuera de alcance se auto-aprobaban
Bypass de selfChatMode El control de acceso de entrada de WhatsApp no respetaba la configuración de selfChatMode

SSRF y Red (2 Correcciones)

Corrección Qué Estaba Mal
SSRF en media de Telegram El rango de benchmark RFC2544 (198.18.0.0/15) no estaba bloqueado por defecto para descargas de media
Política SSRF del navegador El acceso a red privada estaba permitido por defecto sin configuración explícita

Voz, Webhooks y Otros (4+ Correcciones)

Corrección Qué Estaba Mal
Replay de webhook de Twilio Los IDs de eventos del proveedor no se preservaban a través de la normalización, permitiendo ataques de replay
Filtración de credenciales OTEL Las claves API y tokens se incluían en los diagnósticos de exportación OTLP
Filtración de razonamiento/thinking Los bloques internos de razonamiento se filtraban como respuestas visibles para el usuario en WhatsApp, Discord, Web
Filtración de credenciales en reset de sesión Los mensajes de confirmación de /new y /reset exponían prefijos de claves API

Esta Lista No Está Completa

Estas son las correcciones de seguridad documentadas en el CHANGELOG para las versiones 2026.2.22 y 2026.2.23 más parches no publicados. Las versiones anteriores contienen correcciones adicionales. Siempre ejecuta la última versión.


Entendiendo el Modelo de Confianza de OpenClaw

Antes de cambiar cualquier configuración, conoce lo que OpenClaw considera dentro y fuera del alcance de seguridad. Malinterpretar esto lleva a falsa confianza o esfuerzo desperdiciado.

Principios fundamentales

Qué significa esto en la práctica

Si alguien comparte un gateway contigo, puede ver tus conversaciones, tus claves API y tus archivos de memoria. Eso es por diseño. El límite de seguridad de OpenClaw está a nivel de máquina/usuario del SO, no a nivel de gateway. Los dominios de confianza separados necesitan instancias separadas.


Guía de hardening

En orden de importancia, esto es lo que debes configurar.

1. Mantén OpenClaw Actualizado

La mayoría de las más de 40 correcciones mencionadas se incluyen en la versión de npm. Verifica tu versión y actualiza:

openclaw --version
npm update -g openclaw

2. Ejecuta la Auditoría de Seguridad Integrada

OpenClaw tiene un escáner de seguridad integrado:

openclaw security audit --deep

Verifica patrones de configuración riesgosos, allowlists mutables, credenciales expuestas y problemas conocidos. Agrega --fix para auto-remediar lo que pueda:

openclaw security audit --deep --fix

3. Vincula el Gateway a Loopback

La superficie HTTP del gateway (Control UI, canvas, endpoints de API) no está endurecida para internet público. Mantenla en localhost:

{
  "gateway": {
    "bind": "loopback"
  }
}

Para acceso remoto, usa túnel SSH o Tailscale:

# SSH tunnel
ssh -L 3000:localhost:3000 root@your-server

# Or Tailscale serve
tailscale serve --https=443 http://localhost:3000

4. Habilita el Modo Sandbox

Por defecto, agents.defaults.sandbox.mode está en off. Actívalo:

{
  "agents": {
    "defaults": {
      "sandbox": {
        "mode": "on"
      }
    }
  }
}

5. Restringe el Acceso al Sistema de Archivos

Mantén las herramientas dentro del directorio del workspace:

{
  "tools": {
    "fs": {
      "workspaceOnly": true
    },
    "exec": {
      "applyPatch": {
        "workspaceOnly": true
      }
    }
  }
}

6. Cambia las Allowlists de Canales a IDs Estables

Después del cambio importante en la versión no publicada, la coincidencia de allowFrom es solo por ID por defecto. Si estás en una versión anterior, migra tus allowlists de nombres a IDs:

{
  "channels": {
    "telegram": {
      "allowFrom": ["123456789"]
    }
  }
}

Los nombres mutables (nombres de usuario, nombres para mostrar, direcciones de email) en las allowlists son peligrosos. Cualquiera puede cambiar su nombre para mostrar en cualquier momento. Usa IDs numéricos estables.

7. Establece Orígenes Explícitos para la Control UI

Para despliegues fuera de loopback, especifica los orígenes permitidos:

{
  "gateway": {
    "controlUi": {
      "allowedOrigins": ["https://your-tailscale-domain.ts.net"]
    }
  }
}

Sin esto, el gateway se negará a iniciar (comportamiento fail-closed).

8. Revisa los Skills Antes de Instalarlos

Después de CVE-2026-25253, trata cada skill de ClawHub como potencialmente hostil hasta verificarlo:

  • Lee el código fuente del skill antes de instalarlo
  • Busca payloads codificados en base64 o comandos ofuscados
  • Busca conexiones de red salientes a hosts desconocidos
  • Verifica la identidad e historial del autor del skill
  • Prefiere skills con uso significativo de la comunidad y reseñas
  • Considera ejecutar los skills en un entorno sandboxed primero

9. Hardening con Docker

Si ejecutas OpenClaw en Docker, usa configuraciones restrictivas:

docker run --read-only --cap-drop=ALL \
  -v openclaw-data:/app/data \
  openclaw/openclaw:latest

La imagen oficial se ejecuta como un usuario node sin privilegios de root. --read-only previene escrituras en el sistema de archivos fuera de los volúmenes montados, y --cap-drop=ALL elimina las capabilities de Linux.

10. Versión de Node.js

OpenClaw requiere Node.js 22.12.0 o posterior. Las versiones anteriores tienen vulnerabilidades conocidas:

node --version  # Should be v22.12.0 or later

Lista de Verificación de Auditoría de Seguridad

Usa esto como una lista de verificación periódica:

Verificación Comando / Acción Esperado
Versión de OpenClaw openclaw --version Última versión
Versión de Node.js node --version v22.12.0+
Auditoría de seguridad openclaw security audit --deep Sin hallazgos críticos
Vinculación del gateway Verificar config gateway.bind loopback
Modo sandbox Verificar config agents.defaults.sandbox.mode on
FS solo workspace Verificar config tools.fs.workspaceOnly true
Allowlists de canales Verificar entradas basadas en nombres Solo IDs
Skills instalados openclaw skills list Solo skills reconocidos
Conexiones de red ss -tlnp | grep openclaw Solo listeners esperados
Rotación de claves API Revisar antigüedad de las claves Rotadas en los últimos 90 días

Guías relacionadas

El resto del stack de OpenClaw:


Preguntas Frecuentes

¿Fueron robados mis datos en el ataque CVE-2026-25253?

Si instalaste uno de los 341 skills infectados, el malware tuvo acceso a todo lo que OpenClaw podía acceder — tus claves API, historial de conversaciones, archivos en el workspace y potencialmente toda la máquina si el modo sandbox estaba desactivado. Asume compromiso total y rota todas las credenciales.

¿Cómo sé si instalé un skill malicioso?

Ejecuta openclaw skills list y verifica cada skill contra los resultados de la auditoría de ClawHub. Busca en tus logs del sistema y tráfico de red las direcciones IoC listadas arriba (91.92.242.30, bore.pub:44876). El comando openclaw security audit --deep también verifica patrones maliciosos conocidos.

¿Es seguro ejecutar OpenClaw en internet público?

No. La superficie HTTP del gateway no está endurecida para exposición pública. Vincúlalo a loopback y usa túnel SSH o Tailscale para acceso remoto. Múltiples entradas del CHANGELOG señalan correcciones de problemas que solo importan con exposición de red.

¿Debería habilitar dangerouslyAllowNameMatching?

No, a menos que no tengas otra opción. Las allowlists basadas en nombres son vulnerables porque los usuarios pueden cambiar sus nombres para mostrar, nombres de usuario o direcciones de email en cualquier momento. Migra a IDs estables.

¿Cuál es la diferencia entre sandbox.mode y workspaceOnly?

sandbox.mode controla si el agente se ejecuta en un contenedor aislado (Docker/Apple Container). workspaceOnly restringe las operaciones de archivos al directorio del workspace incluso sin un runtime de sandbox. Ambos deberían estar habilitados para máxima protección. Se complementan mutuamente.

¿Con qué frecuencia debería ejecutar openclaw security audit?

Después de cada actualización de OpenClaw, después de instalar cualquier skill nuevo, y al menos semanalmente para instancias en uso activo. Agrega --deep para el escaneo exhaustivo que verifica exposición de red y patrones de credenciales.

¿El modelo de confianza significa que OpenClaw es inseguro?

No, significa que el límite de seguridad está a nivel de máquina/usuario del SO en lugar del nivel de gateway. Esto es común para herramientas auto-alojadas. La clave es entender que todos los que tienen acceso al gateway tienen privilegios completos de operador — planifica tu despliegue en consecuencia.

¿Puede la inyección de prompts comprometer mi instancia de OpenClaw?

La inyección de prompts está listada como fuera del alcance en el modelo de seguridad de OpenClaw cuando no viola un límite. Pero el hook soul-evil demostró cómo la inyección de prompts puede encadenarse con otras funcionalidades para lograr un compromiso persistente. Mantén la superficie de ataque pequeña: sandbox activado, sistema de archivos solo workspace, skills auditados.

Las versiones 2026.2.x corrigieron mucho. Pero el ataque a ClawHub demostró que el ecosistema de skills es una amenaza real, y muchas de las vulnerabilidades parcheadas habían estado ahí desde las primeras versiones. Espero que lleguen más correcciones de seguridad a lo largo de 2026.

Mantén OpenClaw actualizado y ejecuta openclaw security audit --deep regularmente. Esa es la acción de mayor valor que puedes hacer. El resto de esta guía es defensa en profundidad sobre esa base.

Para todo lo demás: guía de configuración, recomendaciones de modelos, búsqueda web gratuita, dashboards, modelos locales con Ollama y plataformas alternativas.