Estafas de aprobación ilimitada en TRON: cómo las aprobaciones de tokens agotan las billeteras
La aprobación ilimitada de tokens es el mecanismo silencioso detrás de muchos drenajes de billeteras TRON. Cuando interactúa con un intercambio descentralizado, un protocolo de préstamos o un sitio de phishing, puede firmar una transacción approve que otorga un permiso de contrato inteligente para mover sus tokens TRC-20. Los estafadores solicitan una asignación ilimitada y luego retiran todo su saldo USDT horas o semanas después sin más aviso.
Comprender las aprobaciones es esencial para cualquiera que tenga USDT en TRON. Esta guía explica cómo funciona approve, por qué los permisos ilimitados son peligrosos y cómo auditarlos y revocarlos.
¿Qué es una aprobación TRC-20? {#qué-es-la-aprobación}
Los tokens TRC-20 como USDT viven en contratos inteligentes. Mover tokens a través de un contrato de terceros (enrutador DEX, contrato de participación, drenaje malicioso) requiere dos pasos:
- aprobar(gastador, cantidad): permite que
spenderretire hastaamountde sus tokens. - transferFrom(usted, destinatario, monto): el contrato de gasto extrae tokens dentro del límite aprobado.
Este patrón impulsa DeFi legítimo en SunSwap y JustLend. El peligro es aprobar a un gastador malicioso o comprometido con una asignación enorme.
El patrón de aprobación ilimitado
Muchas dApps aprueban de forma predeterminada 2^256 - 1 (el valor máximo de uint256), por lo que los usuarios firman una vez e intercambian muchas veces. Los protocolos legítimos han hecho esto por conveniencia, pero eso significa que una firma maliciosa puede exponer todo su saldo.
En TronLink, una aprobación ilimitada puede mostrarse como:
- "Ilimitado" junto a USDT
- Un número muy largo en notación científica.
- El valor hexadecimal máximo en vistas avanzadas
Señal de alerta: Un sitio que visitó una vez solicita aprobación ilimitada USDT pero nunca completó un intercambio o depósito.
Cómo los drenajes explotan las aprobaciones
Secuencia de ataque típica:
- El usuario visita un sitio de phishing (falso SunSwap, lanzamiento aéreo falso, apuestas falsas).
- El sitio solicita que la billetera se conecte y apruebe USDT.
- El usuario aprueba la asignación ilimitada para el contrato del atacante
T.... - El atacante espera (reduce la sospecha inmediata) o drena instantáneamente mediante
transferFrom. - El USDT real del usuario se mueve a la billetera del atacante en una sola transacción.
Es posible que no lo notes hasta que verifiques tu saldo o intentes realizar una transferencia.
Debido a que TRON confirma rápidamente, los fondos agotados a menudo se reenvían a través de múltiples saltos en segundos.
Aprobaciones legítimas versus maliciosas
| Contexto | Aprobación típica | Nivel de riesgo |
|---|---|---|
| SunSwap intercambio | Contrato de enrutador, a menudo ilimitado | Baje si la URL es sun.io |
| JustLend suministro | Contrato de préstamo conjunto | Bajar si se verifica el protocolo |
| Reclamación de lanzamiento aéreo desconocido | Dirección T... desconocida | Crítico |
| Página "Verificar billetera" | Contrato desconocido | Crítico: siempre es una estafa |
| Pago único | Cantidad exacta necesaria | Inferior |
Verifique la dirección del contrato del gastador en TronScan antes de aprobar. Compare con las direcciones publicadas en la documentación oficial del protocolo.
Cómo leer las solicitudes de aprobación en TronLink
Antes de confirmar:
- Contrato en proceso de aprobación — USDT es
TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t. - Dirección del gastador: ¿quién recibe el permiso? Busque en TronScan.
- Cantidad: cifra exacta versus ilimitada.
- Sitio web de llamada: ¿Coincide con el dominio oficial?
Si algún campo no está claro, rechace e investigue primero.
Revocando aprobaciones el TronScan
Higiene de aprobación regular:
- Vaya a TronScan.
- Busque la dirección de su billetera.
- Abra la sección Aprobaciones o Aprobaciones de tokens.
- Revise cada gastador de USDT (y otros tokens).
- Revocar gastos desconocidos o no utilizados: confirme la revocación de tx en TronLink (pequeño TRX/costo de energía).
Después de la revocación, el gastador no puede retirar más tokens a menos que usted lo apruebe nuevamente.
Prácticas de aprobación más seguras
- Prefiere aprobaciones limitadas cuando la dApp admite montos exactos por transacción.
- Utilice una división caliente/fría: mantenga ahorros a largo plazo en una billetera que nunca se conecte a sitios desconocidos.
- Desconectar la billetera de los sitios después de su uso (TronLink lista de sitios conectados).
- Verificar contratos: consulte verificar contrato inteligente en TRON.
- Nunca aprobar en páginas de "verificación de billetera" o "sincronización": siempre es phishing.
Si su billetera se vació mediante la aprobación
- Revocar inmediatamente todas las aprobaciones restantes de la billetera comprometida.
- Mueva los activos sobrantes a una billetera nueva con una frase inicial nueva.
- Documentar los hashes de transacciones y las direcciones de los gastadores.
- Informe a través de TronScan informes de estafas y a sus autoridades locales si las pérdidas son significativas.
La recuperación del USDT transferido es poco común una vez que los atacantes mueven fondos fuera de la cadena o a través de mezcladores.
Nota del desarrollador {#nota del desarrollador}
Si crea dApps, utilice de forma predeterminada aprobaciones exactas o flujos de estilo permiso cuando sea posible. Documente públicamente las direcciones del contrato de su enrutador. Los usuarios confían en protocolos que minimizan el alcance de las asignaciones.
Preguntas frecuentes
¿Qué significa aprobación ilimitada en TRON?
Significa que usted autorizó un contrato inteligente (gastador) para transferir hasta la cantidad máxima posible de un token TRC-20 desde su billetera, no solo la cantidad que se muestra en la interfaz de usuario.
¿Cómo revoco una aprobación peligrosa en TRON?
Abra TronScan, vaya a la dirección de su billetera → pestaña Aprobación, busque el contrato del gastador y revoque o establezca la asignación en cero. Confirme la transacción de revocación en su billetera.
¿Puedo quedarme agotado después de desconectar mi billetera de un sitio?
Sí. Las aprobaciones persisten en la cadena hasta que se revocan. La desconexión solo detiene nuevas solicitudes de firma de ese sitio.
¿Aprobar TRX funciona de la misma manera?
TRX es nativo, no TRC-20; no utiliza approve. Los drenajes apuntan a activos TRC-20 como USDT, USDD y tokens de proyecto. Aún firmas transferencias TRX directamente.
¿Son seguras las aprobaciones SunSwap?
El enrutador oficial de SunSwap en el dominio legítimo sun.io se usa ampliamente. El riesgo proviene de los sitios de phishing que se hacen pasar por SunSwap, no de las aprobaciones del contrato real cuando verificaste la URL y la dirección del contrato.
Lista de verificación para solucionar problemas
Si algo sale mal en TRON, trátelo como un problema de depuración estructurado: confirme el txid exacto en la cadena, verifique la dirección del contrato de destino y solo entonces decida si la falla es recuperable. En TRON, muchos problemas "misteriosos" son simplemente uno de: red incorrecta (mainnet vs testnet), contrato de token incorrecto (falso USDT/tokens con nombres similares), recursos insuficientes (OUT_OF_ENERGY/ancho de banda) o retraso en la interfaz de usuario/indexador entre la billetera y el explorador.
Comience con estas comprobaciones en cadena:
- Copie siempre el txid/hash completo de su billetera o explorador.
- Confirme el estado del resultado del tx en TronScan (SUCCESS, REVERT, OUT_OF_ENERGY o aún pendiente).
- Compruebe si la dirección del destinatario/contrato coincide con la que desea enviar.
- Si se trata de una llamada de contrato, confirme que el selector de función y los parámetros coincidan con el estándar de token que cree que está utilizando (TRC-20 vs TRC-10 vs BEP-20 en BSC).
Luego aplique la ruta de corrección para su categoría:
- Confirmar el estado y los parámetros de la transacción.
- Verificar direcciones (contrato de token, destinatario, enrutador/gastador).
- Agregar o delegar recursos (Energía/Ancho de banda) cuando el fallo esté basado en recursos.
Errores comunes
Estos patrones causan la mayoría de los errores a nivel de usuario:
- Usar direcciones de mainnet en testnet (o al revés).
- Copiar un símbolo de token en lugar de la dirección real del contrato TRC-20.
- Firmar la dirección de aprobación/gastador incorrecta porque el enlace de la interfaz de usuario es malicioso o está desactualizado.
- Reintentar sin cambiar la entrada fallida (por ejemplo, REVERT sigue revirtiéndose hasta que corrija el parámetro).
Si no está seguro, no “simplemente envíe de nuevo”. Realice un cambio controlado, verifique en TronScan y luego continúe.
Preguntas frecuentes
¿Cómo sé si una transacción está realmente confirmada?
Utilice TronScan y verifique el estado del resultado del tx. Las etiquetas "pendientes" de la billetera pueden retrasarse; El estado de la cadena es la fuente de la verdad. Copie txid y verifique SUCCESS/REVERT/OUT_OF_ENERGY, no solo el texto de la interfaz de usuario.
¿Por qué la interfaz de usuario difiere de TronScan?
Algunas billeteras y dApps utilizan diferentes indexadores o capas de caché. Es normal que haya un breve retraso entre la transmisión y la indexación; compare txid y espere a que la cadena se estabilice antes de concluir que hay una falla.
¿Qué debo hacer después de un REVERT?Detenga y decodifique la llamada fallida. La mayoría de los REVERT se deben a parámetros no válidos, dirección de contrato incorrecta, aprobaciones faltantes o una falta de coincidencia entre el estándar del token y el método. Solucione la causa y luego vuelva a firmar.
¿Es seguro firmar una aprobación ilimitada?
Las aprobaciones ilimitadas son seguras solo para direcciones de gastadores confiables que usted haya verificado (fuente verificada, enrutador correcto y contrato de token esperado). Para las pruebas, prefiera aprobaciones limitadas y revoque una vez que haya terminado.
¿Qué recursos requiere TRON para las llamadas de contrato?
La ejecución de contratos inteligentes consume principalmente energía, mientras que los bytes de transacciones consumen ancho de banda. Si recibes OUT_OF_ENERGY, agrega/congela/delega energía. Si se agota el ancho de banda, concéntrese en mantener suficiente líquido TRX para bytes y asignación de recursos.
¿Cómo puedo reducir los tickets de soporte?
Muestre a los usuarios un mensaje claro de "qué sucedió" basado en el estado de la cadena y vincule directamente a la guía relevante (pendiente, fallida, sin energía o verificación). Guarda txid para que puedas conciliar rápidamente.
Gracias — tu feedback nos ayuda a mejorar la documentación.