Exploit de aprobaciones (approval exploit)
Un exploit de aprobaciones es un robo que abusa de las aprobaciones de tokens, los permisos que los usuarios conceden a los contratos inteligentes para mover tokens en su nombre. Cuando usas un exchange descentralizado u otra aplicación DeFi, normalmente apruebas que su contrato gaste un token de tu billetera; si ese permiso es demasiado amplio o el contrato aprobado se vuelve malicioso o sufre un hackeo, los tokens pueden sustraerse sin que tengas que hacer nada más.
Predominan dos variantes. En la primera, un sitio fraudulento te pide firmar lo que parece una aprobación rutinaria pero designa como gastador (spender) el contrato del atacante, a menudo por un importe ilimitado; el atacante transfiere entonces tus tokens cuando quiere, a veces semanas después. En la segunda, un protocolo legítimo que aprobaste hace mucho tiempo sufre una vulneración de su contrato, y el atacante usa las aprobaciones vigentes de todos para sacar fondos de las billeteras que interactuaron con él. Por ejemplo, usuarios que habían concedido aprobaciones ilimitadas al contrato de un puente (bridge) han perdido tokens cuando ese contrato fue explotado más tarde, a pesar de no haber visitado nunca un sitio fraudulento.
Las defensas prácticas son limitar las aprobaciones al importe necesario, revisar periódicamente y revocar las aprobaciones antiguas con herramientas creadas para ello, y usar billeteras distintas para experimentar y para los ahorros. Un error común es creer que mover tu frase semilla a un dispositivo nuevo soluciona una aprobación peligrosa; las aprobaciones viven on-chain asociadas a tu dirección, así que solo una transacción de revocación on-chain o mover los fondos a una dirección nueva elimina la exposición.