Ich habe gesehen, dass der Chef von onekey für seine Rechte kämpft, Resupply, und dabei einige Millionen an Vermögenswerten verloren hat. Ich muss sagen, dass DeFi wirklich sehr anfällig ist. Ich habe mich umgeschaut und es scheint, dass niemand wirklich klar erklärt hat, wie der Hacker angegriffen hat, also habe ich selbst ein wenig recherchiert und möchte es mit euch teilen: Der Protagonist der Geschichte ist ResupplyPair, wo Benutzer durch das Staken von Vermögenswerten Kredite aufnehmen können. Der isSolvent-Modifikator im Vertrag überprüft, ob der Benutzer berechtigt ist, die angeforderten Vermögenswerte auszuleihen. Die spezifische Logik des Codes lautet: Man sieht in Zeile 282 die Berechnung des LTV. Wenn wir es schaffen, den _exchangeRate auf 0 zu setzen, dann wäre die Überprüfung immer erfüllt, oder? Lass uns den Code weiter lesen: Man sieht, dass dieser Wert von einem Aufruf des Orakels getPrices stammt und der Nenner ist. Mit anderen Worten, wir müssen den Preis des Collaterals extrem hoch machen. Wenn man den Code des Orakels liest, sieht man, dass getPrices nur eine Weiterleitung ist und tatsächlich die convertToAssets-Schnittstelle dieses gestakten Vermögenswerts (also des Tresors) aufruft. Lass uns den Code weiter lesen: Man sieht, dass dieses Ergebnis aus sehr komplexen mathematischen Berechnungen besteht. Hier hat der Hacker den Zähler vergrößert und weiter total_assets, um den Angriff abzuschließen. Wenn man die Implementierung der _total_assets-Funktion betrachtet, kann man feststellen: Dieser Wert hängt mit dem borrowed_token zusammen, den der Controller-Vertrag dieses Tresors hält, also crvUSD. Bis hierhin ist die Analyse eigentlich klar. ResupplyPair hat bei der Erstellung einen leeren Tresor verwendet, und der Hacker hat eine bestimmte Menge borrowed_token an den Controller-Vertrag des Tresors überwiesen, wodurch der _exchangeRate auf null gesetzt wurde, was dazu führte, dass der Wert seiner gestakten Vermögenswerte unendlich vergrößert wurde, und er konnte mit extrem geringen Kosten bis zu 10 Millionen reUSD ausleihen. Angriffstransaktion: ResupplyPair Vertragsadresse: Tresor Controller Vertragsadresse: Tresor Vertragsadresse: Orakel Vertragsadresse:
Original anzeigen
68.365
307
Der Inhalt dieser Seite wird von Dritten bereitgestellt. Sofern nicht anders angegeben, ist OKX nicht der Autor der zitierten Artikel und erhebt keinen Anspruch auf das Urheberrecht an den Materialien. Der Inhalt wird ausschließlich zu Informationszwecken bereitgestellt und gibt nicht die Ansichten von OKX wieder. Er stellt keine wie auch immer geartete Befürwortung dar und sollte nicht als Anlageberatung oder Aufforderung zum Kauf oder Verkauf digitaler Vermögenswerte betrachtet werden. Soweit generative KI zur Bereitstellung von Zusammenfassungen oder anderen Informationen verwendet wird, können solche KI-generierten Inhalte ungenau oder inkonsistent sein. Bitte lesen Sie den verlinkten Artikel für weitere Details und Informationen. OKX ist nicht verantwortlich für Inhalte, die auf Websites Dritter gehostet werden. Der Besitz digitaler Vermögenswerte, einschließlich Stablecoins und NFTs, ist mit einem hohen Risiko verbunden und kann starken Schwankungen unterliegen. Sie sollten sorgfältig abwägen, ob der Handel mit oder der Besitz von digitalen Vermögenswerten angesichts Ihrer finanziellen Situation für Sie geeignet ist.