Les défauts de gouvernance de X100 entraînent une perte de 6 millions de dollars en raison d'un prêt flash

By: cryptoslate.com|28/10/2026 02:10:15

Un attaquant a réussi à acquérir deux sièges de gouvernance sur X100, un projet de jeton avec un trésor gouverné par un Sénat, et a approuvé une transaction de trésorerie tout en remboursant un prêt flash dans une seule transaction blockchain le 24 octobre.

Chez Arkadiko, un protocole de prêt où les utilisateurs empruntent contre des garanties de coffre-fort, un vote d'environ cinq jours s'est terminé deux jours plus tôt, donnant à un contrat malveillant l'autorité sur les actifs du coffre-fort. Des personnes ont acheté des jetons de vote peu avant le vote décisif, et la proposition a pris effet lorsque le scrutin s'est clôturé.

Les incidents révèlent différentes lacunes entre l'engagement financier, la qualification pour voter et l'exécution d'une action approuvée. Les jetons X100 devraient être verrouillés pendant un an, donc un verrouillage prolongé des jetons peut imposer un coût sans retarder l'autorité.

Pendant ce temps, un scrutin long peut fournir un préavis tout en admettant encore des achats tardifs. Aucun des deux ne crée automatiquement du temps pour répondre après qu'une décision soit exécutable.

Le stake verrouillé de X100 a acheté une autorité immédiate

Le contrat Freezer de X100 détient des jetons X gelés et fournit le stake utilisé pour classer les candidats pour son Sénat. Ses conditions de verrouillage s'étendent sur un, trois ou cinq ans, mais l'éligibilité au Sénat utilise le montant actuellement gelé, sans exigence d'âge minimum du stake.

Lors de la première attaque du 24 octobre, deux contrats auxiliaires ont chacun gelé 19 000,000001 X sous le terme d'un an. Ils se sont enregistrés, ont intégré le classement et ont fourni les deux votes de soutien qui ont exécuté la proposition 7. Ils ont complété le stake, les votes et l'exécution en une seule transaction.

La date limite de gouvernance n'offrait aucune période d'attente obligatoire. Tant qu'une proposition restait ouverte, une majorité des sièges de Sénat actuellement classés pouvait autoriser l'exécution. Détenir deux des trois sièges a donné aux auxiliaires suffisamment de pouvoir pour agir immédiatement.

L'échange approuvé a envoyé 400 000 X de la trésorerie dans un pool créé par l'attaquant. Le Freezer n'a reçu que 35,675313 USDT, et l'attaquant a ensuite extrait des jetons de ce pool et vendu X pour obtenir l'argent utilisé pour le remboursement.

Le stake est resté gelé tandis que l'argent provenant de l'extraction de la trésorerie et de la vente de jetons a financé le remboursement, donc l'attaquant n'a pas eu besoin de récupérer d'abord le stake acheté.

L'attaque a emprunté environ 1,94 million USDT et a remboursé le principal plus sa prime. Après le remboursement, environ 4,75 millions USDT ont atteint le premier bénéficiaire final.

Le contributeur de ChainBounty, Philippark, a réconcilié 4,848 millions USDT versés à trois bénéficiaires sélectionnés. Ce sous-total exclut les X non vendus et sa valeur changeante, mesurant les paiements sélectionnés.

Le Freezer a également conservé une contrainte significative : après l'exécution, son solde X devait couvrir le montant total que les utilisateurs avaient gelé. Protéger cette quantité de capital verrouillé n'a pas protégé la liquidité du pool externe ni la valeur marchande du jeton.

Le scrutin d'Arkadiko a admis de l'argent tardif

La proposition 12 d'Arkadiko a été soumise à 20h35 UTC le 17 octobre et exécutée à 16h04 UTC le 22 octobre. Son contrat de gouvernance a donné à un proposeur extérieur un intervalle de vote de 720 blocs Bitcoin, communément décrit comme cinq jours.

Les règles exigeaient 0,25 % de l'offre DIKO éligible pour proposer, 5 % de participation pour atteindre le quorum, et plus de votes oui que non. Le calcul de l'offre a soustrait les DIKO détenus dans le contrat d'allocation initiale.

Ces seuils et règles de vote n'exigeaient pas que les propriétaires de jetons aient détenu des jetons avant la proposition. Le portefeuille proposeur a effectué un échange à 15h03:46 UTC le 22 octobre et a voté à 15h06:47. Il a engagé environ 4,573 millions DIKO. La proposition s'est clôturée avec le même total de votes oui et zéro vote non.

