Cómo verificar correctamente los contratos inteligentes antes de conectarse

Guía paso a paso para principiantes sobre cómo analizar contratos inteligentes antes de conectar la cartera: verificación de código, permisos críticos, proxies, herramientas de auditoría y señales de estafa.

||
Actualizado

Por qué es importante analizar los contratos inteligentes

Conectar tu cartera a contratos inteligentes siempre implica riesgo: una parte significativa de los tokens nuevos que aparecen en las redes termina siendo fraudulenta. Quienes empiezan son los que más sufren, al caer en permisos ocultos y «honeypots». En esta guía aprenderás cómo comprobar los contratos inteligentes antes de conectar y proteger tus activos.

El objetivo de este material es proporcionar a los principiantes un método claro y paso a paso para verificar contratos inteligentes por su cuenta: qué abrir en el explorador de bloques, en qué fijarse en el código fuente, qué «banderas rojas» son más frecuentes y cómo minimizar el riesgo antes de conectar tu cartera o conceder permisos.

Verificación del código fuente del contrato inteligente

Lo primero que debes comprobar es la verificación del código en el explorador de bloques (Etherscan, BscScan, Polygonscan, etc.). Un contrato verificado aporta transparencia: sus fuentes se han subido y coinciden con el bytecode desplegado, y el usuario puede revisar las pestañas Read/Write Contract y la interfaz ABI. La documentación de Etherscan subraya que la verificación permite auditar la lógica y asegurarse de que el contrato hace lo que promete. Si el código fuente no está publicado, supone un riesgo considerable: no sabes qué lógica estás firmando.

Cómo actuar: abre la dirección del contrato → pestaña Contract → comprueba el estado Verified y la estructura de archivos. Incluso si no eres desarrollador, el mero hecho de que haya fuentes ya es un punto a favor: podrás pasar el código por analizadores automáticos y detectar posibles problemas.

En resumen: ausencia de verificación = «caja negra». Para proyectos nuevos y poco conocidos, esto es motivo suficiente para no conectar.

Funciones y permisos críticos: approve, transferFrom, permit

approve(spender, amount) es la función estándar de ERC‑20 que otorga a un contrato el derecho a gastar tus tokens en tu nombre. Después, puede llamar a transferFrom y retirar la cantidad permitida sin confirmaciones adicionales. Los atacantes suelen solicitar un Approve «ilimitado» (∞) o exigir SetApprovalForAll para NFT (ERC‑721/1155), lo que concede control total sobre la colección. Ledger destaca que SetApprovalForAll es una interacción extremadamente arriesgada para usuarios inexpertos.

Las recomendaciones son sencillas: concede límites mínimos suficientes, evita el «∞», verifica con atención a quién y para qué otorgas permisos y, tras usar la dApp, revoca los permisos innecesarios.

Usa extensiones con simulación (por ejemplo, Pocket Universe) para previsualizar, antes de firmar, qué cambios se producirán: si es una transferencia de activos, la concesión de un approve global, un cambio de propietario, etc.

Proxies y actualizaciones: por qué son un riesgo

El patrón Proxy permite mantener invariable la dirección del contrato cambiando la implementación mediante delegatecall: el proxy redirige las llamadas a la implementation, cuya dirección puede actualizarse. Este enfoque es cómodo, por eso lo usan grandes protocolos y colecciones conocidas. Pero para el usuario implica confianza adicional: hoy revisas el código de la implementación y mañana el propietario (o un multisig) actualiza la lógica. Tus permisos ya concedidos se mantienen y la nueva implementación podrá usarlos.

Si en la página del contrato se indica Proxy / Upgradable, comprueba quién y cómo inicia las actualizaciones (multisig, timelock, DAO), si se publican anuncios y si hay historial de versiones. Sin estos controles, incluso un contrato «bueno» hoy puede volverse peligroso mañana.

Herramientas de análisis: de escáneres estáticos a extensiones

