1. Jamás compartas tu frase semilla o seed phrase. Solo cuando quieras recuperar tu billetera de cero tendrás que introducir tus claves en metamask, todo lo demás… son intentos de obtener acceso a tu billetera. Algunas webs te pedirán tu frase semilla simulando ser metamask o con alguna escusa técnica, si se la mandas… tendrán el control total de tu wallet para siempre.

2. No guardes tu frase semilla en medios digitales. Hay personas que se han guardado sus palabras enviandose un email a si mismos, o que las tienen en un block de notas que se sincroniza en la nube o en el propio disco, y han reportado el hackeo de sus wallets. Recomendable es tenerla separada en diferentes sitios físicos que solo tu conozcas, o incluso, memorizarla.

3. Cuando vayas a transferir fondos o nfts, revisa varias veces la dirección de la billetera destino. Hay viruso que detectan que tienes copiado una direccion de una billetera y la sustituyen por la del atacante, de manera que al pegarla para enviar los fondos estarias pegando la del hacker.


4. Nunca uses una billetera de software en un equipo vulnerable. Si has instalado cracks, software pirata, si no sabes quien usa la computadora.. ¿tal vez tus hijos hayan pirateado algun juego? O tu madre, acostumbrada a instalarse todo el malware que encuentra, ¿la utiliza? Es muy probable que un trojano y un keylogger acaben robandote tu clave privada, obteniendo control total de tu billetera.

5. Compra una billetera fria, una billetera USB o cold wallet. Como por ejemplo ledger.

6.Compra tu billetera fria en una tienda oficial. Aunque las ofertas son golosas podrías comprar una billetera manipulada en la que el hacker solo este esperando que reciba los suficientes fondos como para robarlos.

7.Utiliza al menos dos billeteras (no estamos hablando de múltiples cuentas sobre la misma billetera, sino de nuevas billeteras con su respectiva clave semilla), una para experimentar o el uso habitual en juegos o metaversos, y otra para almacenar tus fondos más valiosos.


8. Si sospechas que tu billetera puede haber sido comprometida, descartala cuanto antes y mueve tus fondos a una nueva billetera.

9. Aprende la diferencia entre una billetera fría y caliente. Una billetera fría te protege de algunos hackeos, pero no de todos. Lo que has de entender es que la billetera caliente (por ejemplo, metamask) guarda tus claves privadas en el propio ordenador, y es vulnerable. Una billetera fría no. Pero, no estas libre de interactuar con contratos maliciosos en ninguno de los dos casos..

– IMPORTANTE: La seguridad de una billetera usb solo está en que no tienes la billetera instalada en tu ordenador, por lo que no puede ser hackeada como podría pasar con metamask si un hacker obtuviese el control de tu ordenador. Pero no te protege de aprobar contratos no deseados.

10. Trata de entender lo que estas haciendo.

Reconoce si estas interactuando con un smart contract (lo cual entraña peligro si es malicioso) o si solo te estas accediendo a una pagina firmando que efectivamente tu eres el propietario de la billetera (con un login). Este es un punto un poco más avanzado por lo que lo ilustraré con unos pantallazos.

– La mayoría de las web3 te piden logearte con tu billetera, logearse no implica ningún peligro a diferencia de lo que muchos usuarios piensan. No es necesario deslogearte de webs en las que te has logeado.

La mayoría de aplicaciones web3 te piden firmar digitalmente para garantizar que eres el dueño de la billetera, esta operación es limpia y segura, es un simple login.
El peligro esta en las interacciones con los smart contracts, que podrían ser maliciosos.
¿Como protegerse?
Veamoslo con algunos ejemplos:

¿Como diferenciar un login, de una interacción con un smart contract?
Los smart contract ejecutan código en la blockchain, y hay algunos maliciosos o que no son lo que el usuario espera. ¿Como protegerse?
Veamoslo con algunos ejemplos:

Ejemplo de login en decentraland. No es peligroso, solo le estas diciendo que tu eres el propietario de tu wallet.
loginpolygon
Aquí nos estamos logeando con la red de Polygon en el juego ethermon.io.

