Le réseau Jarvis a subi une attaque de réentrance par prêts flash, entraînant une perte de 660 000 jetons MATIC.

robot
Création du résumé en cours

Analyse de l'attaque de réentrance par Prêts Flash sur le projet Jarvis Network

Récemment, une attaque contre le projet Jarvis Network a attiré l’attention de l’industrie. Selon la surveillance des données on-chain, l’attaque s’est produite le 15 janvier 2023, entraînant une perte de 663 101 jetons MATIC pour le projet.

Analyse de l'incident d'attaque par réinjection des Prêts Flash de Jarvis Network

En analysant la pile d'appels des transactions d'attaque, nous avons découvert que l'attaquant a utilisé une combinaison de Prêts Flash et de vulnérabilités de réentrance. Lors du retrait de liquidités, l'attaquant a réussi à exécuter une attaque par réentrance, entraînant des valeurs complètement différentes retournées par la même fonction avant et après la réentrance.

! Analyse de l’incident d’attaque de réentrée de prêt Flash Jarvis Network

En creusant plus profondément, il s’avère que le problème réside dans la fonction remove_liquidity. Cette fonction est responsable de la suppression de la liquidité et du retour des jetons de l’utilisateur. Étant donné que la chaîne Polygon est compatible EVM, la logique de ré-entrée du contrat est déclenchée pendant le processus de transfert.

Analyse de l'incident d'attaque par réentrance sur les Prêts Flash de Jarvis Network

La vulnérabilité clé réside dans la variable self.D utilisée pour le calcul des prix. Normalement, self.D devrait être mis à jour en temps opportun lors du retrait de liquidités. Cependant, en raison d'un défaut de logique dans le code, la mise à jour de self.D a été retardée jusqu'après l'appel externe. Cela a donné aux attaquants l'opportunité d'insérer des opérations au milieu, en profitant de la valeur non mise à jour de self.D pour effectuer des arbitrages.

Analyse de l'incident d'attaque par réentrance des Prêts Flash de Jarvis Network

Bien que la fonction remove_liquidity utilise le décorateur @nonreentrant('lock') pour prévenir les réentrées, des attaquants ont habilement contourné ce mécanisme de protection. Ils ont contourné la restriction du verrou de réentrées en réentrant dans les fonctionnalités de prêt d'autres contrats, plutôt que de réentraîner directement la fonction remove_liquidity elle-même.

! Analyse de l’incident d’attaque de réentrée de prêt Flash Jarvis Network

L’attaque met en évidence l’importance de plusieurs principes de sécurité clés dans le développement de contrats intelligents :

  1. Suivez strictement le modèle Vérifications-Effets-Interactions.
  2. Assurez-vous que la mise à jour des variables clés est effectuée avant tout appel externe.
  3. Utiliser plusieurs sources de données pour obtenir les prix, afin d'améliorer la robustesse du système.
  4. Un audit de sécurité complet est essentiel pour trouver et corriger les vulnérabilités potentielles.

Analyse de l'événement d'attaque par réinjection de Prêts Flash de Jarvis Network

Cet incident est un autre rappel que la sécurité est toujours une priorité absolue dans l’écosystème blockchain en pleine croissance. L’équipe de développement du projet doit surveiller en permanence les dernières pratiques de sécurité et effectuer régulièrement des revues de code et des tests de vulnérabilité pour garantir la sécurité des actifs des utilisateurs.

! Analyse de l’incident d’attaque de réentrée de prêt Flash Jarvis Network

Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • 7
  • Partager
Commentaire
0/400
MidnightSnapHuntervip
· 07-18 10:01
Les bogues de contrat sont vraiment difficiles à éviter.
Voir l'originalRépondre0
StablecoinEnjoyervip
· 07-17 23:27
Un autre projet a été piraté.
Voir l'originalRépondre0
OnChainSleuthvip
· 07-17 00:48
Un autre projet a été complètement siphonné.
Voir l'originalRépondre0
shadowy_supercodervip
· 07-17 00:40
Tsk, encore une attaque par réentrance, on n'apprend vraiment pas.
Voir l'originalRépondre0
DeFi_Dad_Jokesvip
· 07-17 00:37
Un autre projet a explosé~
Voir l'originalRépondre0
DecentralizeMevip
· 07-17 00:30
Encore une fois, nous avons été envahis.
Voir l'originalRépondre0
0xSherlockvip
· 07-17 00:24
Hé, encore une fois on se fait prendre pour des cons.
Voir l'originalRépondre0
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)