Combina varias herramientas: se complementan y cubren distintas clases de riesgo.

  • MythX — análisis de código en la nube (análisis estático, ejecución simbólica, heurísticas de ML) para encontrar vulnerabilidades y antipatrones.
  • Slither — analizador estático rápido de Solidity de Trail of Bits; detecta errores típicos y ofrece recomendaciones concretas.
  • Remix IDE — entorno de desarrollo online con plugins de verificación automática; útil para un diagnóstico básico de fuentes sin instalar software.
  • Token Sniffer — verifica tokens frente a patrones de estafa conocidos y mantiene una base de contratos scam; ha sido mencionado incluso en materiales del Departamento del Tesoro de EE. UU. como compendio útil.
  • BSCheck — análisis rápido preliminar de tokens: estado del propietario (si renunció), liquidez (si está bloqueada y por cuánto), señales de honeypot y distribución de holders.
  • GoPlus Security — ecosistema de API y extensiones que evalúan riesgos de tokens y alertan sobre acciones de phishing o sospechosas directamente en el navegador.
  • De.Fi Scanner — escáner gratuito de contratos inteligentes para vulnerabilidades típicas y señales de Rug Pull; los informes son claros incluso para no técnicos y cuenta con un módulo Shield para revisar los permisos de la cartera.
  • Adicional: Honeypot.is — detector de «honeypots»; servicios de Revoke — para revocar approve; Wallet Guard y Pocket Universe — para simular transacciones y bloquear phishing.

Patrones típicos de estafa en el código de tokens

Los tokens fraudulentos suelen repetir los mismos trucos. Los más peligrosos:

  • Honeypot — se puede comprar, pero no vender. El código bloquea la venta para la mayoría de direcciones y una «lista blanca» permite retirar sólo al propietario. En el gráfico se observan compras sin ventas; los escáneres lo marcan como honeypot.
  • Bloqueo dinámico — activación/desactivación del comercio según condición, listas negras por dirección, «ventanas» de negociación; externamente el token parece normal hasta el momento del bloqueo.
  • Comisiones variables — el propietario puede subir el impuesto al 100%, paralizando de facto las ventas. Busca funciones setFee/setTax y límites máximos.
  • mint ilimitado — emisión adicional de tokens sin límites estrictos. Cualquier «impresión centralizada» = devaluación inmediata de saldos.
  • Retiro de liquidez — ausencia de bloqueo de LP, Remove Liquidity repentinos hacia la dirección del propietario, desvío de ingresos a carteras de terceros.

La mayoría de estas señales las detectan automáticamente Token Sniffer, BSCheck y De.Fi Scanner. Pero la decisión final siempre es tuya: si dudas, no conectes.

Riesgos ocultos: privilegios del propietario, pausable, «backdoors»

El patrón Ownable otorga al propietario facultades especiales. Es normal si las funciones están acotadas con criterio, pero es importante entender su alcance:

  • Cambio de parámetros críticos (impuestos, direcciones de destinatarios, límites).
  • Pausable — posibilidad de detener transferencias y comercio por completo.
  • mint/burnFrom — acuñación/quema desde saldos ajenos.
  • Métodos ocultos no estándar («puertas traseras») con nombres inocuos.

Qué hacer: revisar el código fuente (o los informes de escáneres), los eventos OwnershipTransferred/RoleGranted/Paused en los logs, el estado del propietario (si renunció mediante renounceOwnership) y seguir las transacciones de la dirección «owner».

Contratos DeFi: liquidez, lending, farming

En DeFi interactuamos no sólo con tokens, sino también con pools, préstamos (lending) y «granjas». Comprobaciones básicas:

  • Pools de DEX. Usa DEX de confianza. Los forks personalizados pueden incluir lógica de comisiones ocultas o un «botón» para retirar fondos.
  • Lending. Auditorías de firmas reputadas, límites, mecánica de liquidaciones y rol de los oráculos. La mayoría de catástrofes se deben al diseño económico, pero el código no auditado añade riesgo.
  • Farming/staking. Revisa contratos tipo MasterChef: tasa de emisión, límites de depósito, roles del propietario. La «emisión infinita» de recompensas es un camino clásico hacia la devaluación.
  • General. Busca bug bounties, multisig para la gestión, historial de incidentes y TVL. TVL bajo + proyecto joven = sólo «dinero para experimentar».

