⚡ Tecnología
Hanwha vendió cámaras con acceso total a GitHub — y el token apareció en 30 archivos del firmware
Imaginate comprar una cámara de seguridad para proteger tu negocio y descubrir que, en realidad, le está regalando las llaves del reino a cualquiera que sepa mirar. Eso es exactamente lo que pasó con Hanwha Vision, uno de los fabricantes de cámaras de vigilancia más grandes del mundo.
Un investigador de seguridad encontró un token de administrador de GitHub incrustado directamente en el firmware de las cámaras. No uno cualquiera: un token con acceso de admin a cientos de repositorios. Y no estaba escondido en un solo archivo — aparecía en 30 archivos distintos, como si la empresa lo hubiera querido asegurar.
El hallazgo: de un binario encriptado a las llaves del castillo
El investigador comenzó analizando el firmware de una cámara Hanwha. Lo que esperaba encontrar era el típico Linux embebido con algunas credenciales hardcodeadas genéricas. En su lugar, encontró algo mucho más jugoso.
La empresa había ofuscado el sistema de archivos con AES, pero la clave estaba hardcodeada en un binario. Usando Claude Code para descompilar (porque en 2026 ya nadie revierte binarios a mano), descubrió que la clave de desencriptación era la misma para toda la línea de productos:
KEY = dfa049bb922e63e2decc764af5628068e5b7a2662e479a615b14643e567579b0
Una vez dentro del rootfs, el investigador ejecutó TruffleHog para buscar secretos. Boom: un token de GitHub apareció en 30 archivos diferentes. ¿La causa? Hanwha usaba Vite para construir el frontend de las cámaras, y las variables de entorno del CI se incrustaban directamente en el build. El token de npm de GitHub, con permisos de administrador en cientos de repositorios, terminó en cada cámara que se vendió.
500 firmwares después: el mismo token en todas partes
El investigador no se conformó con una sola cámara. Descargó aproximadamente 500 firmwares del sitio web de Hanwha (de unas 600 cámaras listadas) y logró extraer el 62% de ellos con la misma técnica. ¿El resultado? Tres de ellos tenían tokens de GitHub, y era exactamente el mismo token.
Esto significa que cualquier persona con acceso a la interfaz de administración de estas cámaras — digamos, un empleado de seguridad, un visitante, o un atacante que haya explotado una vulnerabilidad en la red — podría haber usado ese token para acceder a los repositorios privados de Hanwha con permisos de administrador.
El detalle que pone los pelos de punta
Entre las variables de entorno filtradas, el investigador encontró direcciones IP asignadas al Departamento de Defensa de Estados Unidos (DoD). Hanwha Vision es una subsidiaria de Hanwha Group, un conglomerado surcoreano que también tiene divisiones de defensa (Hanwha Aerospace fabrica sistemas de artillería y misiles).
¿Casualidad? ¿El CI compartido de Hanwha Group filtró accidentalmente IPs del DoD? ¿O hay una relación más directa? El investigador lo dejó como pregunta abierta, pero el dato es inquietante.
La respuesta de Hanwha: impecable, pero no suficiente
Para crédito de Hanwha, el investigador reportó el problema a través de su canal de seguridad y recibió respuesta en menos de 12 horas. El token fue revocado inmediatamente. Pero la pregunta incómoda queda en el aire: ¿cuánto tiempo llevaba ese token en producción? ¿Cuántas cámaras con ese token se vendieron antes de que alguien lo notara?
Esto no es un caso aislado. Cada vez más fabricantes de hardware — routers, cámaras, IoT — están metiendo tokens de CI/CD en sus firmwares porque sus builds modernos (Vite, Webpack) incrustan variables de entorno sin pedir permiso. Es un problema sistémico que nadie está auditando.
La lección: si fabricas hardware, audita tu CI
Para los desarrolladores, la lección es clara: si tu build tool incrusta process.env en el frontend, estás a un error de configuración de exponer todas tus credenciales. Y si eres fabricante de hardware, el firmware de tu producto debería pasar por una auditoría de secretos antes de salir a producción.
Porque si una cámara de seguridad — un dispositivo diseñado específicamente para vigilar — no puede asegurar sus propias credenciales, ¿qué esperanza tenemos con el resto del IoT?
Comparte esto con alguien que todavía confía ciegamente en sus cámaras de seguridad.