El atraco de Bybit: Cómo Corea del Norte robó 1.5 mil millones en 47 minutos
21 de febrero de 2025. 12:30 PM Tiempo Universal Coordinado.
Dentro del centro de operaciones de Bybit —un exchange de criptomonedas con sede en Dubai, que maneja decenas de miles de millones de dólares en volumen de operaciones diario— comienza una transferencia programada.
Cuatrocientos un mil trescientos cuarenta y siete tokens Ethereum. Aproximadamente mil quinientos millones de dólares en ese momento. La transferencia es rutinaria: desde la cold wallet multifirma de Bybit, mantenida offline por seguridad, a una warm wallet utilizada para liquidez operativa.
Se requiere que tres empleados sénior de Bybit autoricen la transacción. Abren la interfaz Safe{Wallet} en sus estaciones de trabajo. Revisan la dirección de destino. Revisan los detalles de la transacción. Todo coincide con la operación esperada.
Firman.
Un minuto después, cuatrocientos un mil tokens Ethereum desaparecen.
No transferidos a la warm wallet. Transferidos a una dirección controlada por North Korea.
No se robaron contraseñas. No se extrajeron claves privadas. No se obtuvieron credenciales mediante phishing. La propia infraestructura de Bybit no fue comprometida. Los tres firmantes hicieron exactamente lo que sus procedimientos les indicaban. Lo que vieron en sus pantallas, lo aprobaron.
Lo que vieron en sus pantallas era una mentira.
Este es el mayor robo individual de criptomonedas jamás registrado. Es, según la clasificación de Guinness World Records, el mayor atraco bancario de la historia, superando incluso los mil millones de dólares que Saddam Hussein extrajo del banco central de Iraq en 2003.
Fue ejecutado cambiando un solo archivo en un sitio web.
El ataque no se dirigió directamente a Bybit.
La infraestructura de Bybit —servidores, estaciones de trabajo de empleados, hardware de firma, redes internas— nunca fue penetrada. Cada investigación forense posterior, realizada por las firmas independientes Sygnia y Verichains, confirmó el mismo hallazgo. Bybit no fue hackeado.
La empresa que fue hackeada fue Safe —anteriormente Gnosis Safe—, la plataforma de wallet multifirma más utilizada en el ecosistema Ethereum. Safe mantiene la interfaz web en app.safe.global a través de la cual la mayoría de los poseedores institucionales de Ethereum gestionan la autorización multipartita de grandes transacciones.
El equipo de ingeniería de Safe está compuesto por aproximadamente treinta personas. Entre ellos, un pequeño grupo de administradores de sistemas tiene permisos para modificar el código base de producción en vivo y la interfaz web desplegada.
Aproximadamente treinta días antes del 21 de febrero, uno de esos administradores de sistemas es objetivo.
El vector es consistente con el modus operandi de la unidad norcoreana rastreada internamente por el Federal Bureau of Investigation como TraderTraitor. La unidad es un subcomponente del más amplio Lazarus Group, operando desde el Third Bureau of North Korea's Reconnaissance General Bureau.
La técnica específica no es divulgada públicamente por Safe ni por los investigadores. Lo más probable: un enfoque de ingeniería social altamente dirigido, que se canaliza a través de un contacto de LinkedIn, un foro de desarrolladores o un pretexto de colaboración técnica. El administrador descarga lo que parece ser un artefacto técnico legítimo. El artefacto contiene malware.
El malware roba tokens de sesión de AWS. No credenciales de larga duración, sino los tokens de autenticación temporales que los desarrolladores de Safe utilizan durante su jornada laboral normal para acceder a Amazon Web Services, donde se aloja la interfaz web de Safe.
Con esos tokens, los atacantes obtienen acceso a la cuenta de AWS de Safe.
No extraen datos. No despliegan ransomware. No intentan movimientos laterales a través de la infraestructura.
Modifican un archivo JavaScript.
El archivo servido desde el bucket de almacenamiento Amazon S3 de Safe es el JavaScript de frontend que renderiza la interfaz de aprobación de transacciones en los navegadores de los firmantes de Bybit.
La versión modificada contiene lo que los investigadores forenses describen más tarde como lógica maliciosa condicional.
Para la gran mayoría de los usuarios de Safe —titulares ordinarios, otros exchanges, proyectos de finanzas descentralizadas— el JavaScript modificado se comporta de forma idéntica a la versión legítima. La interfaz se renderiza normalmente. Las transacciones se procesan como se espera. Nada parece incorrecto.
El código malicioso se ejecuta solo cuando se cumplen condiciones específicas.
Esas condiciones están diseñadas precisamente para Bybit.
El código verifica: ¿esta sesión está autenticada contra una de tres direcciones de wallet específicas? ¿La transacción propuesta es una transferencia desde la cold wallet Ethereum de Bybit? Si ambas condiciones son verdaderas, procede.
Si ambas condiciones son verdaderas, el JavaScript malicioso intercepta los datos de la transacción justo antes de que se muestren a los firmantes. Sustituye la lógica de la transacción. Lo que los firmantes ven en su pantalla —dirección de destino, cantidad, tipo de operación— permanece visualmente idéntico a la transferencia legítima prevista.
Lo que en realidad están firmando es un `delegatecall` a un contrato controlado por North Korea.
En Ethereum, `delegatecall` es una primitiva que permite a un contrato inteligente ejecutar código en el contexto de otro, con acceso completo al almacenamiento y los fondos del llamador. Cuando un firmante aprueba una transacción que incluye un `delegatecall`, no solo está transfiriendo fondos. Está otorgando al contrato llamado control total sobre la wallet que llama.
Al aprobar lo que creen que es una transferencia rutinaria, los tres firmantes de Bybit otorgan a un contrato controlado por North Korea la propiedad total de su cold wallet.
El atacante entonces la vacía.
Cuatrocientos un mil trescientos cuarenta y siete tokens Ethereum. Mil quinientos millones de dólares.
Los tres firmantes tenían la autenticación multifactor habilitada en sus cuentas. Los tres tenían claves de seguridad de hardware activas. Nada de eso importó. El engaño ocurrió en la capa superior a la autenticación —en la capa donde los propios ojos del firmante interpretan lo que se le pide que apruebe.
Dos minutos después de que la transacción llega a la Ethereum mainnet, el JavaScript malicioso en el sitio web de Safe es eliminado.
El archivo modificado es reemplazado por la versión legítima. Cualquier visitante posterior a app.safe.global recibe código limpio. La evidencia desaparece del entorno en vivo.
Pero la infraestructura de Safe no fue el único lugar donde se sirvió el archivo. Los archivos de Wayback Machine —el archivo público de la web mantenido por el Internet Archive— habían capturado la versión maliciosa durante su ventana de despliegue activo. Cuando los investigadores reconstruyen el ataque, el archivo archivado se convierte en evidencia forense central. Los atacantes no habían anticipado que el archivo web público estaba haciendo copias silenciosamente de su exploit.
Los sistemas de detección de Bybit señalan la anomalía en cuestión de minutos. El CEO Ben Zhou confirma públicamente el robo en cuestión de horas. Las firmas de análisis de blockchain comienzan a rastrear el Ethereum robado en tiempo real.
La operación de lavado ya ha comenzado.
La metodología de lavado de criptomonedas de North Korea es madura.
Dentro de las primeras cuarenta y ocho horas después del robo, los analistas de blockchain estiman que aproximadamente ciento sesenta millones de dólares en Ethereum son lavados con éxito a través de exchanges descentralizados y puentes cross-chain. Los activos se convierten, fragmentan, mezclan a través de protocolos de privacidad y se reconstituyen a través de miles de direcciones de blockchain.
El objetivo de conversión preferido es Bitcoin.
El modelo de transacción de Bitcoin utiliza Unspent Transaction Outputs —una estructura que trata cada transacción como una unidad discreta, análoga al efectivo físico. Rastrear un valor monetario específico a través de Bitcoin requiere seguir UTXOs individuales a través de muchas direcciones, una tarea forense exponencialmente más compleja que rastrear una cuenta Ethereum.
La unidad de lavado de North Korea, designada por el FBI como TraderTraitor, convierte la mayor parte del Ethereum robado a Bitcoin en la primera semana.
El FBI emite un anuncio de servicio público el 26 de febrero de 2025 —cinco días después del ataque— atribuyendo formalmente el robo a North Korea. La oficina publica cincuenta y una direcciones Ethereum identificadas como parte de la infraestructura de lavado. Insta a los exchanges, plataformas de finanzas descentralizadas y firmas de inteligencia de blockchain a bloquear las transacciones derivadas de esas direcciones.
La atribución es rápida según los estándares de las investigaciones de ciberataques de estado-nación. Es posible gracias a la coincidencia de patrones.
Las direcciones utilizadas para mover los fondos robados de Bybit se superponen, en puntos específicos, con direcciones utilizadas en robos de criptomonedas anteriores —el robo de Phemex de 2024, el robo de BingX de 2024, el robo de Poloniex de 2023. Las firmas de inteligencia de blockchain Elliptic y TRM Labs, junto con el investigador independiente ZachXBT, establecen las superposiciones en cuestión de días.
Los mismos operadores están ejecutando la misma infraestructura de lavado a través de repetidos atracos. La infraestructura es la firma.
Contexto para la escala.
Según múltiples firmas de inteligencia de blockchain, el Lazarus Group y sus subcomponentes han robado, durante un período de varios años, un estimado de tres mil cuatrocientos millones a más de seis mil millones de dólares en criptomonedas. Solo en 2024, el robo vinculado a North Korea representó más de dos mil millones de dólares.
Los mil quinientos millones de dólares de Bybit, sustraídos en una sola operación, superan en un factor de cinco al siguiente mayor atraco individual —el robo de trescientos ocho millones de dólares en 2024 del exchange DMM Bitcoin de Japan.
Los fondos fluyen, a través de redes de lavado, a cuentas controladas por el gobierno de Democratic People's Republic of Korea. Las designaciones del Treasury Department han establecido repetidamente que estas cuentas financian los programas de armamento de North Korea, incluyendo el desarrollo de misiles balísticos y su programa nuclear.
Bybit, por su parte, sobrevive. La empresa es solvente. A las pocas horas del robo, el CEO Ben Zhou organiza préstamos puente y entradas estratégicas de otros poseedores institucionales para reponer las reservas. Los fondos de los clientes permanecen protegidos. Ningún usuario perdió activos depositados.
El exchange lanza un programa de recompensas por recuperación, ofreciendo hasta un diez por ciento de los fondos recuperados a quienes ayuden a rastrearlos o incautarlos.
La gran mayoría del Ethereum robado no ha sido recuperada.
Los elementos no resueltos de este caso son estructurales.
Bybit no hizo nada incorrecto según los estándares de las mejores prácticas de custodia de criptomonedas. Utilizó cold storage para sus reservas. Utilizó autorización multifirma para las transferencias. Utilizó un proveedor de interfaz de terceros de buena reputación. Utilizó claves de seguridad de hardware para sus firmantes. Cada control defensivo que la industria recomienda, Bybit lo implementó.
El ataque los eludió a todos comprometiendo una capa fuera del control de Bybit.
Safe, el proveedor de interfaz, atiende a miles de clientes institucionales. Cualquiera de esos clientes podría haber sido el objetivo. Bybit fue seleccionado porque los atacantes habían, a través de su reconocimiento inicial, identificado sus direcciones de cold wallet y patrones de transacción con antelación. El JavaScript condicional fue diseñado alrededor de esos puntos de datos específicos.
La debilidad arquitectónica subyacente es general, no específica.
Cualquier interfaz web utilizada para firmar transacciones de criptomonedas es, por definición, un punto potencial de manipulación de la visualización. Si la interfaz puede ser sutilmente modificada —a través del compromiso de su infraestructura de hosting, su red de entrega de contenido, su repositorio de código fuente o su pipeline de despliegue— un firmante no puede, en la mayoría de las implementaciones, verificar de forma independiente lo que realmente está firmando.
Las hardware wallets con visualización independiente de transacciones son una mitigación parcial. Pero muchas hardware wallets no decodifican estructuras de transacciones complejas como `delegatecall` en un formato legible por humanos. Muestran un hash en bruto. Un usuario mirando una cadena hexadecimal de sesenta y cuatro caracteres no puede verificar su significado mediante inspección.
El usuario tiene que confiar en la interfaz.
North Korea demostró, el 21 de febrero de 2025, el costo de esa confianza.
Fragment Zero seguirá el expediente del caso.
Los fondos robados continúan fragmentándose a través de la blockchain global. Porciones permanecen estáticas en direcciones que han sido etiquetadas y sancionadas. Porciones continúan moviéndose. Las cincuenta y una direcciones identificadas por el FBI han crecido a varios cientos, a través de múltiples cadenas.
El desarrollador de Safe cuya máquina fue comprometida no ha sido nombrado públicamente. El vector específico de ingeniería social utilizado para llegar a él no ha sido detallado públicamente.
El Lazarus Group continúa operando. En los meses posteriores al robo de Bybit, robos más pequeños pero aún sustanciales —medidos en decenas de millones de dólares— han sido atribuidos a la misma infraestructura.
La pregunta más profunda no es si la criptomoneda puede ser robada.
La pregunta más profunda es cuánto de la infraestructura financiera ahora depende de un pequeño número de proyectos de interfaz de código abierto —mantenidos por pequeños equipos, actualizados a través de pipelines de despliegue en vivo, consumidos a través de navegadores web— que se interponen entre miles de millones de dólares en activos y los humanos que los autorizan.
En este caso, el número de personas que podrían haber evitado el mayor robo de la historia fue una. Y él hizo clic en algo.