Aquí tenemos una interacción con un smart contract.
Primer aviso: Requiere gas fee, el formato es totalmente diferente, veremos que ademas de los detalles tenemos una sección datos y hex.
Meta-transacciones de matic, son transacciones que no requieren gas, por lo que no te pedirá matic, son mas difícil de identificar pero tienen su peligro. Compara esta transacción en la que pido aprobar la puesta a la venta de un wearable de decentraland en opensea, con el login en la red polygon.
Verás que son diferentes.

Sabiendo esto estaremos preparados para saber que estamos firmando, si un simple login (sin peligro para tus fondos), o la interacción con un smart contract (entraña peligros).

Un consejo que puede salvarnos de ser atracados por un hacker es no tener paginas web raras abiertas en segundo plano, ya que hay métodos de hackeo que se quedan escuchando las interacciones con metamask, y tratan de lanzarse antes de la web legitima.
Por ejemplo, Imaginad que voy a poner a la venta un articulo en opensea, pero me salen 2 transacciones para aprobar la venta seguidas… Puede ser un error, o que una web estuviera escuchando y lance una falsa transacción maliciosa imitando a opensea.
La solución es no tener abiertas webs no legitimas.

Consejo extra: Limita la cantidad de tokens que pones a disposicion de los exchanges descentralizados.
Cuando uno pone a la venta, o cambia criptomonedas en un exchange descentralizado, lo que hace es darle permiso a una aplicación de terceros para manejar y transferir sus fondos o sus nfts.
Ha habido casos en webs no muy potentes en las que se han robado las claves de los desarrolladores que tenian acceso a manipular los smart contracts, y se han llevado todos los fondos que la gente tenia aprobados para intercambiar.

Cuando uno cambia criptomonedas en un exchange descentralizado, hay una primera transacción en la que te pide la cantidad del token que permites manipular a su app descentralizada. Por defecto la cantidad es ilimitada para evitar tener que hacer transacciones de aprobación cada vez que queremos intercambiar tokens, pero esto entraña un peligro, y es que si el exchange es hackeado te podrían robar todos los fondos. Esto no solo ocurre con exchanges tambien con aplicaciones descentralizadas, por ejemplo de farmeo.

¿Prevención?

Tenemos dos opciones,

  • la primera, limitar la cantidad de tokens que permitiremos intercambiar.
  • la segunda, revocar nuestros permisos cuando ya no vayamos a intercambiar mas tokens con ese exchange.
  • Intentar operar con aplicaciones auditadas y de calidad.

Veamos un ejemplo intercambiando el token sushi con eth en https://app.uniswap.org
Cuando clickamos a aprobar el intercambio, veremos que el Monto aprobado es 1……+59 que equivale a infinito.
Ahora solo tengo menos de 1 sushi así que no me importa mucho,

¿pero si mañana recibo 1000 unidades, no recuerdo que he aprobado esta transacción de gasto ilimitado, y a su vez uniswap es hackeada?

Rebuscado no¿?
Si, pero mas vale prevenir… y entender lo que hacemos
Si clickamos en editar, en solicitud de permiso, podemos ajustar el monto de 1.15….+59 a 1, o al monto que queramos, marcando el «limite de gastos personalizado». Mucho mas seguro.

¿Y si ya hemos aprobado transacciones?
¿Y si no recordamos que transacciones hemos aprobado?

No te preocupes, tenemos varias webs para visualizar y cancelar las transacciones como revoke.cash

En este caso podréis ver varias transacciones aprobadas de gasto infinito, cuando el smart contract es muy conocido saldrá el nombre, sino el id del contrato.
EN este caso están en polygon y no cuestan comisiones de gas, ¿así que porque no cancelarlas todas clickando en revoke?

También podríais usar la pagina de token approval de etherscan: https://etherscan.io/tokenapprovalchecker

No olviden logearse clickando «Connect to web3» para poder ver sus transacciones e interactuar con ellas.