-
El atacante aprovechó un pool de PancakeSwap donde se podían intercambiar los tokens OLPC y LABUBU.
-
La función alterada permitió quemar millones de tokens OLPC y LABUBU en una sola operación.
Un pool de liquidez en el exchange descentralizado (DEX) PancakeSwap, sobre BNB Chain, fue explotado hoy 20 de junio y permitió sustraer cerca de USD 1,1 millones, según reportes de firmas de seguridad on chain.
El equipo de ExVul explicó que el ataque generó la quema, es decir, la eliminación permanente, de unos 51,9 millones de OLPC y 124.000 LABUBU del pool, el fondo de liquidez que permitía intercambiar los tokens entre sí.
Ese fondo fija el precio de cada token según las cantidades que tiene registradas internamente. Cuando esas cantidades dejan de coincidir con lo que el pool realmente conserva, el precio que ofrece deja de reflejar la realidad, y eso fue lo que el atacante aprovechó.
El parámetro que rompió el equilibrio del pool
El origen de ese desbalance fue identificado por Yu Xian, conocido como Cosine, fundador de la firma de seguridad SlowMist.
De acuerdo a Cosine, el contrato de OLPC tenía una función llamada «decimalsValue» que, bajo ciertas condiciones, podía quemar una cantidad de tokens mucho mayor a la que activaba la operación. Esa cantidad se calculaba multiplicando el monto de cada transacción por un número interno del contrato. En condiciones normales ese número es 1, así que el efecto pasa desapercibido.
El problema fue que, 46 días antes del ataque, quien controlaba el contrato de OLPC lo cambió «por un valor extremadamente grande», alertó Yu Xian, como se ve en la siguiente imagen del explorador de bloques BscScan:

Con ese cambio activo, le bastó al atacante con mover apenas unos 10 OLPC para disparar la quema masiva que dejó al pool con mucho menos LABUBU del que su precio interno todavía reflejaba. Eso le permitió comprar grandes cantidades del token LABUBU pagando muy poco y convertirlos, a través de otros pools, en 1.115.903 USDT, unos USD 1,11 millones. ExVul calculó que la ganancia neta del atacante, descontados los costos de la operación, fue de unos USD 960.000.
Para ocultar el origen de los fondos, el atacante los trasladó a Ethereum a través de un puente entre redes (bridge) y depositó 633,4 ether (ETH) en Tornado Cash, un protocolo que mezcla fondos de distintos usuarios para dificultar su rastreo, conforme a la investigación de PeckShield.

¿Exploit externo o maniobra del propio dueño?
Yu Xian no se limitó a explicar el mecanismo técnico. El investigador de SlowMist señaló que, días después de modificar ese parámetro, quien controlaba el contrato de OLPC renunció a su propiedad, dejándolo sin un dueño identificable. Esa secuencia, escribió, le resulta sospechosa.
«No me digan que de nuevo fue una filtración accidental de la clave privada», planteó, aunque aclaró que la investigación sobre el origen del cambio recién empieza y no confirmó que se tratara de una maniobra deliberada.
PancakeSwap, el protocolo donde operaba el pool, deslindó responsabilidad de su propio código. El equipo afirmó en un comunicado oficial que su investigación inicial no halló problemas en los contratos inteligentes de PancakeSwap.
En respuesta a PeckShield, un representante de desarrollo de negocios del DEX fue más específico y atribuyó la causa al contrato del token, no al contrato inteligente de PancakeSwap.
OLPC y LABUBU son dos memecoins de baja capitalización en BNB Chain. El segundo retoma el nombre de un personaje de juguetes coleccionables popular en Asia. El pool que los enfrentaba tenía poca liquidez antes del ataque, una condición habitual en este tipo de pares y que suele facilitar este tipo de manipulaciones, ya que montos relativamente bajos alcanzan para mover el precio de forma significativa.
Si el cambio del parámetro fue un error, una clave privada filtrada o una maniobra deliberada del dueño de OLPC todavía no tiene respuesta.









