Tecnología

DeepSeek Harness escapaba de su sandbox: comprueba qué versión instalaste

|Autor: Equipo editorial de QUASA|5 lectura mínima| 1
DeepSeek Harness escapaba de su sandbox: comprueba qué versión instalaste

DeepSeek Harness ya corrigió CVE-2026-82533, una vulnerabilidad divulgada el 8 de septiembre de 2026 que permitía a un agente confinado desactivar su propio aislamiento desde la API HTTP local del programa. El análisis técnico de OX Research sitúa el límite afectado en 0.1.1-rc.2 y versiones anteriores, y documenta la corrección incorporada al código de 0.1.2-alpha.1.

Para una instalación procedente de npm, la respuesta es distinta: debe usarse 0.1.2-alpha.2 o una versión posterior. La verificación publicada por The Hacker News el 9 de septiembre comprobó que 0.1.2-alpha.1 solo se publicó en GitHub; alpha.2 llegó a npm el 30 de agosto y fue el primer paquete del registro que incluía la corrección.

Cómo podía el agente desactivar su aislamiento

Una sesión de DeepSeek Harness alcanza la API local y pasa de una escritura bloqueada a ejecución sin aislamiento.

El fallo no rompía directamente el sandbox del sistema operativo. DeepSeek Harness exponía una API de control en la máquina local sin exigir autenticación y decidía si una solicitud era de confianza a partir del encabezado Host enviado por el cliente, sin comprobar el origen real de la conexión.

El aislamiento restringía las escrituras en el sistema de archivos, pero dejaba disponible la red de bucle local. Por eso, un proceso ejecutado por el agente podía alcanzar la API del propio Harness y cambiar su sesión a danger-full-access, con las aprobaciones desactivadas. Las órdenes posteriores pasaban a ejecutarse fuera del confinamiento y sin solicitar autorización.

La demostración requería que el agente ejecutara una orden inducida por contenido controlado por un atacante, como instrucciones insertadas en material no confiable procesado durante una tarea. No era necesario exponer el puerto a Internet: el agente y la interfaz de control ya compartían la misma máquina.

Existía además una ruta remota cuando esa interfaz quedaba accesible mediante un túnel, un proxy inverso, un reenvío SSH o una función equivalente del editor. En esas condiciones, la falta de autenticación permitía controlar sesiones y descargar conversaciones almacenadas sin una clave.

GitHub y npm no ofrecen el mismo punto de corte

Comparación de entregas de DeepSeek Harness: la corrección aparece en GitHub antes que en npm.

La aparente discrepancia entre versiones procede de dos canales de distribución distintos. El registro público de CVE incorporado por OSV define como vulnerable el código anterior a 0.1.2-alpha.1, identifica como afectadas las versiones hasta 0.1.1-rc.2 y enlaza tanto la entrega corregida como el cambio de código. Ese umbral describe el repositorio, pero no implica que alpha.1 estuviera disponible en npm.

  • 0.1.1-rc.2 o anterior: está dentro del intervalo vulnerable, con independencia de que proceda de npm o de una referencia antigua del repositorio.
  • 0.1.2-alpha.1 desde GitHub: contiene la corrección, pero esa versión no se publicó como paquete en npm.
  • 0.1.2-alpha.2 o posterior desde npm: incorpora la corrección; alpha.2 fue la primera entrega corregida disponible en ese registro.
  • Aplicación o envoltorio de terceros: su número de versión no determina por sí solo el estado del componente. Hay que averiguar qué copia de DeepSeek Harness incluye realmente.

La versión declarada en un manifiesto tampoco basta si el entorno se construyó con un archivo de bloqueo antiguo, una caché o una imagen de contenedor sin regenerar. La comprobación relevante es la del artefacto que inicia el servicio, no solo la especificación del repositorio.

Árbol de comprobación según la instalación

Comprobación de la versión efectiva de DeepSeek Harness en dependencias, contenedor y envoltorio de terceros.
  1. Identifica si DeepSeek Harness se instaló desde npm, desde una etiqueta o un commit de GitHub, o como componente integrado en otra aplicación.
  2. Si procede de npm, consulta la versión resuelta por el gestor de paquetes y el archivo de bloqueo. Una copia 0.1.1-rc.2 o anterior debe sustituirse por 0.1.2-alpha.2 o una entrega posterior.
  3. Si procede de GitHub, comprueba la etiqueta o el commit exactos. 0.1.2-alpha.1 ya contiene la corrección; cualquier referencia anterior al cambio permanece expuesta.
  4. Si forma parte de un envoltorio, una extensión o una aplicación de escritorio, revisa su manifiesto, inventario de componentes o árbol de dependencias. Una fecha reciente o una versión nueva del envoltorio no demuestra que el Harness integrado también se haya actualizado.
  5. Tras cambiar la dependencia, regenera el archivo de bloqueo, reconstruye contenedores o paquetes y vuelve a comprobar la versión dentro del artefacto desplegado.

En monorepositorios, instalaciones globales o entornos con varias cachés puede haber más de una copia. La que decide la exposición es la utilizada por el proceso que inicia la API local. Si una aplicación empaquetada no permite identificarla, su estado debe considerarse desconocido hasta que el mantenedor documente la dependencia incluida.

Qué reduce el riesgo mientras llega la actualización

Si no es posible actualizar de inmediato, conviene detener la interfaz de DeepSeek Harness cuando no se utilice y retirar túneles, proxies y reenvíos de puertos que permitan alcanzarla desde fuera. Mantenerla vinculada al bucle local reduce la superficie remota, pero no impide el escape local, porque el agente confinado conserva acceso a esa red mientras el servicio está activo.

Evitar que una versión afectada procese repositorios, documentos o instrucciones no confiables reduce la probabilidad de que reciba la orden desencadenante. Es una contención temporal: no corrige la ausencia de autenticación ni sustituye la actualización.

El arreglo añadió una comprobación de identidad mediante un token de un solo uso que el navegador intercambia por una cookie firmada, requerida después por la interfaz. La modificación protege el plano de control que antes aceptaba solicitudes sin credenciales; no convierte el sandbox en una defensa absoluta frente a vulnerabilidades diferentes.

El estado comprobable queda así: 0.1.1-rc.2 y versiones anteriores son vulnerables; 0.1.2-alpha.1 es la primera corrección en GitHub, y 0.1.2-alpha.2 es la primera entrega corregida publicada en npm. En productos de terceros, la conclusión depende de la versión incorporada al paquete instalado, no de la numeración externa de la aplicación.

Lee también:

Compartir:

Suscríbete a nuestro boletín

Reciba las últimas noticias sobre Web3, IA y criptomonedas directamente en su bandeja de entrada.

0