El escrow de staking heredado de Yieldly liberó sus ALGO sin leer el pago
Cinco pagos en noventa y dos segundos sacaron unos 390.000 ALGO de la bóveda de staking heredada de Yieldly, mucho después de que se avisara a los titulares de que retiraran. Su programa de escrow parece aprobar cualquier pago sin leer el receptor, el importe ni el activo. La cuenta conserva ahora 0,20107 ALGO.

Cinco pagos salieron de una cuenta de contrato de staking de Yieldly en la mañana del 15 de octubre de 2026, en un intervalo de noventa y dos segundos. En conjunto sacaron de una bóveda unos 390.377 ALGO, la misma que el proyecto había pedido vaciar a sus usuarios tres años antes. El primero fue de unos 14.3741 ALGO y el último de unos 174.763. El contrato pagó porque sus propios registros habían recibido el abono de un depósito que nunca llegó, en un token que nunca tuvo.
Esa cuenta es el escrow que hay detrás de la dapp de staking heredada de Yieldly, donde los titulares dejaban sus tokens para obtener recompensas. El proyecto les pidió que retiraran su stake en abril de 2023 y de nuevo en julio de ese año. Lo que aún quedaba en la bóveda eran ALGO, y allí siguió, protegido por un programa publicado que, al parecer, no lee ni el receptor ni el importe del pago que firma.
Un token acuñado ocho segundos antes de gastarse
La cuenta que se llevó el dinero se abrió esa misma mañana y se dotó con 12 ALGO. Acuñó un token llamado FUEL sin decimales y sin roles de manager, freeze, clawback ni reserve. Su creador envió la totalidad del suministro a su propia dirección, una transferencia que no alteró ningún saldo.
Ocho segundos después, el escrow pagó a esa misma cuenta 3.239.706.903,7436723 YLDY, aproximadamente 3.240 millones4 de tokens, un tercio del suministro de 10.000 millones5. El programa de staking parece llevar un saldo por cuenta y sumarle el importe de una transferencia sin comparar el id del activo. FUEL se cuenta en unidades enteras y YLDY en millonésimas, así que el recuento bruto de un token se leyó como el del otro.
Para abonar ese saldo no hizo falta enviar nada al escrow. El programa de comprobación que precede a la ruta de depósito devuelve éxito en cualquier llamada que cierre una posición, sin leer ningún argumento, de modo que la ruta protegida puede saltarse. La rama de depósito abona después el importe de un pago sin confirmar que el dinero llegara a la cuenta que custodia los fondos.
Las retiradas siguen el mismo patrón. A cada una de las cinco la precedió, unos ocho segundos antes, un pago de la misma cuenta a sí misma por el importe idéntico, desde unos 14.3746 ALGO hasta unos 174.763, en grupos en los que el saldo de ninguna dirección cambió. Los depósitos eran asientos en los propios registros del contrato. Los ALGO que salieron eran el saldo del propio contrato, no algo que hubiera aportado el remitente.
Una bóveda que no leía nada del pago
La cuenta que pagó es una firma lógica, un pequeño programa sin clave privada que robar. El deployer de Yieldly la abrió con 2 ALGO el 5 de junio de 2021. Su programa publicado parece aprobar un pago bajo tres condiciones. El grupo debe contener entre dos y seis transacciones, y la primera tiene que ser una llamada a una aplicación concreta de Yieldly. Ninguna de las dos primeras puede establecer un rekey. Al parecer, no lee ningún receptor, importe ni activo del pago que firma.
Dentro de esas condiciones podría firmar un pago de cualquier tamaño, en cualquier activo, a cualquier dirección. Según esa lectura, no parece que hubiera nada que romper ni ninguna clave que encontrar. El programa no parece preguntar nada sobre quién envía el pago, así que un outsider y un antiguo usuario cumplían los mismos requisitos. La página de la cuenta del escrow7 muestra ahora 0,201078 ALGO, justo por encima del mínimo de 0,2 ALGO que la mantiene abierta.
Los 400k del titular son un pago posterior
El hilo9 que dio a conocer el caso en r/AlgorandOfficial afirmaba que el contrato de staking había sido 'hackeado por 400k10 Algo' y remitía a la auditoría de Halborn de 2021. Las respuestas se dividían entre quienes lo llamaban hackeo y quienes culpaban a los operadores. La cifra que hay detrás del titular, 404.751,14087711 ALGO, es una única transferencia que la billetera receptora hizo cuatro minutos después de la última retirada, y es mayor que lo que liberó la bóveda.
Es el dinero de la bóveda más el producto de los tokens abonados. La cuenta vendió 1.898.163.508,44209812 YLDY a una cuenta de contrato por 8.435,73485413 ALGO, y 1.341.543.395,30157314 YLDY a un pool de Tinyman por 5.934,49038915. Las dos ventas aportaron 14.370,22524316 ALGO. Si se suma eso a lo que liberó la bóveda, el total queda unos pocos ALGO por debajo de los 404.751,14087717 enviados después, una diferencia que el registro no cierra.
El propio YLDY vale ya poco: unos 2.878 dólares de capitalización, con 13,44 dólares negociados en un día, a fecha del 19 de octubre.
El pago posterior volvió a moverse en cuestión de horas. Pasó por otras dos cuentas corrientes, y la última de ellas envió 220.000 ALGO el 19 de octubre. Ninguna de las tres se corresponde con un nombre.
La auditoría examinó otro código
El encargo de Halborn se extendió del 8 al 19 de mayo de 2021 y abarcó los contratos de lotería de Yieldly. El informe18 señala que, por limitaciones de tiempo y recursos, solo se probaron los aspectos más esenciales. Según el informe, uno de sus cinco hallazgos, HAL-02, de severidad baja, describía transacciones que no pasaban por el proxy cuando el escrow esperaba que lo hicieran, justo en este mismo límite.
Los programas que pagaron se publicaron después. Las dos aplicaciones de staking se actualizaron por última vez el 2 de julio de 2021, una vez cerrado el encargo, y ninguna ha cambiado desde entonces. Ampararse en esa auditoría como garantía sobre la bóveda de staking supone confiar en un código que no estaba en funcionamiento en octubre.
Tres años después del aviso de cierre
Yieldly pidió a los titulares que retiraran en abril de 2023 y de nuevo en julio. La publicación del 20 de abril19 decía: 'Retirad vuestro stake de Yieldly staking antes de que la dapp se desconecte en un plazo de 30 días,20' y fijaba el final de mayo para el desmantelamiento. Un anuncio del 25 de julio21 pedía a los usuarios 'retirad vuestros fondos de Yieldly staking antes de las 22:00 EST del 26 de julio22'. Los cinco pagos llegaron 1.177 días después de ese plazo.
Yieldly no ha dicho nada sobre las transferencias. Su canal de anuncios23 no publica desde marzo de 2024, su feed de Medium24 desde abril de 2023, y su cuenta de X25 no tiene nada posterior a enero de 2025.
La dapp ya no existe; los contratos se quedaron. El escrow siguió enviando YLDY en 2025, incluidos 112.376.408,272 tokens en una sola transferencia el 4 de agosto, así que el programa seguía respondiendo a alguien. Lo que también guardaba eran ALGO, y eso es lo que se fue. Los escrows de las otras aplicaciones que nombran los programas no contienen ya nada.
Fuentes
17 cifras de esta historia están verificadas. 6 se leyeron directamente de la cadena.Ver todas las comprobaciones