NFT y acuñaciones (ERC‑721/1155): comprobaciones básicas

Antes de acuñar (mint) o comerciar:

  • Dirección oficial. Verifica la dirección con las fuentes del proyecto o el marketplace; los falsos suelen tener un único carácter «roto» en la cadena.
  • Límite de emisión. Busca maxSupply y las reglas de acuñación; la ausencia de límites es un riesgo de dilución.
  • Permisos peligrosos. Sitios de terceros no deben forzar SetApprovalForAll «para todo». Cualquier intento es señal para detener la interacción.
  • Metadatos. IPFS/Arweave son preferibles a CDNs centralizadas por su resiliencia y previsibilidad del contenido.
Ejemplo de riesgo: en varios ataques, el sitio de «mint» hacía que el usuario firmara no un mint, sino safeTransferFrom: en la práctica, la transferencia de un NFT ya existente desde la cartera de la víctima a la dirección del atacante. Revisa qué función estás firmando.

OpenZeppelin y plantillas reconocibles

Usar las bibliotecas OpenZeppelin Contracts es una buena señal: implementaciones maduras de estándares (ERC‑20/721/1155, roles, pausa, etc.), con numerosas auditorías y «batalla» real. En fuentes verificadas, busca import "@openzeppelin/...", compáralo con las plantillas de referencia y revisa la pestaña «Similar Contracts». Pero no bajes la guardia: a menudo se añade un par de líneas al patrón limpio y, justo ahí, se esconde la «trampa».

Características de los tokens: impuestos, listas negras, anti‑ballenas

Algunas mecánicas no equivalen a estafa, pero sí afectan a la experiencia y al perfil de riesgo:

  • Impuestos (tax/fee). Los porcentajes de entrada/salida reducen la cantidad final. Importa si las tasas son fijas y si hay límites máximos; de lo contrario, el propietario podría subirlas al 100%.
  • Listas negras. Se presentan como medida anti‑bot, pero pueden usarse contra los holders. Buena práctica: desactivarlas tras el lanzamiento.
  • Anti‑whale. Límites de balance u operación protegen la liquidez, pero impiden transferir «todo de una vez». Aclara las excepciones (a menudo se excluyen direcciones de servicio).
  • Reflections/Recompensas. La redistribución automática de comisiones entre holders resulta atractiva, pero complica el código y puede introducir vulnerabilidades. Sin auditoría, es arriesgado.

Qué mirar en los exploradores de bloques: historial, llamadas, eventos

El explorador de bloques es tu principal herramienta de investigación:

  • Cronología y actividad. Fecha de despliegue, frecuencia de interacciones, distribución de actividad. Una dirección «fresca» con unas pocas carteras «conectadas» suele indicar manipulación.
  • Holders. Concentración en direcciones top, cuota del propietario/contratos/exchanges. Una cuota excesiva en una única cartera = riesgo de dump.
  • Liquidez. Si hay bloqueo de LP, por cuánto tiempo y quién posee los LP. Remove Liquidity repentinos son bandera roja.
  • Read/Write Contract. Posibilidad de llamar funciones seguras directamente (por ejemplo, para retirar tus fondos) sin el frontend del proyecto.
  • Comentarios/Etiquetas. No son verdad absoluta, pero sí señales. Muchos mensajes de «SCAM!» — mejor aléjate.
  • Eventos. Transfer desde 0x0 (mint), Approval (aprobaciones masivas a direcciones extrañas), OwnershipTransferred/Paused — indicadores rápidos de cambios.

Lista de comprobación antes de conectar

  1. Comprobar la dirección en el explorador: verificación de código, fecha de despliegue, holders, transacciones sospechosas, etiquetas.
  2. Pasarlo por escáneres: Token Sniffer / De.Fi Scanner / GoPlus. Cualquier «bandera roja» crítica = no conectar.
  3. Verificar la legitimidad del frontend: revisa la URL, busca reseñas y análisis, no sigas enlaces «de regalo».
  4. Empezar con una cartera «burner»: dirección separada con saldo mínimo para el primer contacto.
  5. Minimizar permisos: sin «∞», a ser posible con un límite para la operación concreta.
  6. Simular la transacción: extensiones con vista previa de acciones antes de firmar.
  7. Saber dónde revocar permisos: servicios de Revoke y paneles de Token Approvals; revisa periódicamente la lista de permisos.

