Les prix des actifs sont temporairement retardésCertains actifs ne reçoivent plus de données de prix à jour. Les mises à jour reprendront automatiquement une fois la connexion de données rétablie.
Bitculator

Bitculator sur Android

Capitalisation boursière:

$1,993,178,180,086

Volume 24h:

$198,583,650,129

juin 23 Liquidations:

$0

24H Long/Court:

Bientôt disponible

Bitculator · Apprendre

Reentrancy Attack

Que signifie Reentrancy Attack dans le langage crypto ?

# 350·Mis à jour juin 2026·3 min de lecture

Une Reentrancy Attack est une faille de sécurité dans les contrats intelligents où un attaquant exploite la vulnérabilité du contrat en l'appelant plusieurs fois avant que l'exécution initiale ne soit terminée.

Qu'est-ce que Reentrancy Attack ?

Une Reentrancy Attack se produit lorsqu'un contrat transfère le contrôle à un autre contrat durant un appel et que ce code externe retourne dans le premier contrat avant qu'il n'ait fini de mettre à jour ses enregistrements. Ce tour de synchronisation permet à l'attaquant de répéter des actions sensibles comme des retraits encore et encore. Imaginez demander un remboursement, puis revenir au comptoir avant que la caisse ne soit verrouillée.


Mythe

« Seul du code ancien peut être touché par une Reentrancy Attack. » Faux. Tout contrat qui effectue un appel externe avant de verrouiller son propre état peut être vulnérable si la logique est négligente.


Comment fonctionne Reentrancy Attack

Bref. Un contrat intelligent typique possède une fonction de retrait qui envoie des fonds à l'appelant. Si elle envoie d'abord les fonds puis efface le solde après, un attaquant peut insérer un rappel et demander plus avant que le solde ne soit remis à zéro.

  1. Début : L'attaquant dépose des fonds pour paraître légitime.
  2. Appel : L'attaquant déclenche la fonction de retrait sur le contrat ciblé.
  3. Fallback : Le contrat cible envoie des fonds, ce qui exécute la fonction de fallback de l'attaquant.
  4. Répéter : Ce fallback appelle de nouveau la fonction de retrait avant que le solde soit mis à jour.
  5. Vidage : La boucle continue jusqu'à ce que le contrat n'ait plus de fonds ou de gas. Oui, c'est le tour.

Une seule erreur d'ordre, gros problème.


Pourquoi Reentrancy Attack est important

Cela importe car les bugs de synchronisation déplacent de l'argent réel, rapidement. De plus, c'est l'un de ces exploits classiques que tout développeur et tout utilisateur curieux devrait reconnaître d'un coup d'œil.

  • Avantage : Connaître le schéma vous aide à repérer du code risqué et à protéger des fonds.
  • Perspective : Il tire parti de la transparence publique puisque tout sur une blockchain est visible et peut être appelé.
  • Pertinence : Vous le verrez dans la DeFi, sur des ponts, dans les trésoreries, et même dans les paiements de gouvernance pour les DAO.

Conseil

Respectez l'ordre vérifications puis effets puis interactions. Mettez à jour les soldes d'abord, puis effectuez les appels externes. Ajoutez une simple protection contre la Reentrancy Attack pour plus de sécurité.


Caractéristiques clés de Reentrancy Attack

Voici ce qui le caractérise :

  • Récursivité : Le code externe rappelle le même contrat avant qu'il ait fini.
  • Ordre : Le bug apparaît quand l'envoi de fonds ou l'appel externe a lieu avant les mises à jour d'état.
  • Croisé : Il peut rebondir entre plusieurs contrats, pas seulement une fonction.
  • Actifs : Fonctionne avec ETH, tokens, et même des crédits comptables si le code est mal conçu.

Variations

Différentes variantes, même problème pour le code négligé :

  • Simple : Réentrer dans la même fonction à plusieurs reprises.
  • Croisé : Réentrer via une autre fonction dans le même contrat.
  • Multi : Réentrer à travers deux contrats ou plus en boucle.
  • Lecture seule : Influencer des vues ou des oracles de prix pour tromper des écritures ultérieures.

Rappel

Corriger une Reentrancy Attack ne se limite pas à une seule fonction. Passez en revue chaque appel externe, ajoutez des tests pour les chaînes d'appels étranges, et planifiez des audits réguliers.


Exemple

L'exploit de 2016 contre The DAO utilisait une boucle de réentrance sur la fonction de retrait avant que les soldes ne soient effacés, vidant une trésorerie massive en quelques minutes.


Fait amusant

La maxime communautaire vérifications puis effets puis interactions vient des premiers guides de sécurité et est restée car elle est courte, mémorable et efficace.


Conclusion

Version courte à garder en tête : si du code externe peut vous appeler avant que vous n'ayez terminé votre propre tenue de comptes, supposez qu'il le fera et vous pourriez lui offrir de l'argent gratuitement. C'est une Reentrancy Attack.

Avons-nous oublié quelque chose ??

Votre contribution nous aide à maintenir l'exactitude. Contactez-nous si quelque chose est incorrect ou manquant.

Contact