Bitquery estime les achats de jetons de vote à environ 51 000 $. Son traçage indique également que 77 % des STX envoyés vers le portefeuille de vote provenaient de la collecte StackSwap précédente.

L'attaquant a engagé des fonds à travers plusieurs transactions et dates, donc le cas d'Arkadiko diffère matériellement de l'emprunt et du remboursement en une seule transaction de X100. L'achat tardif était clé car il est devenu un pouvoir de vote utilisable pendant un scrutin déjà ouvert.

Lorsque le scrutin s'est terminé, le changement a été exécuté. Il n'y avait pas de période d'attente distincte entre cette décision et le contrat recevant son autorité.

Le contrat malveillant approuvé manquait d'autorisation d'appel dans ses fonctions de retrait et de frappe de l'USDA. La proposition 12 l'a enregistré comme le contrat d'opérations de coffre avec permission de frappe. Des appels réussis ont retiré des sBTC à 16h06 UTC et des stSTX à 16h09, quelques minutes après l'activation.

Bitquery estime la perte d'Arkadiko à environ 1,09 million de dollars : environ 780 000 dollars de stSTX, 135 000 dollars de sBTC et 173 000 dollars de STX obtenus en vendant de l'USDA non garanti. L'attaquant d'X100 a agi dans une seule transaction malgré un verrouillage de jeton d'un an, tandis qu'Arkadiko a exécuté après le vote sans délai séparé.

Dans son fil de réponse du 22 octobre, Arkadiko a déclaré avoir désactivé le contrat malveillant et suspendu la gouvernance, les rachats de coffre et les liquidations. Il a déclaré que les coffres stSTX et sBTC affectés ne pouvaient pas être modifiés car leur garantie n'était pas disponible.

À 07h57 UTC le 27 octobre, la proposition 14, "AIP 32.2 -- Restaurer les opérations de coffre," a été exécutée, définissant l'entrée des opérations de coffre au contrat légitime v1-3 d'Arkadiko.

Une fenêtre de sortie nécessite une sortie

Exiger un ancien stake ou utiliser le pouvoir de vote d'un instantané antérieur aurait pu empêcher les nouveaux jetons acquis de se qualifier immédiatement, tandis qu'un délai d'exécution aurait séparé l'approbation du mouvement d'actifs.

Si chaque action pertinente devait passer par ce délai, la séquence exacte d'X100 n'aurait pas pu se financer et rembourser son prêt en une seule transaction.

Un attaquant utilisant un capital à plus long terme pourrait attendre, mais les limites sur ce que les contrats approuvés peuvent faire restent une question distincte.

La documentation de gouvernance d'OpenZeppelin décrit le pouvoir de vote historique et les délais d'exécution comme des mécanismes distincts.

Appliquer cette distinction à ces incidents rend le test une question de savoir quand le capital nouvellement acquis obtient l'autorité, ce que cette autorité peut déplacer, et combien de temps utilisable reste avant l'exécution.

Le X d'X100 gelé ne pouvait normalement pas être dégelé avant l'expiration de son verrouillage, donc un délai d'exécution n'effacerait pas cette restriction de retrait.

La fonction légitime de fermeture de coffre d'Arkadiko fournit une sortie conditionnelle : un propriétaire actif rembourse la dette, paie des frais de stabilité et retire la garantie lorsque les opérations sont activées. Cela nécessite les fonds nécessaires et la garantie disponible.

La fenêtre de proposition d'environ cinq jours a offert un préavis d'un changement proposé. Le vote final est arrivé beaucoup plus tard, et la clôture a immédiatement activé le contrat. Traiter l'ensemble du scrutin comme une fenêtre de retrait garantie post-approbation obscurcirait le moment où le danger est devenu exécutable.

Prix de --

--
--
--

Ce contenu est fourni à titre informatif uniquement et ne constitue pas un conseil financier, d'investissement, juridique ou fiscal. Les événements, récompenses, promotions en ligne ou informations mentionnées ici ne doivent pas être considérés comme une recommandation, une sollicitation ou une invitation à acheter, vendre, trader ou effectuer toute autre opération sur des actifs crypto. Les actifs crypto sont très volatils et peuvent entraîner des pertes. La disponibilité des services, produits et événements liés à WEEX peut varier selon les régions. Veuillez vous assurer que votre participation respecte les lois et réglementations locales applicables.

Vous pourriez aussi aimer

iconiconiconiconiconiconiconicon
Assistance client:@weikecs
Collaborations commerciales:@weikecs
Trading quantitatif/Market makers:[email protected]
Programme VIP:[email protected]