Dilemme de la décentralisation : Risques en cascade et pouvoir d'intervention d'urgence dans la crise de KelpDAO

Écrit par : BlockSec

Points clés : La faille de pont de 290 millions de dollars de KelpDAO a déclenché une réaction en chaîne, gelant plus de 6,7 milliards de dollars de liquidités WETH sur cinq chaînes, affectant des utilisateurs n’ayant jamais interagi avec rsETH. Cet incident a également révélé les limites réelles des systèmes “permissionless” : le Conseil de sécurité d’Arbitrum a effectué une mise à niveau d’un contrat atomique via une gouvernance autorisée, transférant de force 30 766 ETH sans signature du détenteur.

Le 18 avril 2026, la passerelle cross-chain rsETH de KelpDAO a été attaquée, entraînant une perte d’environ 290 millions de dollars, devenant la plus grande faille de sécurité DeFi de l’année. La première origine suspectée est Lazarus Group, une organisation d’attaque de niveau national, documentée et active depuis longtemps contre les infrastructures cryptographiques [1]. L’attaque n’a pas exploité de vulnérabilité dans un contrat intelligent, mais a consisté à injecter du poison dans un seul nœud du réseau de validation décentralisé (DVN) dépendant de l’infrastructure RPC, falsifiant des messages cross-chain, et libérant des tokens rsETH sans destruction correspondante sur la chaîne source.

LayerZero [1] et KelpDAO [2] ont fourni des détails précis sur l’attaque. Cet article adopte une autre perspective : au lieu de répéter le processus d’attaque, il examine ce qui s’est passé après : comment une dépendance à une infrastructure unique a provoqué le gel de plusieurs milliards de dollars de liquidités, et comment cette cascade a forcé un cadre de gouvernance décentralisé à exercer un pouvoir centralisé en urgence, sous l’œil du public.

La chaîne causale de l’incident KelpDAO traverse trois niveaux de la stack technologique “décentralisée” : la dépendance à un DVN unique a permis l’attaque ; la composabilité de la DeFi (les “Lego DeFi”, où les protocoles s’imbriquent comme des blocs) a transformé cette faille en crise systémique de liquidité ; et l’ampleur de cette crise a révélé que le cadre de gouvernance décentralisé pouvait, en situation d’urgence, exercer un pouvoir centralisé.

Contexte : résumé de l’attaque de KelpDAO

KelpDAO est l’émetteur de rsETH. rsETH est un jeton de ré-pledge de liquidité (LRT), représentant une position de staking ETH répartie sur plusieurs opérateurs. Pour permettre la circulation cross-chain de rsETH, KelpDAO a intégré le protocole de messagerie LayerZero. Ce protocole dépend d’un DVN (réseau de validation décentralisé) pour vérifier la légitimité des messages cross-chain avant leur exécution sur la chaîne cible.

Choix de configuration clé : l’application rsETH de KelpDAO utilise une configuration DVN 1-sur-1, avec un seul validateurs, celui opéré par LayerZero Labs. Cela signifie que la sécurité cross-chain de rsETH dépend entièrement d’un seul acteur. La documentation de LayerZero recommande explicitement une configuration multi-DVN redondante, et LayerZero a indiqué avoir informé KelpDAO de cette meilleure pratique avant l’incident [1]. KelpDAO a répondu que la configuration 1/1 était “documentée dans la documentation LayerZero et déployée par défaut pour toute nouvelle déploiement OFT”, et qu’elle était “considérée comme appropriée lors de l’expansion en L2” [2].

