Le protocole de prêt DeFi Scallop sur la blockchain Sui a publié, via son compte X officiel (@Scallop_io), une notification d’incident de sécurité, confirmant que la plateforme a été attaquée. Scallop indique que l’équipe a trouvé qu’un contrat secondaire (side contract) lié au pool de récompenses sSUI spool avait été exploité, entraînant une perte d’environ 150 000 jetons SUI. Scallop souligne que le contrat concerné a été gelé, que le contrat principal reste sûr, et que seul le pool de récompenses sSUI a été affecté.
Dans une mise à jour ultérieure, Scallop a précisé : « Le contrat principal a été dégelé, et toutes les opérations ont repris. Ce problème n’a rien à voir avec le protocole central : il ne concerne que un contrat de récompenses abandonné. Les dépôts des utilisateurs ne sont pas affectés, tous les fonds sont en sécurité, et les fonctions de dépôt et de retrait ont repris un fonctionnement normal. » L’équipe s’engage à partager davantage de détails et à continuer de surveiller et de renforcer la sécurité du protocole.
Ancien membre du cœur de NEAR Vadim : le problème vient d’un ancien package datant de 17 mois
Concernant cet incident, l’ex-développeur principal NEAR Vadim (@zacodil) a publié sur X une analyse technique approfondie, révélant les détails de la faille. Vadim indique que les attaquants savent exactement quel package abandonné il faut appeler. « Ce n’est pas le code actuellement en cours d’exécution, ni le chemin du SDK, mais une ancienne version V2 de novembre 2023, inutilisée depuis des mois. Soit il s’agit d’une ingénierie inverse poussée, soit quelqu’un savait déjà où chercher. Cette faille est en sommeil depuis 17 mois.
Vadim explique que spool suit un index qui augmente au fur et à mesure de l’attribution des récompenses. Lors du dépôt, chaque compte utilisateur devait normalement enregistrer le last_index à ce moment-là, de sorte que la formule de calcul des points gagnés soit : quantité mise en gage × (current_index − last_index). Les utilisateurs ne peuvent alors gagner des récompenses qu’à partir du moment où ils ont rejoint.
Cependant, dans le package V2 abandonné, lors de la création d’un tout nouveau spool_account, last_index n’est pas initialisé et reste à 0. Par conséquent, lorsque update_points s’exécute, le résultat devient : points = quantité mise en gage × (current_index − 0) = quantité mise en gage × index historique complet. Les utilisateurs se voient créditer toutes les récompenses accumulées depuis la création du spool en août 2023.
Vadim fournit des données précises : l’index de spool a atteint 1,19 milliard en 20 mois. L’attaquant a mis en gage 136 000 sSUI et a instantanément obtenu une inscription de 162 000 milliards de points. Comme le pool de récompenses utilise un taux d’échange 1:1 (numérateur et dénominateur sont tous deux 1), ces 162 000 milliards de points se convertissent directement en des récompenses d’une valeur de 162 000 jetons SUI. Mais le pool de récompenses ne contenait que 150 000 jetons SUI, si bien qu’il a été entièrement vidé.
Tous les incidents de sécurité on-chain du mois d’avril sont survenus dans des systèmes périphériques
Vadim explique que les utilisateurs normaux utilisent le nouveau package via le SDK, et que le nouveau package a corrigé le problème de synchronisation du last_index. Le fait que l’ancien package V2 reste sur la chaîne s’explique par l’immutabilité des packages Sui : une fois publiés, chaque ancienne version peut être appelée indéfiniment. Les objets partagés Spool et RewardsPool acceptent des appels provenant de n’importe quelle version ; l’attaquant contourne le SDK et touche directement le chemin de code de l’ancienne version.
Vadim classe cela comme un « type de vulnérabilité de package périmé sur Sui ». Il indique que la bonne manière de corriger consiste à ajouter un champ de version sur les objets partagés et à inclure un contrôle assert!(version == CURRENT_VERSION) dans chaque fonction. Sans ce mécanisme, chaque ancienne version de package publiée restera à jamais une surface d’attaque vivante.
Vadim souligne en outre que la majorité des incidents d’attaque de ce mois-ci ne se sont pas produits dans le code du protocole central, mais dans les systèmes périphériques :
KelpDAO : infrastructure RPC
Litecoin : couche de confidentialité MWEB
Aethir : contrôle d’accès du connecteur périphérique
Scallop : l’ancien package oublié
Cet article sur le piratage du protocole DeFi de prêt sur la chaîne Sui Scallop, dont une faille de contrat ancienne version a entraîné le vol de 150 000 SUI, est le premier à apparaître dans Chaîne News ABMedia.
Related News
Aave, DeFi United publie le plan de récupération rsETH après l’exploitation du 18 avril
Sauvetage suite à une faille de Kelp DAO : Mantle émet une représentation Aave de 30 000 ETH, l’alliance DeFi s’engage à plus de 43 500 ETH
Proposition du CoW DAO pour indemniser les victimes d’un piratage du domaine cow.fi, jusqu’à 100 % de remboursement des pertes
EtherFi propose l’injection de 5000 ETH dans le pool de secours rsETH pour empêcher la propagation des créances douteuses dans l’écosystème DeFi
Ether.fi lance un canal de sortie pour aWETH, les sorties de fonds d'Aave dépassent 16,2 milliards de dollars