Qué no garantiza la verificación

  • Honestidad del frontend. La interfaz puede sustituir dirección o datos. Compara siempre lo que muestra la cartera con la acción esperada.
  • Buena fe del equipo. El código puede estar limpio y las acciones del equipo, no. Una auditoría no protege de un Rug Pull fuera del contrato.
  • Economía. Un token técnicamente impecable puede valer cero por factores de mercado y errores de diseño.
  • Actualizaciones futuras. En contratos actualizables, el riesgo cambia con el tiempo: sigue las actualizaciones.
  • Ingeniería social. Revisar código no te salva del phishing ni de filtrar la frase semilla. La higiene de seguridad es obligatoria.

Conclusión

Trabajar con contratos inteligentes de forma segura es una combinación de disciplina, herramientas y sentido común. El estándar mínimo consiste en comprobar la verificación del código, realizar un pase rápido por escáneres, revisar permisos y leer con atención las transacciones en la cartera. El estándar elevado implica entender proxies y actualizaciones, leer eventos y roles, y evaluar la economía y los riesgos operativos del proyecto.

Ninguna herramienta ofrece garantía absoluta: conviene apoyarse en una combinación de fuentes independientes, empezar con una cartera «burner» y revocar permisos excesivos con regularidad. La formación y la vigilancia son tu principal activo: conociendo las amenazas típicas y las «banderas rojas», ya reduces de forma sustancial la probabilidad de perder fondos.

Lo principal: conecta sólo después de verificar la dirección y el código, simula las transacciones, limita el approve, sigue las actualizaciones de proxies y ten a mano herramientas para revocar permisos al instante.

Preguntas y respuestas (FAQ)

¿Qué hacer si el contrato no está verificado en Etherscan?
Lo más prudente es no interactuar. Un contrato no verificado es una «caja negra». Pregunta al equipo el motivo y verifica su reputación; en términos generales, es razón suficiente para no conectar.
No soy desarrollador: ¿cómo puedo revisar un contrato?
Abre la dirección en el explorador (fecha de despliegue, holders, eventos), pásalo por escáneres (Token Sniffer, De.Fi Scanner, GoPlus) y revisa debates y análisis. Si hay dudas, usa una cartera «burner» o no conectes.
Si un contrato está verificado y auditado, ¿es «seguro»?
La verificación aporta transparencia y la auditoría reduce riesgos, pero no los elimina. Sigue las actualizaciones y mira quién controla los cambios y cuándo fue la última auditoría.
¿Qué es un honeypot y cómo reconocerlo?
Es un token del que no puedes salir: las ventas están bloqueadas. Señales: ausencia de ventas con compras intensas y alertas de detectores de honeypot y escáneres. Si lo detectas, detén la interacción y avisa a la comunidad.
¿Cómo revocar permisos (approve) otorgados?
A través de servicios de revocación (incluidos paneles de Token Approvals). Conecta tu cartera, localiza los permisos innecesarios y pulsa «Revoke». Es útil auditar tus permisos con regularidad.
¿Hace falta una cartera separada para nuevas dApps?
Sí, reduce mucho el riesgo. Una cartera «burner» con saldo mínimo permite soportar un incidente sin dañar tus activos principales.
Me conecté a un contrato fraudulento: ¿qué hacer?
Revoca de inmediato todos los permisos que concediste a esa dirección; ignora tokens «de regalo» y posibles reembolsos dudosos. Recuperar fondos ya transferidos suele ser imposible; lo importante es cerrar rápido la brecha y aprender la lección.

¿Encontró útil este artículo?

Suscríbase a nuestras actualizaciones para no perderse nuevas reseñas y calificaciones

Ver Todos los Exchanges →