Les attaquants ont compromis deux nœuds RPC utilisés par le DVN de LayerZero, en remplaçant leurs fichiers binaires par des versions malveillantes. Ces nœuds malveillants ne renvoyaient que de fausses données d’état sur la chaîne, pour toutes les autres parties observatrices (y compris l’infrastructure de surveillance de LayerZero). Parallèlement, une attaque DDoS contre les nœuds RPC non compromis a forcé le système à basculer vers les nœuds empoisonnés. Résultat : le DVN a confirmé un message cross-chain jamais émis sur la chaîne source, sans destruction correspondante, libérant 116 500 rsETH via l’adaptateur Ethereum (0x85d4…8ef3). La transaction de libération est 0x1ae232…db4222. La preuve on-chain est claire : le point final Ethereum a accepté le nonce 308, alors que le point de départ Unichain indique un nonce maximum de 307 [10].

KelpDAO a détecté l’anomalie en 46 minutes et a suspendu tous les contrats concernés. Cela a empêché une attaque supplémentaire sur 40 000 rsETH (environ 95 millions de dollars) [2]. Mais à ce moment-là, l’attaquant était déjà passé à la phase suivante : utiliser des protocoles de prêt DeFi pour convertir le rsETH volé en actifs de prêt.

De tokens falsifiés à la mise en prêt

L’attaquant n’a pas vendu directement le rsETH volé. Les 116 500 tokens ont été dispersés dans sept portefeuilles secondaires, puis convertis par divers moyens : échange direct via agrégateurs en ETH, dépôt dans des positions de prêt sur Compound V3, ou bridge vers Arbitrum [10]. Mais la voie la plus impactante est celle via Aave : l’attaquant a déposé 89 567 rsETH (environ 221 millions de dollars) dans deux marchés de prêt sur Ethereum et Arbitrum, utilisant la fonctionnalité E-Mode d’Aave (qui permet d’augmenter la valeur de prêt pour des actifs liés). Il a emprunté 82 620 WETH et 821 wstETH en utilisant rsETH comme garantie [3].

Ces positions ont été fortement levierisées. La “health factor” (facteur de santé) des sept adresses de l’attaquant se situe entre 1,01 et 1,03, juste au-dessus du seuil de liquidation [3]. Cela est possible parce qu’Aave a fixé un LTV (Loan-to-Value) de 93% pour rsETH en E-Mode, contre 72% pour Spark Protocol et environ 75% pour Fluid [8]. Ce paramètre est le résultat d’un choix délibéré : en janvier 2026, la gouvernance d’Aave a augmenté le LTV de rsETH en E-Mode de 92,5% à 93%, réduisant la marge de sécurité déjà mince, de 2,5% à 2% [3]. Le LTV hors E-Mode est fixé à 0,05%, ce qui force la majorité des emprunts de rsETH à passer par l’E-Mode à LTV élevé.

Détails par adresse dans deux marchés :

Tableau 1 : Détails de la fourniture de rsETH et de l’emprunt WETH/wstETH par l’attaquant sur deux marchés Aave

Sources : données on-chain, Etherscan, Arbiscan, DeBank, au 22 avril 2026, 16h51 UTC. La valeur en USD reflète le prix au moment de chaque transaction.

Effet en cascade : comment une faille de pont a gelé le WETH sur cinq chaînes

Le schéma ci-dessous illustre la chaîne complète de la cascade. Les étapes 1 et 2 (faille de pont et dépôt en collatéral sur Aave) ont été décrites plus haut. Cette section analyse en détail les étapes 3 à 5 : pourquoi le WETH doit être gelé, quels paramètres aggravent la cascade, et quels sont les coûts réels du gel.

Figure 1 : Processus en cascade du faille de pont au gel du WETH sur cinq chaînes

Pourquoi le WETH doit être gelé

Le 19 avril, le “Protocol Guardian” d’Aave a gelé tous les marchés rsETH et wrsETH sur Aave V3 et V4, empêchant de nouvelles dépôts et emprunts avec rsETH [3]. C’est la première étape attendue de la réponse.

La deuxième étape inattendue a eu lieu le 20 avril : Aave a gelé les réserves de WETH sur Ethereum, Arbitrum, Base, Mantle et Linea @3,8@.

