Back to Blog

Incidente del Protocolo Drift: Compromiso de Gobernanza Multisig mediante Explotación de Nonce Duradero

Code Auditing
April 3, 2026
10 min read
Key Insights

El 1 de abril de 2026 (UTC), Drift Protocol en Solana fue comprometido mediante un ataque coordinado que combinó la manipulación de aprobaciones multisig y la explotación de nonces duraderos, un mecanismo de transacciones de Solana que permitía que las aprobaciones pre-firmadas permanecieran válidas indefinidamente, lo que resultó en una pérdida estimada de aproximadamente $285,3 millones [1, 2]. Tras semanas de preparación on-chain, el atacante indujo a dos de los cinco firmantes del Consejo de Seguridad multisig a pre-firmar transacciones de gobernanza maliciosas mediante phishing o solicitudes de firma engañosas. Las instrucciones firmadas fueron retenidas hasta el momento elegido por el atacante, y luego ejecutadas en dos transacciones rápidas para completar la toma de control administrativo y transferir el control administrativo. Con privilegios de administrador completos, el atacante introdujo un activo de garantía malicioso (CVT), infló su precio de oráculo, relajó las protecciones de retiro y drenó activos de alto valor a través de las rutas de préstamo del protocolo.

En el momento de redactar este artículo, Drift ha publicado una declaración inicial [1] pero aún no ha publicado un post-mortem completo. El análisis que sigue se basa en datos on-chain disponibles públicamente, la cronología oficial de Drift e investigación independiente [2]. Primero examinamos cómo los nonces duraderos alteran fundamentalmente los supuestos de seguridad de la gobernanza multisig, luego reconstruimos la preparación del ataque durante varias semanas, la ejecución de la toma de control de gobernanza y el proceso de extracción de fondos, y concluimos con las lecciones aprendidas para mitigar esta clase de riesgo.

El Mejor Auditor de Seguridad para Web3

Valida el diseño, el código y la lógica de negocio antes del lanzamiento

Contexto

Drift Protocol y Squads Multisig

Drift Protocol es un protocolo DeFi en Solana que admite trading con margen, préstamos, mercados spot y derivados. Sus operaciones de alto privilegio, incluidos cambios de administrador, creación de mercados, configuración de oráculos, actualizaciones de parámetros de riesgo y ajustes de límites de retiro, están gobernadas por un multisig en lugar de una única clave privada.

Drift utiliza el framework multisig de Squads, un sistema de gobernanza on-chain común en Solana. En Squads, las acciones privilegiadas se empaquetan como transacciones bajo una propuesta. Una vez que suficientes miembros aprueban la propuesta, las instrucciones almacenadas pueden ejecutarse atómicamente a través de vaultTransactionExecute. En el momento del ataque, el Consejo de Seguridad de Drift operaba bajo una configuración de umbral 2 de 5 con timelock cero, lo que significaba que cualquiera de los dos de cinco firmantes podía autorizar acciones administrativas con efecto inmediato. La seguridad de este sistema depende no solo de la custodia de claves de los firmantes, sino también de la integridad del flujo de aprobación completo: qué transacción fue creada, qué creían los firmantes que estaban aprobando y si las instrucciones ejecutadas finalmente coincidían con ese contexto de revisión.

Cuentas de Nonce Duradero

Las cuentas de nonce duradero introducen una dimensión temporal crítica en la ejecución de transacciones [3]. En condiciones normales, las transacciones de Solana dependen de un blockhash reciente y expiran rápidamente después de ser firmadas si no se transmiten a tiempo. Los nonces duraderos reemplazan ese blockhash de corta duración con un nonce almacenado en una cuenta dedicada, permitiendo que una transacción firmada permanezca válida indefinidamente hasta que el nonce sea avanzado. Esta característica es útil para casos legítimos como la firma offline o el envío diferido, pero también crea un primitivo de ataque importante: separa cuándo se firma una transacción de cuándo se ejecuta on-chain. De manera crítica, una vez que un firmante aprueba una transacción de nonce duradero, no puede revocar su firma a menos que la autoridad del nonce avance manualmente la cuenta de nonce.

Esta separación tiene un impacto sutil pero fundamental en la seguridad multisig. Bajo transacciones normales basadas en blockhash, la breve ventana de expiración actúa como una capa de seguridad implícita: la autorización de un firmante se ejecuta con prontitud o expira sin consecuencias. Esta restricción temporal significa que incluso si un firmante es engañado para aprobar una transacción maliciosa, el atacante debe transmitirla dentro de una ventana estrecha, limitando el alcance de la explotación coordinada en múltiples pasos. Los nonces duraderos eliminan esta restricción por completo. Con firmas válidas indefinidamente, el costo de un único error de firma cambia fundamentalmente: una aprobación engañada ya no expira en minutos sino que permanece explotable sin límite de tiempo automático, dando al atacante control total sobre el momento de ejecución y la capacidad de coordinar pasos de seguimiento a voluntad.

Análisis del Ataque

