
Solido Money: Un Stablecoin Cotizado Por Un Espejo Roto, Drenado Dos Veces En Un Día
El código no fue hackeado. El precio sí.
Pues nada, que si montas un chiringuito tipo Solido Money, un protocolo DeFi de préstamos y *stablecoins* sobre Supra, donde la gente mete un colateral, fabrica $CASH y luego lo cambia por $SUPRA, más te vale tener bien atado al oráculo. Porque si el fulano que le chiva al contrato "esto vale X" resulta ser un fantasma, la hemos liado parda. Y vaya si la liaron. El listillo de turno, con un único depósito, hizo que el espejo mágico mintiera más que un político en campaña, se embolsó 809.052 $CASH del tirón. Y como lo de quitar la web no arregla la chapuza del *smart contract*, volvió a la carga unas horas después y, con la misma cara, repitió la jugada en cinco carteras distintas. Lo que viene siendo, que creer que un botón bonito en la pantalla es lo mismo que tener seguridad es de traca.
El Esquema
Solido Money usaba una ruta de oráculo que cotizaba el colateral con un feed que el atacante podía empujar. En una sola transacción atómica, depositó colateral sobrevalorado, minteó 809.052 $CASH, lo convirtió en $SUPRA y salió. El equipo tiró el front-end. El smart contract siguió funcionando. Horas después, la misma técnica fue ejecutada manualmente en cinco wallets, porque la función de mint on-chain no sabía que la web estaba caída.
Tirar la UI es teatro de seguridad. Solo un fix on-chain — desactivar permanentemente la ruta de mint explotada — cerró la puerta de verdad.
La Parte Incómoda: Esto No Fue Un Bug De Código
Los contratos de Solido hicieron exactamente lo que estaban programados para hacer: aceptar colateral, preguntar al oráculo cuánto vale y mintear el $CASH correspondiente. No hubo reentrancy, ni delegatecall sin chequear, ni overflow aritmético. La vulnerabilidad vivía en el lugar que la mayoría de auditorías siguen tratando como 'problema de otro': el feed de precio.
Un protocolo de stablecoin/lending es una apuesta al oráculo. Cada línea de la función de mint asume que el número que llega del feed es honesto. El atacante no reescribió el contrato — reescribió el número. Y como el colateral tenía una fuente de liquidez fina, sin TWAP y sin cap de manipulación, mover el número costó menos que el mint que autorizaba.
La frase más aterradora del post-mortem es la más silenciosa: 'la vulnerabilidad estaba en el smart contract, no en la web.' Es aterradora porque el primer instinto del equipo fue arreglar la web. Ese es el instinto de un equipo de marketing, no de seguridad. En DeFi, tirar la UI te compra exactamente cero minutos contra un atacante con un script.
Un stablecoin es tan seguro como su feed de precio. Punto.
Anatomía De Una Manipulación De Oráculo
La manipulación de oráculo no es magia. Es arbitraje contra una decisión de diseño. En algún momento del deploy, un equipo decidió que el colateral se cotizaría con una sola fuente, o con la media de fuentes poco negociadas, sin TWAP y sin circuit breaker para prints atípicos. Esa decisión les ahorró una suscripción a Chainlink. Le costó a los usuarios 809.052 CASH en la primera ronda y una repetición el mismo día.
El patrón es aburridamente consistente. El atacante identifica la fuente de precio. Mueve la fuente (una mecha en un par de baja liquidez suele bastar; a veces es un swap con flash loan; a veces es un reporte firmado del oráculo que puede influir). Interactúa con el protocolo vulnerable en el mismo bloque o ventana antes de que el precio revierta. Mintea, presta o drena. Sale.
El caso Solido tiene un beat extra que separa un post-mortem competente de uno bueno: la ola 2. Después de que el equipo tirara el front-end, el atacante ejecutó la misma ruta de mint manualmente en cinco wallets. Eso significa que el exploit nunca fue realmente mitigado entre olas — fue escondido. Que la web volviera habría sido lo mismo que la web nunca se hubiera ido.
La ronda uno es un bug. La ronda dos, horas después, en el mismo contrato, es una política.
Vocabulario Decodificado: Qué Dijo El Comunicado
Lo que Solido dijo vs lo que realmente pasó:
"Mala configuración del oráculo"
Lo que suena:
Un error puntual de settings que un redeploy corrige.
Lo que pasó de verdad:
El protocolo eligió una ruta de precio sin TWAP, sin cap de desviación y sin circuit breaker — porque un oráculo serio cuesta dinero y enviar rápido no. 'Mala configuración' es la palabra amable para 'optimizamos por el lanzamiento, no por una posición de $1M de colateral.'
"Hemos pausado el front-end"
Lo que suena:
El protocolo está offline de forma segura mientras el equipo investiga.
Lo que pasó de verdad:
La web está caída. El smart contract sigue abierto. Cualquier wallet con un endpoint JSON-RPC y el ABI puede seguir llamando a la función vulnerable. Tirar la UI es un mensaje a la comunidad, no al contrato.
"Se ha desplegado un fix a nivel de contrato"
Lo que suena:
La vulnerabilidad ha sido rearquitecturada.
Lo que pasó de verdad:
La función de mint explotada fue desactivada permanentemente — la única remediación que funciona tras un ataque de oráculo. Es el movimiento correcto, pero también significa que la funcionalidad afectada ya no existe. Si el equipo promete 'la función volverá en breve,' asume que el modelo de confianza no ha cambiado.
'Web caída' no es un fix. 'Función desactivada' sí.
Cómo Un Stablecoin Termina Cotizado Por Un Espejo Roto
Cuatro decisiones, tomadas meses antes del exploit, que siempre viajan juntas:
Decisión 1: Lanzar Con Un Oráculo 'Suficiente'
El equipo elige una fuente de precio que funciona en el par más líquido, pero sin fallback para el colateral específico que aceptará. Un solo feed, sin TWAP, sin cap de manipulación, sin chequeo de desviación contra una fuente secundaria. Más barato, más rápido, y está bien — hasta la primera posición seria.
Todo post-mortem de manipulación de oráculo incluye la frase 'planeábamos actualizar el oráculo antes de mainnet.' Nadie lo hace nunca.
Decisión 2: Aceptar Colateral Con Liquidez Fina
Una cadena nueva, un par de stablecoin joven, un token cuyo único mercado real es un pool AMM. Cualquier cosa que se pueda empujar on-chain por menos de lo que autoriza el mint. Si tu colateral se puede mover 5% con un trade de $50k y tu protocolo te mintea $1M, has escrito la propuesta del atacante.
'Nunca se moverá tanto' es la segunda frase más cara de DeFi. La primera es 'el oráculo está bien.'
Decisión 3: Tratar La UI Como Un Control De Seguridad
El runbook dice 'en caso de incidente, desactivar la app.' No dice 'en caso de incidente, pausar el contrato con la función guardian.' Hay una diferencia. Uno detiene a usuarios normales. El otro detiene al atacante que ya está leyendo las transacciones en el block explorer.
El atacante nunca usó el front-end. ¿Por qué asumirías que tirarlo le incomoda?
Decisión 4: Anunciar Antes De Entender
Un comunicado sale en horas, usando 'aislado,' 'contenido,' 'bajo investigación.' La comunidad lo lee como tranquilidad. El atacante lo lee como pista: lo que el equipo no ha abordado sigue abierto. La ola 2 llega antes del segundo comunicado.
El hueco entre 'la web está offline' y 'la función está desactivada' mide exactamente lo que mide un segundo exploit.
Kill Chain Técnica: Un Día, Dos Olas
Reconstruido del propio disclosure de Solido Money y del análisis independiente on-chain:
T-0: Ola 1 — Una Transacción Atómica
El atacante deposita colateral sobrevalorado en la bóveda de Solido. El oráculo devuelve el precio manipulado. La función de mint autoriza 809.052 $CASH. Convierte inmediatamente el $CASH en $SUPRA y sale — todo en una transacción, un bloque, sin ventana MEV para que nadie reaccione.
La ejecución atómica no es sofisticada. Es lo que pasa cuando no dejas al atacante ningún estado que explicarle a un router.
T+minutos: Cae La UI
El equipo detecta el drenaje — probablemente por un ping en Discord, quizá por una alerta de tesorería. Tiran el front-end. Publican un comunicado corto. Dicen a los usuarios que el protocolo está 'pausado de forma segura.' La función de mint del smart contract sigue siendo llamable.
'Pausado de forma segura' en la capa UI equivale a 'abierto y sin vigilancia' en la capa contrato.
T+horas: Ola 2 — Cinco Wallets, Mismo Truco
El atacante (o un copycat leyendo el post-mortem on-chain) repite la ruta de mint manualmente en cinco wallets, saltándose la web offline por completo. Cada wallet interactúa directamente con el contrato vulnerable vía RPC. Más $CASH minteado. Más conversión a $SUPRA. Misma puerta.
Olas así son la razón por la que 'hemos desactivado la app' no pasa el olfato como fix.
T+más tarde: El Fix Real
El equipo despliega un cambio a nivel de contrato que desactiva permanentemente la ruta de mint explotada. La arquitectura del oráculo se reconstruye en paralelo. Este es el único paso que importó. Todo lo anterior fue relaciones públicas.
La única remediación que sobrevive al contacto con un atacante decidido cambia el contrato, no el marketing.
Dos olas. Un contrato. Cero remediación on-chain hasta que la ola 3 ya estaba puesta en precio.
La Cinta Del Oráculo: El Momento En Que El Espejo Se Rompió
Reconstrucción simplificada del feed de precios de $CASH tal como lo leyó el protocolo. No hay magia aquí: sólo un número mal configurado y un contrato demasiado educado para discutir.
* Precio congelado por configuración, no por mercado. Cifras redondeadas con fines ilustrativos.
Un oráculo no miente. Repite exactamente lo que le enseñaste, incluso cuando el mundo ya cambió de opinión.
La Prueba Del Autlier
El estándar existía. Comparado con protocolos de stablecoin comparables, Solido no fue innovador — fue el único fuera de la curva.
| Control | Práctica habitual | Solido |
|---|---|---|
| Fuentes de precio | Varias, con mediana | Una sola |
| Ventana temporal | TWAP de minutos | Precio spot instantáneo |
| Límite de desviación | Pausa si el salto supera el umbral | Sin freno |
No fue un fallo desconocido. Fue una lista de deberes que todos hicieron menos uno.
Por Qué Los LPs Vuelven A Depositar
Solido relanzará la función afectada. Cuando lo haga, la mayoría de las mismas wallets volverá a depositar. Aquí el porqué del patrón.
Yield Del Ecosistema
Un ecosistema joven necesita liquidez en stablecoin. Emisiones e incentivos se disparan. Un protocolo relanzado suele ser el APR más alto del vecindario — y el mercado olvida un bug de oráculo en seis semanas.
'Ya Los Han Endurecido'
Hay una creencia popular de que un protocolo que sobrevivió a un exploit es más seguro por ello. La verdad es la contraria: es un protocolo que ha demostrado que arreglará un síntoma bajo presión y dejará entrar a los usuarios antes de reauditar el modelo de confianza.
FOMO Cross-Chain
Los L1 nuevos premian con mindshare desproporcionado al primer mercado de lending serio. Los depositantes leen 'primero en relanzar' como 'primero en componer.' Suele ser 'primero en financiar la siguiente auditoría.'
Vouches Del Ecosistema
Un tuit de un partner con marca Supra o un co-sign de launchpad se lee como due diligence. Es marketing. No es un threat model.
Los protocolos de manipulación de oráculo no sobreviven por la estupidez del usuario. Sobreviven por la esperanza del usuario — y la esperanza es el único activo en DeFi con suministro ilimitado.
Cómo No Financiar El Próximo Ataque De Oráculo
Seis reglas para la próxima vez que un protocolo de lending en una cadena nueva vuelva a abrir la función de mint:
- Regla 1: Lee primero la sección de oráculo de los docs Si los docs no nombran el feed exacto, cuántas fuentes usa, la ventana TWAP y el cap de desviación, asume que no existen.
- Regla 2: Si el fix fue 'tiramos la web,' no fue un fix Solo un cambio a nivel de contrato — una función desactivada de forma permanente, un nuevo módulo de oráculo detrás de time-lock — cuenta como remediación. El resto es gestión de uptime.
- Regla 3: Mira la liquidez del colateral, no del token Da igual que $SUPRA tenga $100M de profundidad si el colateral que depositas cotiza en un pool con $200k. El atacante solo necesita mover el espejo.
- Regla 4: Trata 'la función volverá pronto' como aviso Un relanzamiento en menos de cuatro semanas significa que el módulo de oráculo fue parcheado, no rearquitecturado. Salta la primera cohorte.
- Regla 5: Vigila la ola 2 antes de reentrar Si el mismo exploit corrió dos veces en un día, asume que el fix a nivel de contrato tardó más de un día. Espera hasta que el post-mortem incluya la frase 'desactivada permanentemente' — literal.
- Regla 6: Dimensiona para la ronda que no ves venir Si tienes que volver, dimensiona la posición para la pérdida que aceptarías en una ola 3 de la que no te avisaron. Porque en protocolos con bug de oráculo, la ola 3 es donde el dinero retail se va en silencio.
¿Recibiste un Mensaje Sospechoso?
Usa nuestro detector con IA para analizar posibles estafas al instante.
Key Takeaways
- 1Los contratos de Solido Money no fueron hackeados en sentido de código — el oráculo que le decía a la función de mint 'este colateral vale X' fue manipulado, y 809.052 $CASH fueron minteados y convertidos a $SUPRA en una sola transacción atómica.
- 2Tirar el front-end no detuvo el exploit. Horas después, la misma técnica se ejecutó manualmente en cinco wallets, porque la ruta de mint del smart contract seguía abierta.
- 3La única remediación que funcionó fue un cambio a nivel de contrato — desactivar permanentemente la función de mint explotada. Todo lo anterior fue gestión de comunidad.
- 4Un protocolo de stablecoin/lending es tan seguro como su feed de precio. Sin TWAP, sin cap de desviación y sin circuit breaker no hay defensa real contra la manipulación de oráculo.
- 5La respuesta 'hemos pausado la app' es un indicador adelantado de que el equipo está optimizando el comunicado, no la seguridad. Espera la frase 'desactivada permanentemente.'
- 6Si la función se relanza, espera a que salga una auditoría fresca del módulo de oráculo — no de la función de mint. Y dimensiona la posición para una ola de la que no te avisaron.
El contrato no estaba equivocado.
Simplemente creyó el número equivocado.
Preguntas Frecuentes
Fuentes y Citas
Investigación compilada de datos de blockchain disponibles públicamente, informes de seguridad y documentación de la comunidad.
solido.money
slowmist.com
peckshield.com
suprascan.io
Verificación: Todas las transacciones y direcciones de blockchain referenciadas en este artículo pueden verificarse de forma independiente a través de los exploradores de blockchain enlazados. Animamos a los lectores a realizar su propia verificación.
Metodología: Cada caso requiere al menos tres fuentes independientes más evidencia on-chain verificable antes de publicarse. Estándares completos: /es/methodology
Aviso legal: Esta evaluación se basa en datos disponibles públicamente, incluidos registros on-chain, comunicados oficiales e incidentes documentados. Es un análisis periodístico y educativo, no asesoramiento legal, una acusación de conducta delictiva ni una resolución judicial. Las empresas, proyectos, dominios, carteras y personas nombradas se describen según las fuentes citadas; una empresa puede aparecer porque fue suplantada por estafadores, no porque hiciera algo indebido. Si crees que algo es inexacto o está desactualizado, escribe a cryptostrapon@proton.me y lo corregiremos registrando el cambio. Política editorial