Pourquoi geler le WETH ? Parce que c’est un actif non attaqué, sans lien avec le pont. La raison est que le rsETH injecté dans le système a été créé sans correspondance d’actifs sur la chaîne source. La oracles d’Aave continue à valoriser ces tokens au prix du marché, les traitant comme des collatéraux valides indiscernables du rsETH légitime. L’attaquant a exploité cette asymétrie d’information pour emprunter du WETH sans garantie réelle, ce qui a vidé la réserve de WETH du pool de prêt, atteignant un taux d’utilisation de 100%. Avec une utilisation maximale, les déposants en WETH ne peuvent plus retirer, et les liquidateurs ne peuvent pas exécuter de liquidation. Le mécanisme de liquidation, qui est la dernière ligne de défense contre les créances douteuses, est en fait paralysé [3].

Si le WETH emprunté reste accessible, la liquidité restante sur d’autres chaînes peut aussi être drainée via le même mécanisme : déposer du rsETH, emprunter du WETH, puis partir. Gelé, le WETH est la seule façon de limiter la propagation de la cascade.

Trois paramètres façonnent la gravité de la cascade

L’ampleur de la cascade n’est pas fortuite. Trois paramètres du protocole déterminent la taille du dommage direct et l’étendue du gel.

  1. LTV : combien de liquidités peuvent être extraites par unité de collatéral contaminé

Aave en E-Mode fixe un LTV de 93% pour rsETH, ce qui signifie qu’avec 1 dollar de rsETH contaminé, on peut emprunter 0,93 dollar de WETH. En comparaison, Spark Protocol fixe un LTV de 72%, Fluid environ 75% [8]. Ce paramètre est une décision délibérée : en janvier 2026, la gouvernance d’Aave a augmenté le LTV de rsETH en E-Mode de 92,5% à 93%, réduisant la marge de sécurité de 2,5% à 2%. Le LTV hors E-Mode est fixé à 0,05%, forçant la majorité des emprunts de rsETH à passer par l’E-Mode à LTV élevé.

  1. Profondeur du pool : vulnérabilité des marchés à l’extraction de liquidités

Même montant emprunté dans des pools de profondeur différente a des impacts très variés.

Tableau 2 : Taille des réserves WETH sur les marchés Aave V3 et proportion d’extraction directe par l’attaquant

L’attaquant a uniquement déposé rsETH sur le marché V3. La V4 (déployée sur Ethereum en mars 2026) est aussi protégée par un gel préventif, mais n’est pas incluse ici. Les données de WETH viennent de LlamaRisk [3] ; celles d’emprunt des adresses ci-dessus.

L’attaquant concentre ses opérations sur Ethereum et Arbitrum. Mais ce qui se passe sur d’autres chaînes est critique : rsETH y est accepté comme collatéral. Si le pont sous-jacent est compromis, ces positions risquent de devenir irrécouvrables. La décision de geler WETH sur toutes les chaînes est une réponse prudente : laisser ces marchés ouverts reviendrait à exposer ces pools à la même extraction que sur Ethereum et Arbitrum @3,8@.

  1. Nombre de déploiements cross-chain : étendue de la propagation du gel

rsETH est utilisé comme collatéral dans 11 des 23 marchés Aave V3, avec 7 exposés de façon significative [3]. L’attaquant n’a opéré que sur deux chaînes, mais le gel préventif du WETH a affecté au moins cinq chaînes, y compris celles où il n’a jamais déposé de tokens. Le LTV détermine la quantité pouvant être extraite sur chaque chaîne, la profondeur du pool influence l’impact. Mais c’est le nombre de chaînes acceptant rsETH comme collatéral qui détermine la propagation du gel.

Ces paramètres ne sont pas fixes. Neuf jours avant l’incident, le 9 avril, la Risk Steward d’Aave a augmenté le plafond de rsETH : Ethereum Core est passé de 480 000 à 530 000, Mantle de 52 000 à 70 000 [3]. Bien que cela ne soit pas une cause directe (le préparatif de l’attaque a probablement commencé bien avant), cela montre comment des ajustements de paramètres peuvent involontairement étendre la portée d’un incident futur.

