Aprobaciones de tokens y seguridad al firmar: qué aceptas cuando pulsas confirmar
Un monedero de hardware no puede salvarte de una firma que decidiste dar. Hoy la mayor parte del robo on-chain no es una clave robada sino un permiso concedido: una aprobación o un mensaje firmado que permite a un contrato vaciar un monedero más tarde. Esta lección explica qué significa cada ventana y cuáles rechazar.

Lo que aprenderás
- Una aprobación permite a un contrato mover un token de tu monedero sin volver a preguntar. Las aprobaciones ilimitadas a un contrato malicioso o comprometido después son la principal causa de monederos vaciados.
- Las peticiones de firma "gratuitas" y "solo para verificar" pueden ser órdenes fuera de cadena que transfieren tus activos. Lee lo que se firma, no lo que dice el sitio.
- Revisa y revoca aprobaciones periódicamente, ten un monedero aparte para interactuar con sitios nuevos y trata cada ventana como una instrucción a tu dinero.
Las lecciones anteriores protegían la clave y la cuenta. Esta trata de las transacciones que un monedero perfectamente seguro firmará igualmente si se lo pides. Estos ataques no roban la frase semilla. Piden permiso, educadamente, en un cuadro de diálogo, y tú lo concedes.
Qué es una aprobación
Los tokens en cadenas de estilo Ethereum siguen un estándar en el que el contrato del token guarda un saldo para cada dirección y, por separado, un allowance: cuánto de tu saldo puede mover otra dirección. Para cambiar USDC en un DEX, el router del DEX debe poder tomar USDC de ti. Lo concedes firmando una transacción de approve que nombra al router (el gastador) y un importe.
La lección sobre DEX mencionó esto como el paso dos de un swap. Lo que no dijo es que la aprobación persiste. Una vez concedida, el gastador puede mover hasta ese importe desde tu monedero en cualquier momento futuro, en cualquier transacción, sin volver a preguntarte.
Dos consecuencias:
- Aprobaciones ilimitadas. Las interfaces ponen por defecto un importe "ilimitado" para que no tengas que aprobar otra vez. Eso significa que el gastador puede llevarse todo tu saldo de ese token, ahora o dentro de tres años.
- Las aprobaciones sobreviven al sitio. Si el contrato que aprobaste se explota después, o era malicioso desde el principio, tu aprobación es el billete del atacante. No tienes que volver a visitar el sitio. No tienes que hacer nada.

