Saltar al contenido
Registro de incidente · · 2 min de lectura · 299 palabras ·Descubierto ·Divulgado Resuelto

Inyección en el front-end de BadgerDAO, diciembre de 2021: qué ocurrió y qué comprobar

Una clave de API de Cloudflare comprometida permitió a los atacantes inyectar en el front-end de BadgerDAO un script que cosechaba aprobaciones. Los contratos nunca se tocaron.

Compartir
Esquema del incidente de BadgerDAO que muestra la etapa de compromiso del front-end como punto de fallo.
Schematic of the BadgerDAO incident showing the front-end compromise stage as the failure point.

De un vistazo

ENTIDAD AFECTADA
BadgerDAO
CADENA(S)
Ethereum
PÉRDIDA DECLARADA
aprox. 120 millones de dólares estadounidenses(BadgerDAO, 2 Dic 2021)
RESPUESTA OFICIAL
badger.com

Los contratos estaban bien

No había nada mal en los contratos inteligentes de BadgerDAO. Estaban auditados, se comportaron como estaban escritos y nunca fueron explotados. El ataque fue contra el sitio web, usando una clave de API de Cloudflare comprometida para inyectar un script que pedía a los usuarios aprobaciones de tokens hacia una dirección controlada por el atacante.

Desde el lado del usuario, esto era indistinguible del uso normal. Visitas el sitio de siempre, en el dominio correcto, con un certificado válido, y te pide que apruebes un token, que es exactamente lo que te pide cada vez que depositas.

Aprobaciones ilimitadas

La razón de que el compromiso de un front-end se convierta en una pérdida de nueve cifras es el modelo de aprobación de tokens. Aprobar a un gastador por un importe ilimitado es lo que hacen por defecto la mayoría de las interfaces, porque ahorra gas y evita avisos repetidos. También significa que una sola aprobación concedida a la dirección equivocada es una autorización permanente sobre todo tu saldo de ese token, mientras siga vigente.

Las aprobaciones son públicas. Cualquier explorador de bloques muestra qué ha aprobado tu dirección y a favor de quién. Revisarlas periódicamente es una comprobación que cualquiera puede hacer, y es la razón por la que este incidente merece leerse incluso años después.

Dónde se detiene Conisec

No vamos a decirte que revoques nada, y no enlazamos herramientas de revocación. Tras incidentes de este tipo aparecen rápido sitios falsos de «revocar» y «recuperar» que además posicionan bien, y una publicación que envía a sus lectores de forma rutinaria a interfaces de gestión de aprobaciones está entrenando justo el hábito que los atacantes explotan. La lista de aprobaciones es visible en el explorador de bloques en el que ya confías. Empieza por ahí.

Cronología

Solo se añade. Las correcciones se incorporan como su propia entrada fechada; las entradas anteriores nunca se reescriben.

  1. Según el análisis posterior de BadgerDAO, la inyección del script malicioso comienza de forma intermitente y dirigida a subconjuntos de usuarios. BadgerDAO
  2. Se detectan grandes transferencias no autorizadas. BadgerDAO pausa sus bóvedas y confirma públicamente el incidente. BadgerDAO

Qué comprobar

BadgerDAO publicó un análisis posterior técnico, enlazado más abajo. Las aprobaciones de tokens son visibles en cadena y pueden inspeccionarse en la vista de aprobaciones de cualquier explorador de bloques para tu propia dirección.

Conisec no aloja ni enlaza herramientas de recuperación, revocación o «comprobación». Tras un incidente público, los atacantes siembran habitualmente ese tipo de enlaces usando los nombres de las publicaciones que cubren la noticia. Usa el canal oficial del propio proyecto afectado, enlazado más arriba, y nada más.

Fuentes

  1. BadgerDAO, Technical post-mortem (2 Dic 2021)

No es asesoramiento. Esto es un resumen de hechos publicados, no asesoramiento jurídico, fiscal ni de seguridad. Verifícalo con las fuentes primarias enlazadas más arriba.

Última verificación por Conisec Staff.

Sigue explorando