Impact réel du gel

En résumé : une faille de pont de 290 millions de dollars a gelé la liquidité WETH sur cinq chaînes, affectant plus de 6,7 milliards de dollars de réserves combinées.

Les pertes directes se limitent aux emprunts de l’attaquant. Mais dans la pratique DeFi, le gel n’est pas une simple interruption : il bloque la liquidité des utilisateurs, empêche les retraits, perturbe les positions actives, et affaiblit la capacité de la plateforme à se défendre contre les créances douteuses. La majorité des utilisateurs affectés n’ont jamais interagi avec rsETH, KelpDAO ou le pont. Ce sont des déposants et emprunteurs WETH sur Aave, participant à des marchés qu’ils croyaient simples et directs.

WETH est l’actif de liquidité de base en DeFi. Le gel revient à fermer la plus grande banque de la ville, parce qu une autre institution financière a été victime d’une fraude avec un produit que la majorité des déposants ne connaît pas.

Le rapport de LlamaRisk [3] a modélisé deux scénarios de créances douteuses, avec des prévisions de shortfall par chaîne, la plus détaillée à ce jour. Mais cette analyse se concentre sur le risque de perte, pas sur le coût opérationnel plus large du gel : blocage des retraits, entraves aux positions, affaiblissement de la capacité de liquidation. La quantification complète de l’impact global de la cascade reste un défi ouvert.

La restauration n’est pas simple. La composabilité, tout en étant une cause de la crise, limite aussi la réparation. Aave ne peut pas simplement “tout déverrouiller”. Chaque marché doit être évalué séparément, en fonction de l’exposition rsETH locale, du taux d’utilisation du WETH, et de l’activité de l’attaquant. La chronologie montre clairement cette complexité :

  • 19 avril : le Protocol Guardian d’Aave a gelé tous les rsETH et wrsETH sur V3 et V4 [8].
  • 20 avril : gel du WETH sur Ethereum, Arbitrum, Base, Mantle et Linea @3,8@.
  • 21 avril : dégel partiel sur Ethereum Core V3, avec maintien d’un LTV à 0. La WETH sur les autres chaînes reste gelée [8].

Quatre jours après l’attaque, seul un marché a été dégelé. La reprise suit une logique similaire à l’attaque : par étape, chaîne par chaîne, avec une gouvernance coordonnée et une évaluation des risques.

Réponse d’urgence : comment Arbitrum a transféré 30 766 ETH sans signature du détenteur

Pendant que Aave gérait la cascade de prêt, Arbitrum a également lancé une opération d’urgence. Le 21 avril, le Conseil de sécurité d’Arbitrum a annoncé avoir gelé 30 766 ETH détenus par l’attaquant sur Arbitrum One [6]. Ces fonds ont été transférés vers une adresse de gel intermédiaire (0x…0DA0), qui ne pourra être débloquée qu’après une décision de gouvernance ultérieure [7].

Décision de gouvernance

Le Conseil de sécurité d’Arbitrum est une composante officielle de la gouvernance de l’Arbitrum DAO, et non un organe externe ou temporaire. L’action d’urgence a été annoncée publiquement sur le forum de gouvernance [7], après confirmation de l’identité de l’attaquant par les autorités, avec tous les détails de la transaction pour vérification. Le Conseil agit dans le cadre de ses pouvoirs, en équilibrant la sécurité et l’intégrité de la communauté Arbitrum, sans nuire aux utilisateurs ou applications [6].

Ce n’est pas une décision prise en secret, mais une action autorisée par la gouvernance, transparente, avec des preuves on-chain accessibles.

Mécanismes techniques

