34 millions de dollars verrouillés : une vulnérabilité des contrats de collection numériques sonne l'alarme sur la sécurité.

robot
Création du résumé en cours

L'équipe de BlockSec a récemment découvert deux vulnérabilités majeures dans un contrat de collection numérique. Ce contrat est situé sur le réseau Ethereum, et l'une des vulnérabilités pourrait entraîner une attaque par déni de service, rendant les actifs des utilisateurs inaccessibles. Heureusement, cette vulnérabilité n'a pas été exploitée. L'autre vulnérabilité, plus grave, a conduit à plus de 34 millions de dollars de fonds de projet étant définitivement bloqués dans le contrat, ne pouvant être retirés.

Le premier défaut se trouve dans la fonction de traitement des remboursements. Cette fonction effectue des remboursements pour tous les utilisateurs par le biais d'une boucle, mais si l'un d'eux est un utilisateur de contrat malveillant, il pourrait refuser de recevoir le remboursement, ce qui entraînerait un retour arrière de la transaction, affectant ainsi les opérations de remboursement de tous les utilisateurs. Pour éviter ce type de problème, il est conseillé aux porteurs de projet d'envisager les méthodes de remboursement sécurisées suivantes :

  1. La participation au projet est limitée aux comptes utilisateurs ordinaires.
  2. Utiliser des jetons enveloppés plutôt que des jetons natifs
  3. Concevoir un mécanisme permettant aux utilisateurs de demander activement un remboursement, afin d'éviter les remboursements en masse.

Le deuxième exploit est causé par une erreur logique dans le code. Dans la fonction d'extraction des fonds du projet, il existe une instruction conditionnelle, mais cette instruction compare une mauvaise variable. Cela a conduit à ce que la condition ne puisse jamais être satisfaite, et l'équipe du projet ne peut donc pas extraire les fonds du contrat. Actuellement, plus de 34 millions de dollars d'actifs sont bloqués dans le contrat.

Cet événement met de nouveau en évidence que même les projets connus peuvent présenter des erreurs fondamentales. L'équipe de développement doit rédiger des cas de test suffisants au cours du processus de développement du projet et avoir une conscience de base en matière de sécurité. Bien que dans le domaine de la finance décentralisée, les audits de sécurité soient devenus une pratique courante, dans les projets de biens numériques, il semble que les audits de sécurité n'aient pas encore reçu l'attention suffisante. Cette négligence a directement conduit à des pertes financières énormes.

Cet événement devrait alerter l'industrie et rappeler à tous les développeurs de projets blockchain de porter une attention particulière à la sécurité du code et de renforcer les processus d'audit de sécurité, afin d'éviter que des vulnérabilités similaires ne se reproduisent. En même temps, cela souligne l'importance des équipes de sécurité professionnelles dans le secteur blockchain en rapide développement.

ETH1.29%
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
  • 6
  • Reposter
  • Partager
Commentaire
0/400
AllInDaddyvip
· 08-07 20:47
Avez-vous encore perdu beaucoup d'argent ?
Voir l'originalRépondre0
DaoDevelopervip
· 08-05 22:42
Les audits sauvent des projets.
Voir l'originalRépondre0
GasDevourervip
· 08-05 22:33
Les vulnérabilités, c'est vraiment excitant.
Voir l'originalRépondre0
ser_ngmivip
· 08-05 22:29
Les développeurs sont vraiment des tumeurs.
Voir l'originalRépondre0
UnluckyMinervip
· 08-05 22:27
L'audit n'est pas suffisant.
Voir l'originalRépondre0
TradFiRefugeevip
· 08-05 22:13
prendre les gens pour des idiots une fois et s'enfuir
Voir l'originalRépondre0
  • Épingler
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)