El ataque se desarrolló en tres fases distintas. En la fase de Preparación Previa al Ataque, el atacante llevó a cabo una operación de varias semanas para fabricar un activo de garantía falso y obtener acceso a la gobernanza mediante solicitudes de firma engañosas. En la fase de Toma de Control de la Gobernanza, se enviaron dos transacciones de nonce duradero pre-firmadas con cuatro slots de diferencia para tomar el control administrativo. En la fase de Extracción de Fondos, el atacante manipuló los parámetros del protocolo y drenó activos reales a través de las rutas de préstamo del protocolo. El diagrama a continuación ilustra el flujo de ejecución del ataque en tres fases, correspondientes a las subsecciones que siguen. La pista paralela de fabricación de CVT, detallada en la Preparación Previa al Ataque, no se muestra en el diagrama.

Preparación Previa al Ataque

El ataque no fue un golpe oportunista único, sino una operación de varias semanas que ejecutó dos pistas de preparación paralelas. La primera pista se centró en fabricar un activo de garantía plausible. El 11 de marzo, el atacante retiró 10 ETH de Tornado Cash y utilizó los fondos para desplegar CarbonVote Token (CVT), acuñando 750 millones de unidades. Durante las semanas siguientes, el atacante sembró una pequeña cantidad de liquidez en Raydium y utilizó wash trading para construir un historial de precios artificial cercano a $1, dando a CVT una apariencia superficial de legitimidad de mercado [4].

La segunda pista apuntó al acceso a la gobernanza. Según la cronología oficial de Drift [1], el 23 de marzo se crearon cuatro cuentas de nonce duradero: dos vinculadas a miembros del multisig del Consejo de Seguridad de Drift y dos controladas por el atacante. Esto indicó que al menos dos de los cinco firmantes ya habían firmado transacciones vinculadas a cuentas de nonce duradero, dando al atacante el umbral de aprobación requerido de 2 de 5.

El 27 de marzo, Drift ejecutó una migración planificada del Consejo de Seguridad debido a un cambio en los miembros del consejo. Esta migración invalidó las firmas previamente recopiladas bajo la configuración anterior. Sin embargo, para el 30 de marzo, apareció una nueva cuenta de nonce duradero vinculada a un miembro del multisig actualizado, lo que indicaba que el atacante había vuelto a obtener el umbral de aprobación requerido de dos de cinco bajo la nueva configuración.

Esta secuencia revela que el atacante estaba monitoreando activamente los cambios de gobernanza on-chain y adaptándose en tiempo real. En lugar de una única campaña de phishing, la recopilación de firmas fue una operación continua que sobrevivió a una reconfiguración de multisig a mitad de la preparación. La migración en sí misma puede haber ayudado inadvertidamente al atacante: durante las transiciones de gobernanza, es más probable que los firmantes encuentren y aprueben solicitudes de firma administrativas, creando una ventana natural de ingeniería social.

El 1 de abril, el atacante eligió una ventana de ejecución precisa. Drift primero realizó un retiro de prueba legítimo del fondo de seguros. Aproximadamente un minuto después, el atacante envió las transacciones de ataque pre-firmadas. Este momento sugiere que el atacante estaba monitoreando la actividad on-chain en tiempo real y esperó a que una operación legítima exitosa confirmara que el sistema estaba en un estado operativo normal antes de atacar.

Toma de Control de la Gobernanza

Aproximadamente a las 16:05 UTC del 1 de abril, el atacante envió las dos transacciones de nonce duradero pre-firmadas con cuatro slots de diferencia. La primera transacción (2HvMSg...2C4H) creó y aprobó la propuesta de transferencia de administrador maliciosa. La segunda transacción (4BKBmA...RsN1) la aprobó y ejecutó, comenzando con AdvanceNonceAccount para activar el nonce almacenado, luego procediendo a través de proposalApprove y vaultTransactionExecute, invocando en última instancia UpdateAdmin para transferir el control administrativo a una dirección controlada por el atacante.

Este flujo de ejecución destaca una propiedad clave del ataque: la autorización decisiva no ocurrió en el momento de la ejecución, sino en la etapa de firma anterior. Las transacciones on-chain simplemente materializaron permisos que ya habían sido otorgados.

Extracción de Fondos

Después de obtener el control administrativo, el atacante tomó tres pasos preparatorios antes de extraer fondos: crear un mercado de garantía malicioso para CVT, cambiar a un oráculo controlado por el atacante para inflar su precio y relajar las protecciones de retiro para permitir la extracción a gran escala.

El primer paso fue crear un mercado de garantía malicioso para CVT. El problema con este mercado no era solo que fuera nuevo, sino que carecía de liquidez real mientras se le asignaban parámetros de riesgo demasiado permisivos. Un activo sin valor redimible, una vez aceptado como garantía de alto peso dentro del protocolo, puede usarse para crear poder de endeudamiento inexistente.

El segundo paso fue cambiar a un oráculo controlado por el atacante e inflar el precio. Con permisos de administrador, este paso no requería eludir ninguna restricción adicional. Una vez que el oráculo estuvo bajo el control del atacante, el precio en libros de CVT podía inflarse arbitrariamente, haciendo que un activo con casi ningún valor real de mercado pareciera una garantía de alto valor dentro del protocolo.