Ce qui rend cette opération remarquable, ce n’est pas la décision de gouvernance en soi, mais sa mise en œuvre sur la chaîne. Selon l’analyse Phalcon de BlockSec [6], le Conseil a utilisé une opération atomique en trois étapes :

  • L’upgrade temporaire de l’inbox Ethereum (DelayedInbox), en ajoutant une nouvelle fonction sendUnsignedTransactionOverride.

  • Cette fonction a été utilisée pour créer un message cross-chain usurpant l’adresse de l’attaquant. Le message a été injecté via Bridge.enqueueDelayedMessage, type=3, correspondant à L1MessageType_L2Message dans le stack Arbitrum Nitro. Ce type de message permet d’exécuter un L2MessageKind_UnsignedUserTx sans signature. La clé est que cette opération ne nécessite pas de validation par signature : le paramètre sender est remplacé par une entrée contrôlée par l’appelant, utilisant une conversion d’adresse L1→L2 pour faire passer l’adresse de l’attaquant.

  • Après exécution sur L2, le contrat inbox est restauré à sa version initiale.

Les transactions L1 [9] et L2 correspondantes sont visibles sur Phalcon Explorer. La transaction L2 apparaît comme “de l’attaquant vers 0x…0DA0”, mais il ne s’agit pas d’un transfert signé classique, mais d’une opération de changement de statut forcé au niveau chaîne : une mise à niveau du contrat de gouvernance, permettant de transférer des actifs sans clé privée.

Le dilemme de la décentralisation

Le principe est simple : un contrat upgradable donne un pouvoir illimité. Si le contrat peut être mis à jour, ses comportements peuvent être modifiés pour faire n’importe quoi, y compris transférer des actifs sans signature. C’est une capacité inhérente à tout système basé sur des contrats upgradables. Les 30 766 ETH sont actuellement stockés dans une adresse gelée. La décision finale revient à la gouvernance d’Arbitrum. La mise à niveau atomique, l’exécution et la restauration n’ont laissé aucune modification permanente dans le contrat inbox, ni affecté d’autres utilisateurs ou applications [4].

Selon la majorité des évaluations raisonnables, l’action du Conseil de sécurité d’Arbitrum est justifiée. L’attaquant est identifié comme un acteur de niveau étatique, les autorités sont impliquées, la gouvernance est transparente, et 71 millions de dollars de fonds volés ont été récupérés ou empêchés de servir à blanchir de l’argent.

Mais cette capacité, qui a permis cet incident, n’est pas limitée à ce cas précis. La même mécanique de mise à niveau, exécution et restauration pourrait en principe transférer tout actif détenu par n’importe quelle adresse sur Arbitrum One. Le pouvoir du Conseil n’est pas limité à l’attaquant ou aux fonds volés : c’est une capacité universelle, régie par la gouvernance, et non par le code.

C’est là le paradoxe. Lorsqu’un utilisateur interagit avec un L2, il suppose que “ses actifs sont contrôlés par sa clé privée, et personne ne peut les transférer sans sa signature”. L’incident KelpDAO montre que ce modèle est incomplet : sur Arbitrum, et tout autre L2 doté d’un contrat de pont upgradable et d’un Conseil, les actifs peuvent être transférés par une action de gouvernance totalement hors signature.

Arbitrum n’est pas une exception. La suspension de marché d’Aave est aussi une action de gouvernance d’urgence. Dans l’incident KelpDAO, plusieurs protocoles ont exercé un pouvoir centralisé en urgence : Aave a gelé ses marchés sur cinq chaînes, le Conseil de sécurité d’Arbitrum a effectué un transfert forcé, KelpDAO a suspendu globalement ses contrats. La réponse à cette crise dans un écosystème “décentralisé” est en pratique une coordination de pouvoirs centralisés.

