TL;DR
Tu cartera fue vaciada no porque alguien robara tus claves, sino porque firmaste un mensaje que no podías leer. Firmar, aprobar y enviar son tres operaciones distintas en MetaMask — y firmar es la que más se ignora y la que más dinero hace perder. Las firmas tipo Permit son las peores: no necesitan gas y no dejan rastro en tu historial, así que un atacante puede mover tus tokens en cadena después de que firmes, mientras tú crees que "no hiciste nada". CertiK atribuye unos 723 millones de dólares en pérdidas por phishing en 2025, en 248 incidentes1. La regla que protege tu cartera es una sola línea: nunca firmes nada que no puedas leer. A continuación separamos firmar de aprobar y enviar, desglosamos cuatro tipos de firma por riesgo, y te damos una checklist previa y un plan para después del hecho.
Separar los tres "consentimientos": enviar, aprobar y firmar
Aquí es donde los principiantes tropiezan más. Cada confirmación de MetaMask es una de tres cosas distintas — distínguelas y sabrás qué paso entrega realmente tus activos.
| Operación | Qué estás haciendo | ¿Deja registro? | ¿Reversible? |
|---|---|---|---|
| Enviar (transacción) | Inicias una transferencia/llamada a contrato, pagas gas | ✅ En el historial | ❌ No, en cadena |
| Aprobar | Tx en cadena que deja a un contrato gastar una cantidad de tu token | ✅ En el historial | ✅ Sí, revocable (gas) |
| Firmar | Firmas un mensaje, normalmente sin gas | ⚠️ Puede no dejar nada | ⚠️ Depende, a menudo no |
Una línea para recordar: aprobar otorga un permiso en cadena, revocable y visible; firmar entrega una instrucción que puede ser invisible y difícil de deshacer. Lo que hace tan peligroso al phishing de firmas es que salta toda la defensa de "revocar aprobaciones" — una firma fuera de cadena no muestra ningún registro revocable antes de ejecutarse.
Para el lado de "aprobar" —cómo revocar permisos en cadena— consulta Seguridad de aprobaciones DeFi: cómo revocar autorizaciones de contratos. Este artículo se centra en el lado más oculto de "firmar".
Qué es una firma y por qué "firmar" hace perder dinero
Una firma es usar tu clave privada para firmar un mensaje, demostrando que "esta dirección acepta el contenido de este mensaje". Normalmente no crea ninguna transacción en cadena y no cuesta gas, así que la gente la trata con despreocupación — como un simple "inicio de sesión" o "conectar cartera".
El problema: el mensaje puede ser cualquier cosa. Podría ser "permite que este contrato gaste mi USDC", o "envía 10 ETH a esta dirección". El atacante solo necesita envolver contenido malicioso en una forma que no te molestes en leer —o que no puedas leer— y hacer que pulses "Firmar".
La diferencia clave con el phishing de aprobaciones es la detectabilidad:
- Aprobar es una transacción en cadena. La ves en tu historial y en los exploradores de bloques, y puedes revocarla después.
- Firmar —sobre todo Permit— es puramente fuera de cadena. Tu historial no muestra nada, y quizá ni sepas cuándo "autorizaste" a quién.
Por eso tantas víctimas dicen "no hice nada y mis monedas desaparecieron" — no hicieron ninguna transacción en cadena. Solo firmaron una vez.
Cuatro tipos de firma, ordenados por riesgo
Las peticiones de firma que verás en MetaMask, de mayor a menor riesgo, se reducen a estas cuatro.
| Tipo | Cómo se ve la ventana | Riesgo | Manejo |
|---|---|---|---|
| eth_sign | Hex crudo, ilegible | 🔴 Crítico | Rechazar siempre |
| Permit / Permit2 | Parece una aprobación, pero sin gas / sin registro | 🔴 Crítico | Revisar spender / cantidad / plazo |
| personal_sign | Texto o JSON legible | 🟡 Medio | Leer cada palabra |
| signTypedData (EIP-712) | Campos estructurados, bastante legibles | 🟡 Medio | Revisar campos clave |
eth_sign es la firma ciega más peligrosa. Te deja firmar datos crudos arbitrarios, así que MetaMask suele mostrar una cadena hexadecimal. Un atacante puede empaquetar una instrucción de "mueve mis tokens" en esos datos y engañarte para que firmes. MetaMask muestra una advertencia roja para eth_sign, y carteras como imToken y OneKey lo han desactivado o añadido fuertes advertencias. Cualquier eth_sign: recházalo, sin excepciones.
personal_sign y signTypedData son más legibles —muestran texto o datos estructurados— pero los atacantes siguen usando el truco de la "firma ciega": esconden los campos clave entre un montón que no vas a leer. La prueba no es "¿es oficial?", sino "¿de verdad entiendo el spender, la cantidad y el plazo que muestra esta ventana?".
Permit (EIP-2612) es la categoría más costosa de los últimos años, se explica a continuación.
Permit y Permit2: el phishing fuera de cadena más difícil de detectar
Permit te deja conceder una aprobación de tokens con una sola firma fuera de cadena —sin gas y sin registro en tu historial. Eso es exactamente lo que lo hace peligroso. Las víctimas creen que "solo iniciaron sesión" o "firmaron algo para reclamar un airdrop", cuando en realidad entregaron su autoridad para gastar tokens a un atacante.
El flujo: el atacante te engaña para que firmes un Permit malicioso → el atacante paga gas para llamar a permit en cadena, completando la aprobación → luego llama a transferFrom para sacar tus tokens. No tienes ninguna transacción en cadena, ningún coste de gas, y un historial limpio todo el tiempo — hasta que las monedas desaparecen.
Casos reales muestran lo grave que es:
- Un usuario perdió unos 440.000 dólares en USDC tras firmar un Permit malicioso2;
- Una cartera de 4 años fue vaciada de unos 6,5 millones de dólares en stETH y aEthWBTC por una trampa de firma Permit3.
También está Permit2 —el contrato de aprobación compartida de Uniswap. Si ya autorizaste Permit2 en Uniswap, un atacante solo necesita una firma más tuya para usar permit y transferFrom de Permit2 y drenar tus tokens, convirtiendo una sola aprobación en una puerta de entrada permanente de firmas.
Esto escala gracias a una industria negra madura —DaaS (Drainer-as-a-Service, vaciado de carteras como servicio): los desarrolladores empaquetan contratos maliciosos, plantillas de páginas de phishing y scripts de barrido automático en kits que alquilan a delincuentes sin conocimientos técnicos por una parte del botín (a menudo 20–30%). Servicios conocidos: Inferno, Pink, Angel, Monkey y Venom. Por eso las pérdidas por phishing de firmas no dejan de subir — bajan la barrera técnica a cero.
Cinco cosas que revisar antes de firmar
Adquiere el hábito: antes de cualquier confirmación, haz una pausa de un segundo y revisa estas cinco cosas.
- Dirección del spender — ¿es el contrato oficial de un protocolo que reconoces? Una dirección desconocida significa rechazar.
- Cantidad — ¿limitada o ilimitada? Fija un límite siempre que puedas.
- Plazo — una Permit legítima suele tener una caducidad; desconfía de una que no la tenga.
- ¿Es eth_sign? — cualquier firma ciega eth_sign significa rechazar.
- ¿Algo te pide la frase semilla? — cualquier petición de introducir o "verificar" la frase semilla es una estafa; MetaMask nunca la pedirá.
Prueba de una línea: si no puedes leer lo que dice la ventana, no firmes. Perderte un airdrop es más barato que firmar algo que no entiendes.
Qué hacer después de un vaciado por phishing de firmas
Primero identifica en qué situación estás — la respuesta es muy distinta.
Caso A: solo firmaste una autorización tipo Permit, claves intactas. Revisa y revoca de inmediato la aprobación en Revoke.cash o un explorador de bloques, y luego mueve los fondos restantes a una cartera nueva. Cuanto antes revoques, más puedes salvar.
Caso B: tu frase semilla / clave privada se filtró (hay un bot barredor). Si los fondos desaparecen en cuanto depositas, tus claves están comprometidas y revocar no sirve —un atacante con tu clave puede hacerlo todo. Abandona la cartera ahora: crea una nueva, saca lo que aún no hayan barrido y retira la antigua de forma permanente. Consulta la Guía de seguridad de frases semilla y claves privadas.
Caso C: sospechas de eth_sign o una delegación EIP-7702. eth_sign puede ser una instrucción de transferencia de una sola vez, y EIP-7702 puede delegar toda tu dirección al contrato de un atacante con una sola firma. En estos casos lo más seguro es migrar los activos restantes directamente a una cartera nueva en lugar de intentar arreglar la antigua.
Sé claro: una vez que los tokens se fueron, la recuperación es prácticamente imposible. La cadena ejecutó una instrucción que firmaste, y los expertos ponen las probabilidades cerca de cero. La seguridad de firmas solo puede manejarse antes del hecho, no después.
Defensa a largo plazo: minimiza tu riesgo de firma
Haz que estos cuatro hábitos se queden y bloquearás la gran mayoría del robo por firmas:
- Separa una cartera caliente de una cartera hardware. Usa una cartera de saldo bajo para todas las interacciones con dApps (airdrops, minteos, farming) y guarda las grandes tenencias en una cartera hardware (Ledger/Trezor) o fría, dejando en la caliente solo lo que puedas permitirte perder. Para elegir tu configuración, consulta la Guía completa de carteras de cripto.
- Construye memoria muscular de "leer la ventana". Repasa las cinco comprobaciones antes de cada firma, aprobación y transacción; rechaza lo que no puedas leer.
- Prefiere carteras con simulación de transacciones. Algunas carteras simulan y traducen una firma antes de que confirmes (p. ej. "esta firma deja que el contrato X gaste todo tu USDC"). Úsalas o activa la función.
- Entra siempre desde la fuente oficial. Escribe o marca las URLs; no hagas clic en anuncios de resultados de búsqueda ni en enlaces de mensajes directos o correos —las páginas de phishing son la puerta de entrada de todo esto. Para un enfoque sistemático, consulta la Guía anti-phishing de cripto.
Si aún no tienes cartera, empieza por el Tutorial de instalación y seguridad de MetaMask.
FAQ
Mi cartera fue vaciada sin que hiciera nada, ¿qué pasó?
Lo más probable es que en algún momento firmaras un mensaje que no podías leer. El phishing de firmas —sobre todo Permit— permite al atacante obtener tu autorización fuera de la cadena y luego ejecutarla en cadena para mover tus tokens, sin transacción en tu historial y sin segunda confirmación. CertiK atribuye unos 723 millones de dólares en pérdidas por phishing en 2025, en 248 incidentes1.
¿Cuál es la diferencia entre firmar, aprobar y enviar?
Enviar es una transacción que inicias tú, en cadena e irreversible. Aprobar es una transacción en cadena que deja que un contrato gaste cierta cantidad de tu token, y se puede revocar. Firmar produce una firma digital sobre un mensaje —puede no crear ninguna transacción en cadena y, aun así, entregar a otro tu autoridad para gastar. Firmar, sobre todo Permit, es donde la mayoría pierde dinero.
¿Qué es una firma Permit y por qué me pueden vaciar sin pagar gas?
Permit (EIP-2612) te deja conceder una aprobación de tokens con una sola firma fuera de cadena —sin gas y sin registro en tu historial. El atacante te engaña para que firmes un Permit malicioso, luego lo envía en cadena para completar la aprobación y drenar tus tokens. Casos conocidos: un usuario perdió unos 440.000 USDC y una cartera de 4 años fue vaciada de unos 6,5 millones en stETH y aEthWBTC.
¿Qué hago cuando veo una petición eth_sign?
Recházala, siempre. eth_sign firma datos crudos arbitrarios, así que la ventana suele ser un texto hexadecimal ilegible. Un atacante puede empaquetar una instrucción de "mueve mis tokens" en esos datos y engañarte para que firmes. MetaMask muestra una advertencia roja para eth_sign, y carteras como imToken y OneKey lo han desactivado o advertido. Cualquier eth_sign debe rechazarse sin excepción.
Ya firmé algo sospechoso, ¿todavía puedo arreglarlo?
Depende. Si fue una autorización tipo Permit, revisa y revócala de inmediato en Revoke.cash o un explorador de bloques, y luego mueve los fondos restantes a una cartera nueva —cuanto antes revoques, más puedes salvar. Pero una vez que los tokens ya se fueron, la recuperación es prácticamente imposible: la cadena ejecutó una instrucción que tú firmaste.
¿Revocar aprobaciones detiene el phishing de firmas?
No del todo. Revocar solo cancela aprobaciones en cadena que ya hiciste. El phishing de firmas —sobre todo Permit— es fuera de cadena, así que no hay ningún registro revocable que ver antes de que se ejecute. La defensa real es leer cada ventana, rechazar la firma ciega y separar fondos entre una cartera caliente y una cartera hardware.
¿Cómo decido si una firma es segura?
Antes de firmar revisa: ① la dirección del spender, ¿es un contrato que reconoces?; ② la cantidad, ¿limitada o ilimitada?; ③ el plazo, las Permit legítimas suelen tener uno; ④ ¿es eth_sign?; ⑤ ¿algo te pide la frase semilla? Si algo no cuadra o no puedes leer lo que dice la ventana, rechaza.
Lectura adicional
- Seguridad de aprobaciones DeFi: cómo revocar autorizaciones de contratos — el tema hermano: revocar aprobaciones en cadena
- Guía de seguridad de frases semilla y claves privadas — el otro gran riesgo más allá de las firmas: cuidar tu frase semilla
- Guía anti-phishing de cripto — un desglose sistemático de 7 métodos de phishing
- Guía On-Chain — más explicaciones de blockchain y seguridad Web3
¿Todavía sin cripto? Compra primero en un exchange y luego retira a tu propia cartera. Binance (código BINANBT) | OKX (código 60895497)
Descargo de responsabilidad: Este contenido es solo educativo y no constituye asesoramiento de inversión. Invertir en criptomonedas conlleva riesgo; decide según tu propia situación.