El 2 de diciembre de 2021, el protocolo DeFi centrado en Bitcoin BadgerDAO descubrió que las wallets de los usuarios habían sido drenadas silenciosamente durante casi dos semanas. Pérdidas totales: aproximadamente 120 millones de dólares — extraídos no de los contratos inteligentes del protocolo, sino de usuarios aprobando transacciones maliciosas en el propio sitio web del protocolo.
Qué ocurrió
Una clave API de Cloudflare comprometida con amplios permisos sobre la infraestructura web de BadgerDAO dio al atacante la capacidad de inyectar JavaScript arbitrario en el frontend, acotado a rutas específicas de Cloudflare. Comenzando a mediados de noviembre de 2021, ejecutaron una inyección que, en sesiones seleccionadas, reemplazaba el calldata legítimo de transacción con llamadas a approve() sobre los saldos de usuarios — otorgando a la dirección del atacante autoridad ilimitada para gastar los tokens de la bóveda del usuario.
Los usuarios que visitaban el sitio, hacían clic en "depositar" o "gestionar", y firmaban lo que parecía una interacción normal estaban de hecho entregando los derechos de retirada de toda su posición en BadgerDAO. El atacante luego llamaba a la transferencia aprobada desde una dirección separada y drenaba los fondos.
El script malicioso se ejecutaba selectivamente — solo en un subconjunto de sesiones de alto valor — razón por la cual tomó casi dos semanas detectarlo. Microsoft Security luego acuñó el término "ice phishing" para esta clase de ataque.
Consecuencias
- BadgerDAO pausó todos los contratos tan pronto como se confirmó la inyección.
- El equipo anunció un plan de remediación y un reembolso basado en tokens a los usuarios afectados.
- El vector original de compromiso de la clave API de Cloudflare nunca se identificó públicamente más allá de "exposición de credenciales".
- La gran mayoría de los fondos fueron blanqueados a través de Tornado Cash antes de que se pudiera congelar alguno.
Por qué importa
BadgerDAO mostró por primera vez a escala que los contratos inteligentes de un protocolo DeFi no son su única superficie de ataque. El sitio web que sirve las llamadas al contrato es una frontera de confianza, y cualquier compromiso de la infraestructura que lo sirve — CDN, proveedor de hosting, DNS, pipeline de build — es un compromiso completo del protocolo desde la perspectiva del usuario.
La lección se reaprendió a un coste mucho mayor tres años después en Bybit, donde el mismo patrón — compromiso de cadena de suministro de un proveedor crítico de infraestructura web — drenó $1,46B.
Fuentes y evidencia on-chain
- [01]halborn.comhttps://www.halborn.com/blog/post/explained-the-badgerdao-hack-december-2021
- [02]coindesk.comhttps://www.coindesk.com/business/2021/12/10/badgerdao-reveals-details-of-how-it-was-hacked-for-120m
- [03]microsoft.comhttps://www.microsoft.com/en-us/security/blog/2022/02/16/ice-phishing-on-the-blockchain/