Ce n’est pas une critique de l’existence de pouvoirs d’urgence. L’incident KelpDAO en fournit une forte justification. La question est celle des limites, des conditions de déclenchement, et de la transparence des mécanismes de responsabilité. Les utilisateurs qui déposent des actifs sur un L2 doivent pouvoir répondre à une question fondamentale : dans quelles circonstances le Conseil peut-il transférer mes fonds ? Quels sont mes recours ?

Situation des fonds volés

Le suivi on-chain indépendant des fonds volés (visualisation complète sur MetaSleuth [5]) montre que l’attaquant a dispersé 116 500 rsETH dans 7 adresses principales, dont la majorité a été déposée dans Aave (Ethereum et Arbitrum) pour emprunter WETH et wstETH, puis échangée en petites quantités sur DEX, et consolidée dans une seule adresse 0x5d39…7ccc (Ethereum / Arbitrum). Au 22 avril 2026, 05h42 UTC, la répartition des fonds volés est la suivante :

Tableau 3 : Répartition des fonds volés en quatre états (au 22 avril 2026, 05h42 UTC)

Environ 31% sont gelés ou interceptés, 23% restent dans une adresse Ethereum inactive, 46% ont été ou sont en cours de dispersion vers 103 adresses secondaires. Les positions de rsETH en Aave n’ont pas été rachetées, et les WETH et wstETH empruntés ne sont pas remboursés. Les positions de prêt ont été abandonnées.

L’incident KelpDAO illustre que la dépendance à un seul point de validation, combinée à la composabilité de la DeFi, peut transformer une faille isolée en crise systémique, affectant des milliards de dollars de liquidités et des utilisateurs sans lien avec rsETH ou KelpDAO. La cascade a été alimentée par des paramètres de protocole : LTV agressif, pools peu profonds, déploiements cross-chain étendus.

L’ampleur de la crise a obligé la gouvernance décentralisée à exercer un pouvoir centralisé d’urgence. Le Conseil de sécurité d’Arbitrum a effectué une mise à niveau atomique pour transférer des fonds, Aave a gelé ses marchés, et KelpDAO a suspendu ses contrats. Ces réponses, efficaces et transparentes, illustrent la limite réelle du modèle “permissionless”.

Le paradoxe est que la capacité d’intervention, tout en étant essentielle en cas de crise, repose sur une centralisation implicite. La confiance dans la décentralisation est mise à mal : dans ces situations, la souveraineté de l’utilisateur sur ses actifs est remise en question. La question de la responsabilité, de la transparence, et des limites de ces pouvoirs doit être clarifiée pour renforcer la confiance dans l’écosystème.

Fonds volés : état actuel

Le suivi on-chain montre que l’attaquant a dispersé 116 500 rsETH dans 7 adresses principales, dont la majorité a été déposée dans Aave (Ethereum et Arbitrum) pour emprunter WETH et wstETH, puis échangée en petites quantités. Au 22 avril 2026, 05h42 UTC, la répartition est la suivante :

  • Environ 31% sont gelés ou interceptés
  • 23% restent dans une adresse Ethereum inactive
  • 46% ont été ou sont en cours de dispersion vers 103 adresses secondaires

Les positions de rsETH dans Aave n’ont pas été rachetées, et les WETH et wstETH empruntés ne sont pas remboursés. Les positions de prêt ont été abandonnées.

La chaîne causale de l’incident montre que la dépendance à un point unique de validation, la composabilité de la DeFi, et la centralisation implicite du pouvoir de gouvernance ont permis à une faille isolée de devenir une crise systémique, affectant des milliards de dollars de liquidités et des utilisateurs sans lien direct avec rsETH ou KelpDAO. La réponse coordonnée de plusieurs protocoles, via des mécanismes centralisés, a permis de limiter l’impact immédiat, mais soulève des questions sur la transparence et la responsabilité de ces pouvoirs en situation d’urgence.

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
  • Commentaire
  • Reposter
  • Partager
Commentaire
Ajouter un commentaire
Ajouter un commentaire
Aucun commentaire
  • Épingler