La mayoría de las personas que pierden dinero en DeFi no fueron "hackeadas" en ningún sentido técnico. Firmaron una transacción que no leyeron, en un sitio que no era el sitio que creían, otorgando un permiso que no entendían. Una rutina breve y aburrida de comprobaciones previas antes de cada aprobación, intercambio o puente elimina casi todo ese riesgo, y la lista de verificación que sigue es la que conviene tener en el móvil.
Puntos clave
- La mayoría de las pérdidas en DeFi son errores del lado del usuario (sitio equivocado, aprobación equivocada, cadena equivocada) más que exploits sofisticados de protocolos.
- Nunca deberías interactuar con un sitio de DeFi a menos que hayas escrito tú mismo la URL o la hayas restaurado desde un marcador que tú creaste.
- Una "aprobación" es un permiso independiente en la cadena que permite a un contrato mover tus tokens más adelante, así que las aprobaciones antiguas o ilimitadas son una responsabilidad de larga duración.
- Separar una wallet pequeña de "exploración" de una wallet "bóveda", y simular cada transacción antes de firmar, elimina la mayor parte del radio de daño de un único error.
Por qué una lista de verificación de seguridad en DeFi importa más que un "buen proyecto"
Si has pasado algo de tiempo en el cripto-Twitter, habrás visto posts que parecen obituarios: una wallet vaciada, una aprobación de tokens explotada, un sitio de airdrop falso, un puente que envió fondos en silencio a un atacante. El detalle que casi nunca se menciona es que el usuario, no el protocolo, hizo clic en el último botón. El protocolo puede ser honesto, auditado y muy conocido, y aun así puedes perderlo todo firmando lo que no debes en el sitio correcto.
Esto suena desalentador, pero en realidad son buenas noticias. Significa que el modo de fallo es humano y de procedimiento, no criptográfico. No hay un exploit que parchear, ni un zero-day que esperar. Hay una rutina que crear, y la rutina cabe en una tarjeta de tamaño índice. El objetivo de esta lista de verificación de seguridad en DeFi es darte esa rutina: un pequeño conjunto de comprobaciones que realizas en el mismo orden, siempre, antes de firmar una transacción en una wallet de autocustodia.
Antes de repasar los siete pasos, conviene poner nombre a aquello de lo que realmente te estás defendiendo. Tres patrones concentran la gran mayoría de las pérdidas reales para usuarios corrientes, y cada uno se aborda con un paso concreto más adelante en este artículo.
- Phishing y sitios clónicos. Un dominio que parece idéntico al real pero está registrado por un atacante. Un resultado de búsqueda, un anuncio o un enlace patrocinado pueden llevarte hasta él.
- Aprobaciones mal entendidas. Firmas una aprobación de tokens que da a un contrato permiso para mover un token de tu wallet, a veces en cantidad ilimitada, y ese permiso vive en la cadena hasta que lo revocas.
- Transacciones que parecen inofensivas y hacen algo inesperado. Un botón de "reclamar airdrop" que en realidad es una aprobación de tokens, un "swap" que es una firma de tipo permit que permite a un tercero mover tus fondos, o un puente que deposita en un contrato con puerta trasera.
Los riesgos reales: cómo pierden dinero los usuarios de DeFi en la práctica
Merece la pena ser concreto con los modos de fallo, porque las advertencias abstractas sobre "haz tu propia investigación" no cambian el comportamiento. Unos pocos patrones concentran la mayoría de las pérdidas, y cada uno se puede prevenir con un hábito específico.
Los drenajes basados en aprobaciones son, con diferencia, la categoría más grande. Cuando intercambias un token en un exchange descentralizado, el sitio suele pedirte que apruebes al contrato del router para gastar ese token en tu nombre. Esa aprobación queda guardada en la cadena y sobrevive entre sesiones. Si el contrato del router se actualiza más tarde, es secuestrado, o nunca fue de fiar desde el principio, el atacante puede llamar a transferFrom sobre esa aprobación y mover tus tokens en cualquier momento. Las aprobaciones ilimitadas son cómodas, pero también son una responsabilidad de larga duración. Una regla útil: trata cada aprobación como una llave que estás entregando a un desconocido, y pregúntate cuánto tiempo quieres que dure esa llave.
Las firmas de tipo permit (EIP-2612) y las firmas off-chain añaden una segunda capa. Algunas dapps te pedirán firmar un mensaje en lugar de una transacción. El mensaje puede parecer ininteligible, pero puede otorgar el mismo poder de gasto que una aprobación, sin coste de gas y, por defecto, sin registro en la cadena. Las herramientas que decodifican firmas existen precisamente porque este formato es fácil de usar mal. Si firmas un permit desde un sitio malicioso, el atacante puede enviarlo a la cadena más tarde y mover tus tokens sin que vuelvas a interactuar.
Los puentes y los intercambios cross-chain son un tercer punto caliente. Puentear ETH de mainnet a ARB o a versiones wrapped de SOL suele implicar bloquear fondos en un contrato en la cadena de origen y acuñar un equivalente wrapped en la de destino. Los bugs en contratos de puentes han generado algunas de las mayores pérdidas en la historia de DeFi, y la superficie de ataque es mayor que la de un swap típico. Además, puentear suele ser una de las operaciones donde los usuarios toleran más fricción, que es justo cuando los estafadores aprietan con más fuerza.
Por último, está la pura y simple falta de higiene de la wallet. Una sola hot wallet que se ha usado para firmar aprobaciones para veinte dapps distintas durante dos años es un único punto de fallo. Revocar aprobaciones antiguas es un hábito real y útil, no paranoia. Sitios como revoke.cash existen para facilitar esto, y una pasada trimestral por ellos vale bien los diez minutos que lleva.
Paso 1: Accede a la URL correcta, de la forma aburrida
Antes de hacer cualquier otra cosa, confirma que estás en el sitio real. La mayoría del phishing no es ingenioso; es un anuncio de búsqueda de pago o una publicación patrocinada en redes sociales que enlaza a un dominio que se diferencia del real por un carácter, o por un carácter Unicode visualmente idéntico. La "l" de una URL puede no ser una L minúscula latina. Puede ser un carácter cirílico que se ve exactamente igual. La única defensa fiable es no llegar nunca a un sitio DeFi a través de un enlace que no controles personalmente.
Escribe el dominio en la barra de direcciones tú mismo, o usa un marcador que creaste la primera vez que visitaste el sitio legítimo. Si alguien en un canal de Discord te envía un enlace a "la página del airdrop", asume que es malicioso hasta que se demuestre lo contrario, sin importar lo verosímil que parezca el nombre de usuario. Verifica la URL carácter por carácter. Confirma el contrato en un explorador de bloques como Etherscan antes de conectar tu wallet o firmar nada; la dirección del contrato en la página verificada del explorador es la fuente de verdad, no la dirección que aparece en una ventana emergente o en un tweet.
Dos hábitos adicionales ayudan. Primero, guarda el dominio real en marcadores el primer día, y nunca hagas clic en un enlace que evite ese marcador. Segundo, si un sitio te pide conectar una wallet, el mensaje de conexión en tu wallet es el momento de pausar, no el momento de acelerar. Lee el mensaje de la wallet, no solo la página web.
Paso 2: Entiende exactamente qué aprobación se está solicitando
Una aprobación es un permiso independiente y persistente en la cadena. Cuando firmas una, no estás realizando una única operación. Estás diciéndole a un contrato inteligente que, desde ahora y hasta que la aprobación sea revocada o consumida, puede mover una cantidad específica de un token específico fuera de tu wallet en tu nombre. Si apruebas el contrato equivocado, el atacante puede vaciar ese token más adelante sin ninguna acción adicional por tu parte.
La mayoría de las wallets, incluidas las principales, ahora muestran la cantidad en formato legible en la pantalla de confirmación. El número al que debes prestar atención es el segundo, no el primero. Si el sitio dice "intercambiar 100 USDC por ETH" y el mensaje de la wallet dice "aprobar USDC ilimitado", te están pidiendo más de lo que la operación requiere. Para contratos grandes o desconocidos, establece un allowance personalizado que sea suficiente para cubrir la operación y, luego, revócalo. La fricción es real. La alternativa es peor.
Presta especial atención a las aprobaciones de stablecoins como USDC y USDT, y de tokens de alto valor como ETH. Una aprobación ilimitada de USDC a un router malicioso es funcionalmente equivalente a entregar a alguien un cheque en blanco firmado sobre tu saldo de stablecoins. Ten en cuenta también que algunos dapps han empezado a usar firmas permit2 o EIP-2612 en lugar de aprobaciones en la cadena, las cuales pueden conllevar el mismo riesgo sin aparecer en una lista de aprobaciones típica. Si un sitio te pide firmar un mensaje en lugar de una transacción, trátalo con la misma sospecha que una aprobación ilimitada.
Paso 3: Simula la transacción antes de firmar
Las herramientas de simulación ejecutan tu transacción contra el estado actual de la cadena en un entorno aislado y te muestran lo que hará: a qué contratos llamará, qué tokens moverá y cómo quedarán tus saldos después. Dos opciones conocidas son Tenderly y Blowfish, y muchas wallets ya incluyen simulación de forma nativa. Si tu wallet tiene un panel de simulación, léelo. Si no lo tiene, ejecuta primero la transacción a través de un simulador externo.
Lo que debes buscar es cualquier línea que no coincida con tu intención. Si tu intención era intercambiar 100 USDC por ETH y la simulación muestra que se mueve un token diferente, o una cantidad diferente, o que se establece una aprobación, detente. Si la simulación muestra que la transacción fallará en la cadena, te ahorrarás gas y tiempo al no enviarla. Si muestra una llamada a un contrato a una dirección que no puedes identificar, no firmes.
La simulación no es una bala de plata. Los atacantes sofisticados pueden crear transacciones cuyo comportamiento malicioso solo se activa bajo condiciones específicas, y una simulación estática puede no detectarlo. Pero para el caso habitual de un usuario a punto de cometer un error tipográfico o aterrizar en un sitio de phishing, la simulación es uno de los hábitos con mayor rendimiento que puedes adoptar, y es gratis.
Paso 4: Usa una wallet de "navegación", separada de tu wallet de "firmado"
Las configuraciones de una sola wallet son el motivo más común por el que un pequeño error se convierte en una pérdida total. La solución es estructural: mantén una wallet para la interacción diaria con DeFi y una segunda, fondeada solo cuando sea necesario, para almacenamiento. Este es el hábito más importante de toda la lista, y el más fácil de postergar.
En concreto: tu wallet de "navegación" o "caliente" contiene pequeñas cantidades, se conecta a dapps y firma aprobaciones. Tu wallet "bóveda" o "fría" contiene la mayor parte de tus fondos y rara vez se conecta a nada. Cuando quieras hacer algo importante, envía solo la cantidad que necesites desde la bóveda a la wallet caliente, realiza la operación y (si corresponde) envía de vuelta el saldo restante. Si la wallet caliente se ve comprometida, la pérdida queda limitada a lo que hubiera en ella en ese momento.
Este patrón también te permite usar una wallet limpia para las primeras interacciones con un nuevo protocolo. La primera vez que visitas un sitio, estás en el mayor riesgo de aterrizar en una variante de phishing. Hacer esa primera visita con una wallet vacía no te cuesta nada si algo sale mal. Solo después de haber confirmado el contrato, guardado la URL en marcadores y visto una transacción exitosa deberías considerar mover fondos reales.
La misma lógica se aplica a cadenas en las que aún no confías. Si estás probando un nuevo bridge a SOL por primera vez, hazlo desde una wallet que contenga una cantidad pequeña, no desde la wallet que guarda tu pila principal. Las nuevas cadenas, los nuevos contratos y los nuevos bridges son donde tiende a concentrarse el phishing más agresivo.
Paso 5: Presta atención a la cadena y al activo
Una proporción sorprendentemente alta de tickets de soporte del tipo "dónde se fueron mis tokens" provienen de un simple desajuste de cadena. El usuario conecta su monedero, ve un saldo que parece correcto y aprueba una transacción en una cadena en la que no tenía intención de estar. El caso más habitual es ETH en mainnet frente a una L2 como ARB, o una cadena EVM frente a SOL: el formato de dirección es similar, la dapp es similar, la URL es similar, y el usuario no se percata de en qué red está su monedero en ese momento.
Comprueba el indicador de red de tu monedero en cada transacción. Verifica el símbolo del activo: "USDC" en mainnet no es el mismo contrato que "USDC" en ARB, y ninguno de los dos es igual a la versión puenteada emitida por un bridge de terceros. Si un sitio dice que acepta USDC y tu monedero muestra el USDC de la red equivocada, la aprobación que estás a punto de firmar podría ser para un token que el sitio en realidad no puede recibir, o peor aún, para un token que el sitio sí puede recibir y vender en su propio beneficio.
Para SOL se aplican hábitos equivalentes. Los monederos de SOL muestran un indicador de red claro, y el universo de tokens SPL es lo suficientemente grande como para que un token de phishing pueda imitar a uno real. Comprueba la dirección de acuñación del token en un explorador de bloques en lugar de confiar en el símbolo de una lista. El mismo principio se aplica en todos los ecosistemas: el identificador on-chain es la verdad, el símbolo es solo una etiqueta.
Paso 6: Revoca aprobaciones antiguas de forma periódica
Las aprobaciones son persistentes. Una vez que concedes a un contrato permiso para mover tus USDC, ese permiso permanece hasta que lo revoques, incluso si nunca vuelves a usar la dapp. Si el contrato se explota más tarde, se actualiza de forma maliciosa, o siempre fue una estafa, tus tokens quedan expuestos a través de esa antigua aprobación. Por eso una pasada periódica de revocación forma parte de la rutina, no es una tarea puntual.
Herramientas como revoke.cash lo hacen sencillo. Leen la cadena, listan todas las aprobaciones actuales y te permiten enviar una transacción de revocación para cualquiera de ellas. Una cadencia razonable es una vez por trimestre, o inmediatamente después de cualquier interacción con una dapp que no planees volver a usar. La revocación cuesta gas, pero unos pocos dólares de gas son un precio pequeño comparado con perder el saldo subyacente.
Dos notas prácticas. Primero, no necesitas revocar cada aprobación cada vez; céntrate en las aprobaciones ilimitadas y en los contratos que ya no reconoces. Segundo, al revocar también estás confirmando que la dapp sigue funcionando, lo cual es un efecto colateral útil: una dapp que se ha apagado puede haber dejado sus contratos bajo nuevo control, y en el momento de revisarla para revocarla puedes actualizar tus marcadores en consecuencia.
Paso 7: Lee el aviso del monedero, siempre
La pantalla de confirmación del monedero es la última línea de defensa, y es la que los usuarios suelen saltarse con más frecuencia. También es donde aparece la información más relevante: la dirección del contrato al que se llama, la función que se invoca, el activo y la cantidad, y cualquier payload de firma. Leerla lleva unos segundos. Saltársela puede costarte todo.
En concreto, comprueba cuatro cosas. La dirección del contrato: pégala en un explorador de bloques y confirma que es el contrato que esperabas, con el estado de verificación que esperabas. La función: "approve" no es lo mismo que "swap", y una firma "permit" es otra cosa distinta. La cantidad: un número personalizado es diferente de "ilimitado", y "0" normalmente significa que estás firmando una cancelación, lo cual está bien. La dirección receptora: si el aviso muestra una transferencia hacia una dirección que no reconoces, detente.
Si cualquiera de esas cuatro comprobaciones no coincide con tu modelo mental de lo que estás haciendo, no firmes. Cierra el aviso, vuelve al sitio desde tu marcador y empieza de nuevo. La frase más cara en DeFi es "estoy seguro, simplemente firma". La más barata es "déjame volver a leer esto".
Qué hacer si algo sale mal
Incluso con una rutina perfecta, ocurren errores. La respuesta importa tanto como la prevención, y los primeros minutos son los que cuentan. Si te das cuenta a mitad de firma de que algo va mal, no firmes. Si ya has firmado y ahora sospechas de la aprobación, ve directamente a revoke.cash y revoca la aprobación desde un dispositivo limpio. Si los fondos ya se han movido, normalmente son irrecuperables on-chain, y cualquiera que se ponga en contacto contigo prometiéndote recuperarlos a cambio de una comisión está ejecutando una segunda estafa encima de la primera.
Más allá del momento inmediato, hay algunos hábitos que hacen que futuros incidentes sean asumibles. Lleva un registro escrito de qué monedero contiene qué, para poder actuar con rapidez sin tener que averiguarlo bajo presión. Mantén un saldo pequeño de "primeras veces" en cualquier monedero nuevo que utilices. Practica el flujo de revocación una vez, sobre una aprobación de prueba, antes de necesitarlo bajo presión. Nada de esto es emocionante. Todo funciona.
El resumen honesto es este: la seguridad en DeFi no consiste en encontrar un protocolo que no pueda ser atacado, porque ese protocolo no existe. Consiste en reducir el radio de impacto de los errores que inevitablemente cometerás, y en hacer que el coste de esos errores sea lo suficientemente pequeño como para que sean recuperables. La lista de comprobación anterior es una rutina pequeña y aburrida. Ese es el punto. Las rutinas aburridas son las que la gente realmente sigue.
Cómo seguir la seguridad en DeFi de forma inteligente
DeFi se mueve rápido, y las noticias sobre ello también: nuevos exploits, campañas de phishing recientes, actualizaciones de contratos, cierres de puentes. Seguir la señal manualmente, especialmente a través de múltiples cadenas como Ethereum, Arbitrum y Solana, es una batalla perdida. Zippfeed muestra titulares de DeFi y seguridad con puntuación de sentimiento, alcista, neutral o bajista, y una valoración de importancia, para que puedas detectar protocolos arriescidos y avisos de sitios clonados antes de que lleguen a tu monedero, no después. Combina ese feed con la lista de verificación anterior y la rutina aburrida se convierte en una rápida.
Preguntas frecuentes
¿Es DeFi seguro para principiantes?
DeFi es más seguro para los principiantes que siguen una rutina, y más arriesgado para quienes lo tratan como un sitio web cualquiera. La tecnología en sí está auditada y es on-chain, pero el usuario es la última línea de defensa frente al phishing, aprobaciones incorrectas y sitios clonados. Si estás empezando, comienza con un saldo pequeño en un monedero aparte de "navegación" y solo mueve fondos mayores después de haber usado un protocolo con éxito varias veces. Esto es educación, no consejo financiero; haz siempre tu propia investigación antes de firmar cualquier transacción.
¿Cómo funciona realmente una aprobación de token?
Una aprobación es un mensaje on-chain que permite a un contrato inteligente mover un token concreto desde tu monedero, hasta un límite que tú fijas, hasta que la revoques. Las aprobaciones ilimitadas son cómodas, pero otorgan a ese contrato un derecho de gasto de larga duración. Revocar una aprobación, a través de una herramienta como revoke.cash, es una transacción aparte que cuesta gas, pero elimina ese derecho. Trata las aprobaciones como llaves y solo entrégalas a contratos en los que confíes, durante el tiempo que las necesites.
¿Debería usar un monedero hardware para DeFi?
Un monedero hardware añade una capa sólida de protección porque la clave privada nunca toca tu ordenador, pero por sí solo no impide que firmes una aprobación maliciosa. El dispositivo mostrará los detalles de la transacción, lo cual es una ventaja real, pero aun así tienes que leerlos. Combinar un monedero hardware con la lista de verificación anterior, especialmente los pasos de simulación y revisión de aprobaciones, es una configuración sensata para saldos más grandes.
¿Cuál es la forma más rápida de comprobar si la URL de una dapp es real?
No hagas clic en enlaces de resultados de búsqueda, redes sociales o mensajes directos. En su lugar, escribe el dominio en tu barra de direcciones, o ábrelo desde un marcador que creaste la primera vez que visitaste el sitio legítimo. Después, comprueba la dirección del contrato en un explorador de bloques. El hábito de dos pasos de "URL más dirección del contrato" atrapa la gran mayoría de intentos de phishing en menos de un minuto.