Cómo verificamos esto
Revisamos las fuentes enlazadas y actualizamos la página cuando cambia el registro. Usa la lista de fuentes abajo para verificar los detalles.
Key points
Cuando interactúas con una aplicación descentralizada (dApp) por primera vez, muchas plataformas te piden que “apruebes” un token. Esto otorga al contrato inteligente permiso para gastar una cantidad específica de ese token. Si bien las aprobaciones son una parte estándar de los estándares de tokens como ERC-20 y BEP-20, crean un riesgo persistente: si el contrato inteligente es malicioso o está comprometido, los atacantes pueden vaciar los tokens aprobados de tu billetera en cualquier momento.
El abuso de las aprobaciones de tokens es uno de los vectores más comunes en estafas de vaciado de billeteras, ataques de phishing y exploits DeFi. Solo en 2024, servicios automatizados de verificación de aprobaciones como Scam Sniffer marcaron millones de dólares en transacciones de permisos no autorizados. El riesgo no es teórico: cualquier dirección con aprobaciones abiertas en un contrato vulnerable puede perder fondos sin firmar otra transacción.
¿Qué es una aprobación de token?
Una aprobación de token es un permiso que le das a un contrato inteligente para mover una cierta cantidad de tokens desde tu billetera. La aprobación se registra en la cadena mediante una transacción que llama a la función `approve()` del contrato del token. La cantidad puede establecerse de forma precisa (por ejemplo, 100 USDC) o ilimitada (valor máximo, a menudo `uint256(-1)`).
| Tipo de aprobación | Nivel de riesgo | Caso de uso |
|---|---|---|
| Cantidad fija (exacta) | Bajo: el atacante solo puede gastar esa cantidad | Intercambio único, acuñación |
| Ilimitada (uint máximo) | Alto: todo el saldo está en riesgo | Comercio frecuente, pools de liquidez |
| Múltiples aprobaciones en el mismo token | Acumulativo: cada contrato aprobado podría vaciar | Intercambio, préstamos, yield farming |
La mayoría de las dApps solicitan aprobaciones ilimitadas para evitar tener que pedirte que apruebes cada vez que intercambias. Esa conveniencia tiene un costo: si el contrato se ve comprometido, el atacante puede vaciar todo tu saldo de tokens.
Cómo explotan los atacantes las aprobaciones abiertas
Source-tracked CryptoRescue article.
Los atacantes utilizan varios métodos para robar tokens a través de aprobaciones existentes:
- Aprobaciones de phishing: una dApp falsa o una interfaz de billetera te engaña para que firmes una transacción de aprobación para un contrato malicioso. Una vez aprobado, el contrato transfiere tokens de inmediato.
- Contratos comprometidos: un protocolo DeFi legítimo es hackeado y el atacante utiliza el contrato del protocolo para llamar a `transferFrom()` en todas las direcciones aprobadas.
- Scripts de vaciado: sitios web maliciosos inyectan JavaScript que te pide que apruebes un token específico. Estos scripts suelen distribuirse a través de anuncios de Twitter, grupos de Telegram o enlaces falsos de airdrop.
- Aprobaciones reutilizadas en diferentes cadenas: si apruebas un contrato en Ethereum y luego interactúas con la misma dirección de contrato en una sidechain (por ejemplo, BNB Chain), la aprobación puede ser válida en ambas cadenas si el token está puenteado.
Cómo verificar tus aprobaciones de tokens
Puedes revisar tus aprobaciones abiertas usando exploradores de bloques o herramientas dedicadas. El método es similar en todas las cadenas.
Usando Etherscan (Ethereum)
Ve a Etherscan e ingresa la dirección de tu billetera.
2. Haz clic en la pestaña “Token Approvals” (en el menú desplegable “More”).
3. Revisa la lista de contratos aprobados, símbolos de tokens y montos de permisos.
4. Haz clic en “Revoke” para generar una transacción que establezca el permiso a cero.
Usando Revoke.cash (multicadena)
Abre Revoke.cash y conecta tu billetera.
2. La herramienta escanea las cadenas compatibles (Ethereum, BNB Chain, Polygon, Arbitrum, etc.) en busca de aprobaciones.
3. Para cada aprobación, puedes revocar individualmente o en lote.
4. Confirma la transacción de revocación en tu billetera.
Usando el gestor de aprobaciones integrado de una billetera
Algunas billeteras (por ejemplo, MetaMask, Rabby) ahora incluyen una sección de “Permisos” o “Aprobaciones” que muestra y permite revocar permisos.
Pasos para revocar una aprobación de token
Revocar una aprobación envía una nueva transacción que establece el permiso a cero. Esta es una acción segura y de solo lectura que no implica el movimiento de fondos.
Identifica el token y el contrato que deseas revocar utilizando una de las herramientas anteriores.
Inicia la transacción de revocación. Esto llama a la función `approve()` con un valor de 0.
3. Confirma la transacción en tu billetera y paga la tarifa de gas.
4. Espera a que la transacción se confirme en la cadena. La aprobación ahora está eliminada.
5. (Opcional) Vuelve a verificar en Etherscan o Revoke.cash que el permiso ahora sea cero.
Mejores prácticas para las aprobaciones de tokens
- Nunca apruebes permisos ilimitados en contratos desconocidos o no auditados. Usa una cantidad fija si es posible.
- Audita tus aprobaciones regularmente. Establece un recordatorio mensual para revisar y revocar permisos no utilizados.
- Usa una billetera de hardware para activos de alto valor. Las billeteras de hardware añaden una capa extra de seguridad, pero no evitan que se firmen aprobaciones maliciosas.
- Ten cuidado con las solicitudes de “aprobar todo”. Las dApps legítimas generalmente piden aprobación de un token específico, no de toda tu billetera.
- Considera usar una billetera desechable para dApps experimentales y una billetera fría separada para tenencias a largo plazo.
Qué hacer si ya firmaste una aprobación maliciosa
Si sospechas que has aprobado un contrato malicioso para gastar tus tokens, actúa de inmediato:
No apruebes más transacciones desde esa billetera.
Revoca la aprobación utilizando los métodos anteriores lo antes posible.
3. Transfiere los tokens restantes a una billetera nueva que nunca haya interactuado con el contrato malicioso.
4. Reporta la dirección del contrato a plataformas de denuncia de estafas como Scam Sniffer o la base de datos de aprobaciones de tokens de Etherscan.
Limitaciones de la revocación
La revocación no es una solución milagrosa. Si el atacante ya tiene permiso para gastar tokens, puede vaciarlos en el momento en que revocas si está monitoreando el mempool. En la práctica, la mayoría de los atacantes confían en que la víctima no se dé cuenta o no actúe rápidamente. Revocar sigue siendo el primer paso más seguro, pero si sabes que el contrato está comprometido, mover tus tokens a una nueva billetera es la protección más confiable.
Advertencias sobre las fuentes
La información en esta guía se basa en datos públicos de blockchain, auditorías de empresas de seguridad como SlowMist y CertiK, y documentación de herramientas de aprobación de tokens como Revoke.cash y Etherscan. Siempre verifica las direcciones de los contratos y los dominios de las herramientas antes de conectar tu billetera. Ninguna herramienta o guía puede garantizar una protección completa contra ataques novedosos, y nunca debes confiar únicamente en una sola fuente para decisiones de seguridad.
Registro de actualizaciones
- 26 jul 2026Publicado con seguimiento de fuentes y contexto de seguridad para lectores.
- CorreccionesSi una fuente cambia o una afirmación necesita aclaración, esta página puede actualizarse desde la redacción.