Cómo lo usan los drainers
Un wallet drainer es un kit —vendido a estafadores como servicio— que funciona detrás de un sitio falso: un airdrop falsificado, un mint falso, un clon de un DEX real o un enlace de "reclama tu recompensa" en un Discord hackeado o una cuenta de proyecto secuestrada.
- Conectas tu monedero. Esto por sí solo es inofensivo; solo revela tu dirección.
- El sitio lee tus saldos y elige el token más valioso.
- Te pide una aprobación de ese token al contrato del drainer, presentada como "Claim", "Verify" o "Enable trading". Algunas ventanas piden aprobación para varios tokens a la vez.
- Confirmas. No pasa nada visible, o aparece un mensaje de éxito falso.
- Minutos o días después, el drainer llama a transferFrom y vacía los saldos aprobados.
Los monederos de hardware muestran la aprobación, pero lo que muestran es una dirección de gastador y un importe, algo sin sentido salvo que compruebes la dirección contra un contrato conocido. La mayoría pulsa confirmar.
Firmas que no son transacciones
Una segunda clase de ventana te pide firmar un mensaje en lugar de enviar una transacción. No cuesta gas y el sitio dice que es "solo para iniciar sesión" o "verificar la propiedad". A menudo lo es. A veces es una orden fuera de cadena: una instrucción firmada que un marketplace o un sistema de permisos ejecutará después en la cadena.
Dos formas importan:
- Permit / Permit2. Un mensaje firmado que _es_ una aprobación: concede un allowance sin transacción. Todo lo anterior sobre aprobaciones aplica, pero la ventana parece una firma inofensiva.
- Listados de marketplace. Un mensaje firmado que pone tus NFT o tokens a la venta a precio cero para un comprador concreto. Firmarlo es regalarlos.
La ventana del monedero mostrará los datos estructurados que se firman. Si contienen un gastador, un token, un importe o una fecha límite, es una autorización, lo llame como lo llame el sitio. Si el monedero avisa de que los datos son ilegibles (un hash en crudo), rechaza: los sitios legítimos no exigen firmas a ciegas.
Envenenamiento de direcciones
Un truco relacionado apunta a la costumbre de copiar direcciones del historial de transacciones. El atacante te envía una transferencia de valor cero desde una dirección cuyos primeros y últimos caracteres coinciden con una a la que sueles enviar. La próxima vez que copies "tu dirección de siempre" del historial, copiarás la suya. Comprueba la dirección entera, o usa la libreta de direcciones del monedero, no el historial.
Los hábitos que lo evitan
Lee la ventana, no la página. El sitio puede decir cualquier cosa. La ventana del monedero muestra lo que va a ocurrir de verdad: el contrato invocado, la función, el gastador y el importe. Aprende a localizar esas cuatro cosas en la pantalla de confirmación de tu monedero.
Aprueba importes exactos. La mayoría de monederos e interfaces permite editar el importe de la aprobación. Ponlo al tamaño de esta operación. Cuesta una aprobación más la próxima vez y elimina el riesgo permanente.
Revoca lo que ya no usas. Las herramientas de gestión de aprobaciones listan todos los allowances que ha concedido una dirección y permiten revocar cada uno con una transacción. Revisa cada trimestre y de inmediato tras cualquier noticia de un protocolo explotado.
Usa monederos separados.
| Monedero | Guarda | Interactúa con |
|---|---|---|
| Caja fuerte | Tenencias a largo plazo | Nada. Solo recibe; solo envía a tus otros monederos. Con respaldo de hardware. |
| Diario | Lo que estás operando activamente | Protocolos consolidados que ya has usado |
| Burner | Cantidades pequeñas que puedes perder | Sitios nuevos, mints, airdrops, cualquier cosa desconocida |
Un drainer que vacía el burner se lleva lo que pusiste en él. Una caja fuerte que nunca firma una aprobación no puede vaciarse.
Verifica las direcciones de contrato. Antes de una aprobación grande, comprueba que el gastador es el router o la dirección de contrato publicada por el protocolo, desde su documentación, no desde el sitio que te lo pide.
Simula. Varios monederos y extensiones muestran los cambios de saldo esperados de una transacción antes de firmar. Si una "reclamación" reduciría tus saldos, no es una reclamación.
Si ya has firmado una
Revoca la aprobación de inmediato, antes de que el drainer actúe si eres rápido. Mueve los saldos restantes de ese token a un monedero nuevo. Da por hecho que cualquier otra aprobación concedida en el mismo sitio también es maliciosa y revócala. Una aprobación no compromete la frase semilla, así que el monedero puede conservarse; las aprobaciones no.
EthereumETHEn 50 mercados spot que indexamosQué significa esto en la práctica
- Una aprobación es un permiso permanente para llevarse tus tokens. Concede importes exactos, a contratos verificados, y revócalos al terminar.
- Una firma sin gas puede mover activos. Lee los datos estructurados; rechaza los hashes a ciegas.
- Ten una caja fuerte que no firme nada y un burner con poco dentro. El riesgo vive en el monedero que hace las dos cosas.
Hacia dónde seguir
Has terminado la ruta de Seguridad y el plan inicial de Coinmico Learn. El Glosario define todos los términos que estas lecciones introdujeron, cada uno enlazado a la página de Coinmico donde la cifra se mide en vivo. Desde aquí, la sección de Research aplica estas ideas a mercados concretos, con los bloques de datos que has visto a lo largo del curso.
Activos de este artículo
Cada cifra de aquí la mide Coinmico en los mercados y cadenas que indexamos. Consulta nuestra metodología.



