🧵1/ ⚠️ Analyse de l'Exploitation : Perte de 80M$ dans l'Attaque de Resolv Labs Plus tôt dans la journée, @ResolvLabs a été exploité en raison d'un échec de son mécanisme de validation des paramètres centralisés. Avec seulement ~200K$ en capital, l'attaquant a minté 50M et 30M USR en utilisant 100K$ USDC chacun, entraînant une perte totale d'environ 80M$. Suite à l'incident, le stablecoin $USR a brièvement perdu son ancrage à 0,051$.
🧵2/ Mécanisme d'attaque La fonction completeSwap dans le contrat #TheCounter de Resolv Labs permet de déterminer le montant de $USR émis via le paramètre _targetAmount.
🧵3/ La fonction completeSwap vérifie que l'adresse de l'appelant (msg.sender) doit détenir le SERVICE_ROLE. Cela signifie qu'après qu'un utilisateur soumette une transaction d'échange, l'équipe du projet doit effectuer une validation centralisée des paramètres tels que _targetAmount, et ce n'est qu'après avoir confirmé la justesse qu'elle appellera cette fonction pour finaliser la transaction. Sur la base des deux transactions d'attaque, 100K $ USDC correspondaient à des valeurs _targetAmount de 50M et 30M USR, respectivement. Il est évident que le mécanisme de validation _targetAmount du projet a échoué. Étant donné que la validation _targetAmount est centralisée et non open-source, la cause profonde ne peut pas être déterminée à ce stade. Des possibilités telles qu'une implication interne, un compromis du système centralisé ou une fuite de la clé privée SERVICE_ROLE ne peuvent pas être exclues.
2/ Mécanisme d'attaque La fonction completeSwap dans le contrat #TheCounter de Resolv Labs permet de déterminer le montant de $USR émis via le paramètre _targetAmount.
2,53K