Analyse de l'incident d'attaque par Prêts Flash sur Cellframe Network
Le 1er juin 2023 à 10h07m55s (UTC+8), le Cellframe Network a été attaqué par des hackers sur une certaine chaîne intelligente en raison d'un problème de calcul du nombre de tokens lors du processus de migration de liquidité. Cette attaque a permis aux hackers de réaliser un bénéfice d'environ 76 112 dollars.
Causes fondamentales de l'attaque
Le problème de calcul lors du processus de migration de liquidité est la principale raison de cette attaque.
Détails du processus d'attaque
L'attaquant commence par obtenir 1000 jetons natifs d'une certaine chaîne et 500 000 jetons New Cell via des Prêts Flash. Ensuite, tous les jetons New Cell sont échangés contre des jetons natifs, ce qui fait que le nombre de jetons natifs dans la piscine de liquidités approche de zéro. Enfin, l'attaquant échange 900 jetons natifs contre des jetons Old Cell.
Il convient de noter que l'attaquant a préalablement ajouté de la liquidité pour Old Cell et le jeton natif avant de lancer l'attaque, obtenant ainsi des jetons lp Old.
Ensuite, l'attaquant a appelé la fonction de migration de liquidité. À ce moment-là, il y avait presque aucun jeton natif dans le nouveau pool, et presque aucun jeton Old Cell dans l'ancien pool. Le processus de migration comprend les étapes suivantes :
Retirer la liquidité ancienne et restituer le nombre correspondant de jetons aux utilisateurs
Ajouter de nouvelles liquidités selon le ratio des nouveaux pools
En raison de l'absence presque totale de jetons Old Cell dans l'ancienne piscine, le nombre de jetons natifs obtenus lors du retrait de liquidité augmente, tandis que le nombre de jetons Old Cell diminue. Cela conduit les utilisateurs à n'avoir besoin d'ajouter qu'une petite quantité de jetons natifs et de jetons New Cell pour obtenir de la liquidité, tandis que les jetons natifs et les jetons Old Cell excédentaires sont retournés aux utilisateurs.
Enfin, l'attaquant retire la liquidité du nouveau pool et échange les jetons Old Cell retournés par la migration contre des jetons natifs. À ce moment-là, le vieux pool contient une grande quantité de jetons Old Cell mais presque pas de jetons natifs, l'attaquant échange à nouveau les jetons Old Cell contre des jetons natifs, complétant ainsi son profit. Ensuite, l'attaquant répète l'opération de migration.
Conseils de sécurité
Lors de la migration de liquidité, il convient de prendre en compte l'évolution des quantités des deux types de jetons dans les anciennes et nouvelles pools ainsi que les prix actuels des jetons. Se fier uniquement aux quantités des deux types de jetons dans la paire de trading peut facilement être manipulé.
Avant le déploiement du code, il est impératif de réaliser un audit de sécurité complet et approfondi afin d'identifier et de corriger les vulnérabilités potentielles.
Cet événement souligne à nouveau l'importance de la sécurité et de la qualité du code dans le domaine de la finance décentralisée (DeFi). Les équipes de projet doivent rester vigilantes et améliorer continuellement les mesures de sécurité pour protéger les actifs des utilisateurs et maintenir la saine évolution de l'écosystème.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Cellframe Network a subi une attaque par Prêts Flash, entraînant une perte de 76 000 $.
Analyse de l'incident d'attaque par Prêts Flash sur Cellframe Network
Le 1er juin 2023 à 10h07m55s (UTC+8), le Cellframe Network a été attaqué par des hackers sur une certaine chaîne intelligente en raison d'un problème de calcul du nombre de tokens lors du processus de migration de liquidité. Cette attaque a permis aux hackers de réaliser un bénéfice d'environ 76 112 dollars.
Causes fondamentales de l'attaque
Le problème de calcul lors du processus de migration de liquidité est la principale raison de cette attaque.
Détails du processus d'attaque
L'attaquant commence par obtenir 1000 jetons natifs d'une certaine chaîne et 500 000 jetons New Cell via des Prêts Flash. Ensuite, tous les jetons New Cell sont échangés contre des jetons natifs, ce qui fait que le nombre de jetons natifs dans la piscine de liquidités approche de zéro. Enfin, l'attaquant échange 900 jetons natifs contre des jetons Old Cell.
Il convient de noter que l'attaquant a préalablement ajouté de la liquidité pour Old Cell et le jeton natif avant de lancer l'attaque, obtenant ainsi des jetons lp Old.
Ensuite, l'attaquant a appelé la fonction de migration de liquidité. À ce moment-là, il y avait presque aucun jeton natif dans le nouveau pool, et presque aucun jeton Old Cell dans l'ancien pool. Le processus de migration comprend les étapes suivantes :
En raison de l'absence presque totale de jetons Old Cell dans l'ancienne piscine, le nombre de jetons natifs obtenus lors du retrait de liquidité augmente, tandis que le nombre de jetons Old Cell diminue. Cela conduit les utilisateurs à n'avoir besoin d'ajouter qu'une petite quantité de jetons natifs et de jetons New Cell pour obtenir de la liquidité, tandis que les jetons natifs et les jetons Old Cell excédentaires sont retournés aux utilisateurs.
Conseils de sécurité
Lors de la migration de liquidité, il convient de prendre en compte l'évolution des quantités des deux types de jetons dans les anciennes et nouvelles pools ainsi que les prix actuels des jetons. Se fier uniquement aux quantités des deux types de jetons dans la paire de trading peut facilement être manipulé.
Avant le déploiement du code, il est impératif de réaliser un audit de sécurité complet et approfondi afin d'identifier et de corriger les vulnérabilités potentielles.
Cet événement souligne à nouveau l'importance de la sécurité et de la qualité du code dans le domaine de la finance décentralisée (DeFi). Les équipes de projet doivent rester vigilantes et améliorer continuellement les mesures de sécurité pour protéger les actifs des utilisateurs et maintenir la saine évolution de l'écosystème.