← Volver al blog
Alerta activa

Infinite approval: el exploit que vacía billeteras y sigue activo en 2026

Un patrón responsable de cientos de millones en pérdidas sigue siendo el vector de ataque más común en crypto. Te explicamos qué es, cómo detectarlo y qué hace Kairo Guard para bloquearlo antes de que firmes.

🔴

Imaginá que le das a un desconocido la llave de tu casa y le decís: "podés entrar a buscar lo que necesites, cuando quieras, para siempre." Eso es exactamente lo que hace una aprobación infinita de tokens (infinite token approval).

Y lo peor: la mayoría de los usuarios que interactúan con DeFi lo hacen todos los días sin saberlo.

¿Qué es esto? Una aprobación infinita (infinite approval) es una transacción donde autorizás a un contrato inteligente a mover todos tus tokens de un tipo dado — sin límite de cantidad, sin fecha de vencimiento. Si ese contrato es malicioso o es hackeado después, tus fondos están expuestos.

¿Cómo funciona técnicamente?

En Ethereum y la mayoría de las cadenas EVM, para que un protocolo pueda mover tus tokens (por ejemplo, swappear DAI en Uniswap), primero tenés que aprobar que lo haga. Esto se hace llamando a la función approve() del contrato del token:

// Aprobación limitada — segura token.approve( spenderAddress, 100 // Solo puede mover 100 tokens ); // Aprobación infinita — peligrosa token.approve( spenderAddress, 115792089237316195423570985008687907853269984665640564039457584007913129639935 // type(uint256).max — sin límite, para siempre );

El número enorme que ves arriba es 2^256 - 1, el valor máximo de un entero en Solidity. Aprobar ese número significa: podés mover todos mis tokens, ahora y siempre.

¿Por qué los protocolos legítimos lo usan?

Acá viene la parte incómoda: muchos protocolos completamente legítimos — exchanges descentralizados, plataformas de lending — te piden aprobación infinita por conveniencia. El motivo es simple: así el usuario no tiene que aprobar cada operación individual, lo que ahorraría gas fees pero requeriría más clics.

Algunos protocolos lo hacen sin intención maliciosa. Pero la consecuencia es la misma: creás una superficie de ataque permanente.

El problema del protocolo hackeado: Imaginá que aprobás un protocolo legítimo con permisos infinitos, y seis meses después ese protocolo sufre un exploit. El atacante ahora puede usar esa aprobación que vos dejaste activa para drenar tus tokens. No necesita engañarte de nuevo.

Cómo se usa para atacar: el patrón en 5 pasos

  1. 01
    El señuelo El usuario recibe un link a un "nuevo DEX con mejores rates", un NFT gratuito, o un airdrop "reclamable". La urgencia es parte del diseño: "oferta por 24hs", "quedan pocos spots".
  2. 02
    La aprobación Al conectar la billetera, el sitio pide aprobar el movimiento de tokens. La interfaz muestra "Approve USDC" — lo que no dice es que el monto es ilimitado y permanente.
  3. 03
    La espera El contrato malicioso no actúa inmediatamente. Puede esperar días o semanas, hasta que el usuario acumule más fondos o la billetera tenga más valor.
  4. 04
    El drenaje En una sola transacción, el contrato transfiere todos los tokens aprobados. El usuario ve su balance en cero. La transacción es irreversible.
  5. 05
    El rastro frío Los fondos se mueven a través de mixers o chains secundarias. La recuperación es prácticamente imposible.

Cómo detectarlo antes de firmar

Hay señales que podés leer en cualquier transacción de aprobación antes de confirmarla:

1. El monto de aprobación. Si en la ventana de confirmación de tu billetera dice "Unlimited" o muestra un número con 70+ dígitos, es una aprobación infinita. Algunas billeteras como MetaMask ahora te permiten editarlo — siempre reducilo al monto exacto que necesitás.

2. ¿A quién le estás aprobando? Copiá la dirección del spender y verificala en Etherscan. ¿Tiene actividad? ¿Cuánto tiempo lleva desplegado el contrato? Un contrato recién desplegado (menos de 7 días) que pide aprobación infinita es una señal de alerta máxima.

3. ¿El sitio coincide con el contrato? El dominio del sitio y la dirección del contrato que estás aprobando deberían coincidir con el protocolo oficial. Siempre verificá en el sitio oficial del protocolo cuál es su dirección de contrato.

Lo que hace Kairo Guard: Cuando pegás una transacción de aprobación, nuestro análisis identifica automáticamente si el monto es infinito, verifica la antigüedad del contrato, cruza la dirección contra nuestra base de contratos maliciosos conocidos, y te explica exactamente qué permiso estás dando antes de que confirmes.

Cómo revocar aprobaciones existentes

Si ya tenés aprobaciones activas (y probablemente las tenés si usás DeFi), podés revocarlas. Herramientas como Revoke.cash o el token approvals checker de Etherscan te muestran todas las aprobaciones activas y te permiten revocarlas.

Revisá especialmente:

  • Aprobaciones de contratos inactivos o que ya no usás
  • Aprobaciones con montos ilimitados (Unlimited)
  • Aprobaciones a contratos no verificados en Etherscan

Revocar tiene un costo de gas pequeño pero vale la pena. Reducís permanentemente tu superficie de ataque.

La regla de oro

Antes de aprobar cualquier contrato, preguntate: ¿necesito realmente darle acceso ilimitado y permanente? En casi todos los casos, la respuesta es no. Aprobá solo lo que necesitás para la operación específica, y revocá cuando termines.

La comodidad no vale la exposición. En crypto, la seguridad es siempre tu responsabilidad final.

¿Tenés una transacción que aprobar?

Pegala en Kairo Guard antes de firmar. Te decimos exactamente qué va a pasar. Analizar ahora →