El tercer paso fue relajar las protecciones de retiro y los interruptores de circuito. Incluso con precios de garantía inflados, los límites de retiro en los mercados de activos principales habrían restringido la extracción a gran escala. Estas salvaguardas debían elevarse o eliminarse antes de que el valor de garantía fabricado pudiera convertirse en activos reales extraíbles.

Una vez completados estos pasos, el atacante depositó una gran cantidad de CVT sobrevalorado en el protocolo, luego ejecutó 31 retiros rápidos en aproximadamente 12 minutos, drenando activos reales que incluían USDC, JLP, SOL, cbBTC, USDT, wETH, dSOL, WBTC, JTO y FARTCOIN. Esto cerró el ciclo de extracción de ganancias: obtener el control de gobernanza, alterar parámetros, empaquetar un activo sin valor como garantía de alto valor y mover fondos a través de las rutas de préstamo y retiro preexistentes del protocolo.

En el momento de redactar este artículo, la pérdida total es de $285.279.417,69, calculada en base a la cuenta de retiro del atacante (HkGz4K...pZES).

Lecciones Aprendidas

  • La seguridad multisig va más allá de la custodia de claves. Proteger las claves privadas y aplicar umbrales de firma es insuficiente. Todo el flujo de autorización, incluida la construcción de transacciones, la visualización y la interpretación del firmante, debe ser de confianza. En este incidente, las claves de los firmantes no fueron comprometidas, pero el proceso de aprobación fue manipulado para autorizar acciones no deseadas.

  • Los timelocks son críticos para las operaciones de alto privilegio. Las acciones administrativas como las transferencias de propiedad no deben ser ejecutables inmediatamente. La configuración de timelock cero de Drift significó que una vez que se activaron las transacciones pre-firmadas, el control administrativo fue transferido y explotado en minutos, sin dejar ninguna oportunidad para la detección o intervención. Un timelock habría creado una ventana de respuesta para identificar y bloquear la transferencia maliciosa.

  • Los mecanismos de ejecución diferida requieren salvaguardas adicionales en contextos de gobernanza. Los nonces duraderos desacoplan la firma de la ejecución, eliminando las garantías temporales implícitas en las que confían los firmantes. En los sistemas de gobernanza, esta clase de mecanismo debe ir acompañado de umbrales de firma más altos, aprobaciones con límite de tiempo o revocables, y restricciones que impidan que las transacciones firmadas permanezcan válidas indefinidamente.

Conclusión

Este incidente no fue causado por una vulnerabilidad en un contrato inteligente ni por el compromiso de claves, sino por una falla en el proceso de autorización multisig combinada con la ejecución diferida basada en nonces duraderos. El atacante recopiló previamente aprobaciones multisig válidas de dos de los cinco firmantes del Consejo de Seguridad mediante firmas engañosas, las preservó utilizando transacciones de nonce duradero y posteriormente las ejecutó para obtener el control administrativo. La extracción de fondos posterior fue una consecuencia directa de la gobernanza comprometida, llevada a cabo a través de operaciones de protocolo que de otro modo serían válidas. Mitigar esta clase de riesgo requiere asegurar el flujo de autorización completo, aplicar timelocks en operaciones de alto privilegio e implementar salvaguardas adicionales para los mecanismos de ejecución diferida. Combinadas con sistemas de monitoreo on-chain capaces de detectar actividad de gobernanza anómala en tiempo real, estas medidas forman un sistema de seguridad integral contra esta clase de ataques a nivel de capa de gobernanza.

Referencias

[1] DriftProtocol, "Declaración oficial": https://x.com/DriftProtocol/status/2039564437795836039

[2] Phalcon (BlockSec), "Análisis del Exploit de Drift Protocol": https://x.com/Phalcon_xyz/status/2039602380074016909

[3] Solana, "Introducción a los Nonces Duraderos": https://solana.com/developers/guides/advanced/introduction-to-durable-nonces

[4] CoinDesk, "Cómo los atacantes de Drift drenaron más de $270 millones usando una función de Solana diseñada para la conveniencia": https://www.coindesk.com/tech/2026/04/02/how-a-solana-feature-designed-for-convenience-let-an-attacker-drain-usd270-million-from-drift


Comienza con Phalcon Security

Detecta cada amenaza, alerta sobre lo que importa y bloquea ataques.

Pruébalo gratis ahora

Acerca de BlockSec

BlockSec es un proveedor integral de seguridad blockchain y cumplimiento de criptomonedas. Desarrollamos productos y servicios que ayudan a los clientes a realizar auditorías de código (incluidos contratos inteligentes, blockchain y billeteras), interceptar ataques en tiempo real, analizar incidentes, rastrear fondos ilícitos y cumplir con las obligaciones AML/CFT, a lo largo del ciclo de vida completo de protocolos y plataformas.

BlockSec ha publicado múltiples artículos de seguridad blockchain en conferencias de prestigio, ha reportado varios ataques de día cero en aplicaciones DeFi, ha bloqueado múltiples hackeos para rescatar más de 20 millones de dólares y ha asegurado miles de millones en criptomonedas.

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit