Was ist ein Flash-Loan-Exploit und wie funktioniert dieser Angriff auf DeFi-Protokolle?

Was ist ein Flash-Loan-Exploit?
Ein Flash-Loan-Exploit ist ein Angriff, bei dem jemand vorübergehend eine große Menge Krypto leiht, um einen Fehler in einem DeFi-Protokoll auszunutzen. Ein Flash Loan ist ein Kredit, der innerhalb einer einzigen Blockchain-Transaktion zurückgezahlt werden muss.
So ein Flash Loan ist unbesichert. Du musst also nicht zuerst selbst Sicherheiten hinterlegen, aber es gibt eine wichtige Bedingung: Der Kredit, inklusive Gebühr, muss vor dem Ende derselben Transaktion zurückgezahlt sein. Klappt das nicht? Dann setzt die Blockchain die gesamte Transaktion zurück, als hätte sie nie stattgefunden.
Das nennt man atomare Ausführung. Du kannst es dir wie ein einziges Paket vorstellen: Alle Teile gelingen zusammen, oder es passiert gar nichts. Flash Loans werden auch normal genutzt, zum Beispiel für Arbitrage, Liquidationen und den Tausch von Sicherheiten.
Bei einem Exploit nutzt ein Angreifer diese temporäre Liquidität, um an anderer Stelle eine Schwachstelle zu treffen. Oft geht es um ein Protokoll, das für eine wichtige Entscheidung auf den Spotpreis einer einzelnen DEX vertraut. Dieser Preis kann sich durch einen sehr großen Swap vorübergehend deutlich verschieben.
Angenommen, ein Lendingprotokoll hält diesen kurzfristig aufgeblähten Preis für den echten Marktpreis. Dann kann ein Angreifer Sicherheiten viel zu hoch bewerten lassen und dagegen mehr Krypto leihen, als eigentlich sicher wäre. Andere Angriffe drehen sich nicht um Preise, sondern etwa um vorübergehendes Stimmgewicht in der On-Chain-Governance oder um einen Fehler in der Geschäftslogik von Smart Contracts.
Wichtigste Erkenntnisse
- Ein Flash Loan ist ein unbesicherter Kredit, der innerhalb derselben Transaktion zurückgezahlt werden muss.
- Ein Flash-Loan-Exploit missbraucht meist einen Fehler in einem anderen DeFi-Protokoll, nicht den Flash Loan selbst.
- Ein häufiger Angriff manipuliert vorübergehend den Spotpreis in einem DEX-Pool.
- Durch atomare Ausführung gelingt der gesamte Angriff oder alles wird zurückgesetzt.
- Flash-Liquidität kann auch genutzt werden, um Governance oder Fehler in Protokollregeln auszunutzen.
Wie funktioniert ein Flash-Loan-Exploit?
Ein Flash-Loan-Exploit funktioniert meist so, dass ein Angreifer vorübergehend viel Kapital einsetzt, um einen Preis oder den Protokollstatus zu verändern, woraufhin das Zielprotokoll eine falsche Entscheidung trifft. Alles passiert innerhalb einer einzigen atomaren Transaktion.
Wie läuft das ab? Zuerst lässt der Angreifer ein eigenes Smart Contract einen Flash Loan aufnehmen. Dieses Contract kann danach direkt mehrere Aktionen ausführen, etwa Tokens swappen, Sicherheiten einzahlen und Krypto leihen
Bei einer Oraclemanipulation kauft oder verkauft der Angreifer mit einem großen Swap viele Token in einem DEX-Pool. Dadurch verändern sich die Reserven in diesem Pool und der lokale Spotpreis schießt vorübergehend nach oben oder unten. Ein Preis-Oracle ist vereinfacht gesagt die Komponente, die einem Protokoll mitteilt, was etwas wert ist.
Gefährlich wird es, wenn ein anderes Protokoll diesen einen gestörten Preis so liest, als wäre es der normale Preis auf dem breiteren Markt. Der Angreifer kann dann zum Beispiel mit aufgeblähten Sicherheiten zu viele Assets leihen oder eine falsche Abrechnung auslösen.
Am Ende wandelt das angreifende Contract genug Erlös um, um den Flash Loan und die Gebühr zurückzuzahlen. Was danach übrig bleibt, ist der Gewinn. Reicht es für die Rückzahlung nicht? Dann wird die gesamte Transaktion revertiert.
Das begrenzt das Risiko für den Angreifer: Alle Schritte müssen auf einmal funktionieren. Für das betroffene Protokoll kann der Schaden aber dauerhaft sein. Das Protokoll hat dann zum Beispiel bereits zu viele Krypto auf Basis eines Preises verliehen, der nur sehr kurz falsch war.
Nicht jeder Angriff folgt genau diesem Muster. Bei Governance-Angriffen kann temporäre Liquidität vor allem genutzt werden, um viel Stimmgewicht zu bekommen. Bei anderen Exploits liegt der Fehler eher in einer Berechnung oder Zugriffsregel des Protokolls.
Welche Schritte umfasst ein Flash-Loan-Angriff?
Ein Flash-Loan-Angriff folgt oft fünf logischen Schritten, auch wenn Angreifer in der Praxis mehrere Kredite, Protokolle und Swaps kombinieren können.
-
Eine Schwachstelle finden Der Angreifer sucht zuerst nach einem Fehler, der finanziell interessant ist. Denk an einen DEX-Spotpreis, der sich leicht beeinflussen lässt, eine falsche Bewertung von LP-Tokens oder Vault-Anteilen oder Governance, bei der geliehene Tokens sofort Stimmrechte geben.
-
Temporäres Kapital leihen Danach nimmt ein angreifendes Smart Contract einen Flash Loan auf. Vorab sind keine Sicherheiten nötig, aber der Kredit muss innerhalb derselben Transaktion zurückgezahlt werden.
-
Preis oder Status beeinflussen Mit dem geliehenen Kapital führt das Contract große Swaps, Einzahlungen, Kredite, Mints, Abstimmungen oder andere Contract-Calls aus. Ziel ist es, einen Preis, einen Reservewert oder eine andere wichtige Eingabe vorübergehend zu verändern.
-
Wert aus dem Protokoll ziehen Solange der falsche Preis oder Status gilt, kann das Contract zum Beispiel zu viele Assets leihen, zu viele Tokens minten oder eine schädliche Governance-Aktion ausführen.
-
Den Kredit abwickeln Zum Schluss zahlt das Contract die Hauptsumme und die Gebühr zurück. Die verbleibenden Assets sind der Erlös. Gelingt die Rückzahlung nicht vollständig, wird alles zurückgesetzt.
Beispiel: Beim bZx-Angriff vom 18. Februar 2020 lieh sich der Angreifer 7.500 ETH über einen Flash Loan. Danach wurde der sUSD-Preis durch Swaps nach oben getrieben. Der Angreifer nutzte rund 1,1 Millionen sUSD als zu hoch bewertete Sicherheiten, um 6.796 ETH zu leihen, und zahlte anschließend den Flash Loan zurück. Am Ende behielt der Angreifer etwa 2.378 ETH Gewinn.
Welche DeFi-Protokolle sind anfällig für Flash-Loan-Exploits?
Nicht ein bestimmter Typ von DeFi-Protokoll ist automatisch anfällig. Das Risiko entsteht, wenn ein Protokoll etwas Wertvolles auf Basis von Informationen tut, die sich innerhalb einer Transaktion günstig manipulieren lassen.
Lending- und Borrowing-Protokolle können gefährdet sein, wenn sie den Spotpreis einer einzelnen DEX als einzige Preisquelle für Sicherheiten, Borrow-Limits oder Liquidationen verwenden. Ein großer Swap kann diesen lokalen Preis vorübergehend verändern, während der Preis auf dem Rest des Kryptomarkts ganz anders ist.
Auch Yield Aggregators und Vaults können anfällig sein. Vor allem dann, wenn der Preis für das Minten oder Redeeming von Vault-Anteilen von Pool-Reserven abhängt, die ein Angreifer vorübergehend verändern kann. Bestehende Einzahler können dadurch benachteiligt werden.
Stablecoin-, Derivate- und synthetische-Asset-Protokolle tragen ähnliche Risiken, wenn wichtige Prozesse wie die Bestimmung von Sicherheiten, Gewinn und Verlust (PnL), Funding oder Liquidationen von einem unzuverlässigen Preis abhängen. PnL steht für den Gewinn oder Verlust einer Position.
On-Chain-Governance ist ein weiterer Punkt. Wenn Stimmkraft direkt aus Tokens folgt, die jemand nur sehr kurz besitzt oder leiht, kann ein Angreifer vorübergehend genug Einfluss sammeln, um einen Vorschlag durchzubringen. Das wird besonders gefährlich, wenn ein angenommenes Proposal sofort ausführbaren Code oder Aktionen mit einer DAO-Treasury starten kann.
Wichtig zu wissen: Ein Flash Loan ist nicht immer nötig. Jemand mit genug eigenem Kapital oder einer anderen Quelle temporärer Liquidität kann denselben Konstruktionsfehler manchmal ebenfalls ausnutzen.
Beispiele für Flash-Loan-Exploits
Flash-Loan-Exploits können sehr unterschiedlich aussehen. Die bekannten Beispiele zeigen gut, dass nicht nur Preis-Oracles, sondern auch Bewertungsregeln und Governance angegriffen werden können.
-
bZx, 15. Februar 2020: Der Angreifer nutzte einen Flash Loan über 10.000 ETH in einem kombinierten Angriff auf mehrere DeFi-Protokolle. Durch das Hochdrücken des WBTC-Preises mit großen Swaps und die Ausnutzung eines Fehlers in der bZx-Margin-Logik belief sich der gemeldete Schaden auf etwa 1.271 ETH, damals rund 350.000 Dollar.
-
bZx, 18. Februar 2020: Einige Tage später folgte ein zweiter Angriff mit einem Flash Loan über 7.500 ETH. Der sUSD-Preis wurde manipuliert, sodass sUSD als zu hoch bewertete Sicherheit genutzt werden konnte, um 6.796 ETH zu leihen. Der gemeldete Erlös lag bei 2.378 ETH, damals rund 633.000 Dollar.
-
Harvest Finance, 26. Oktober 2020: Bei diesem wirtschaftlichen Angriff wurden die Werte von USDC und USDT im Y-Pool von Curve wiederholt beeinflusst. Dadurch konnte der Angreifer Vault-Anteile zu einem günstigen Preis minten und sie später wieder zum normalen Anteilspreis einlösen. Aus den betroffenen Vaults wurden etwa 24 Millionen Dollar entnommen.
-
PancakeBunny, 19. Mai 2021: Hier manipulierte ein Angreifer über einen Flash Loan den BUNNY-Preis. Ein Fehler in der Bewertung von PancakeSwap-LP-Tokens führte anschließend zum Minten einer übermäßigen Menge an BUNNY-Tokens.
-
Beanstalk, 17. April 2022: Der Angreifer nutzte einen Flash Loan, um die On-Chain-Governance zu manipulieren, und entnahm rund 77 Millionen Dollar an Nicht-Bean-User-Assets. Danach wurde das Protokoll pausiert und die On-Chain-Governance vorübergehend deaktiviert.
Die Beträge bei solchen Vorfällen können je nach Messmethode variieren. Gemeint sind etwa brutto entnommene Assets, Nettoerlös, zurückgegebene Mittel und der Preis zum jeweiligen Zeitpunkt.
Welche Folgen hat ein Flash-Loan-Exploit?
Ein Flash-Loan-Exploit kann dazu führen, dass Nutzer, Liquiditätsanbieter und eine DAO direkt Krypto verlieren. Der Schaden trifft meist nicht den Anbieter des Flash Loans, sondern das Protokoll, dessen Preislogik, Bewertung, Governance oder Smart Contracts missbraucht wurden.
Bei einem Lendingprotokoll kann ein manipulierter Sicherheitenpreis zu einer Schuld führen, die nicht richtig gedeckt ist. Sobald der Preis wieder normal ist, zeigt sich, dass die Sicherheiten weniger wert sind als die verliehene Krypto. Das Protokoll bleibt dann mit einer Lücke zurück.
Bei einem Angriff auf Vault-Anteile werden bestehende Einzahler oft verwässert. Vereinfacht gesagt bekommt der Angreifer vorübergehend mehr Anteile, als fair wären. Wenn diese Anteile später eingelöst werden, zieht der Angreifer mehr aus dem Vault heraus, als eigentlich eingezahlt wurde.
Oft gibt es auch praktische Folgen. Ein Protokoll kann Contracts pausieren, Governance deaktivieren oder anpassen, Nutzer auf ein neues Contract migrieren lassen und einen langen Wiederherstellungs- oder Entschädigungsprozess starten.
Das geschah auch nach dem Beanstalk-Angriff. Neben dem direkten Verlust wurde das Protokoll pausiert und die On-Chain-Governance ausgeschaltet. Harvest holte nach seinem Vorfall die verbleibenden Mittel aus den betroffenen Pools zurück und begrenzte während der Untersuchung die Konvertierungen.
Wie können DeFi-Protokolle Flash-Loan-Exploits verhindern?
DeFi-Protokolle können Flash-Loan-Exploits nicht mit einer einzigen Maßnahme verhindern. Gute Sicherheit besteht aus mehreren Schichten, die zusammen Preismanipulation, Rechenfehler und Governance-Missbrauch erschweren.
-
Verlass dich nicht auf einen einzelnen DEX-Spotpreis. Nutze einen direkt manipulierbaren Preis aus nur einem Pool nicht als einziges Oracle für Kredite, Liquidationen, Minting oder Share-Pricing.
-
Nutze breitere Preisfeeds. Ein Oracle mit mehreren unabhängigen Datenquellen und breiterer Marktabdeckung verringert die Wahrscheinlichkeit, dass ein einziger vorübergehend manipulierter Pool das Ergebnis bestimmt.
-
Nutze, wo passend, einen TWAP. Ein Time-Weighted Average Price, kurz TWAP, ist ein Durchschnittspreis über einen bestimmten Zeitraum. Ein längeres Fenster macht Manipulation teurer, sorgt aber auch dafür, dass der Preis langsamer auf echte Marktveränderungen reagiert.
-
Baue klare Kontrollen ein. Denk an maximale Preisabweichungen, Prüfungen, ob Preisdaten noch frisch sind, minimale Liquidität, konservative Loan-to-Value-Limits und Caps pro Asset. Bei ungewöhnlichen Oracle-Daten kann ein Protokoll sensible Aktionen blockieren oder pausieren.
-
Teste LP-Tokens und Vault-Anteile separat. Der Wert solcher Positionen hängt oft von Reserven und zugrunde liegenden Positionen ab. Teste deshalb auch extreme Slippage sowie Ein- und Auszahlungen innerhalb derselben Transaktion.
-
Begrenze temporäres Stimmgewicht. Governance kann vorher festgelegte Snapshots nutzen, eine Verzögerung zwischen Abstimmung und Ausführung einbauen und begrenzen, welche Aktionen ein Vorschlag ausführen darf. Nach dem Angriff vom April 2022 entfernte Beanstalk die On-Chain-Governance und stellte vorübergehend auf Snapshot-Abstimmungen mit Ausführung durch eine 5-von-9-Community-Multisig um.
-
Teste Angriffe bewusst im Voraus. Unabhängige Audits, wirtschaftliche Angriffssimulationen und Fork-Tests sollten Flash Loans, Oraclemanipulation, Reentrancy und zusammengesetzte Transaktionen einbeziehen. Reentrancy bedeutet, dass ein externes Contract unerwartet erneut eine Funktion aufrufen kann, bevor die erste Ausführung sicher abgeschlossen ist.
-
Bereite die Incident-Response vor. Monitoring extremer Preis- und Reserveveränderungen, ein sorgfältiger Pause-Mechanismus und klare Notfallprozesse können Schäden begrenzen. So eine Pause kann einen Angriff, der bereits atomar abgeschlossen ist, nicht rückgängig machen, aber sie kann helfen, weiteren Schaden zu verhindern.
Fazit
Ein Flash-Loan-Exploit dreht sich nicht um einen unsicheren Flash Loan, sondern um einen Fehler in dem DeFi-Protokoll, das danach angegriffen wird. Der Flash Loan gibt einem Angreifer vorübergehend viel Kapital, mit dem ein Preis, eine Bewertung oder ein Governance-Prozess beeinflusst werden kann.
Vor allem Protokolle, die blind auf einen einzelnen DEX-Preis, anfällige Bewertungsregeln oder direkt ausführbares temporäres Stimmgewicht vertrauen, tragen ein Risiko. Gute Oracles, kluge Limits, sauber getestete Smart Contracts und ein guter Notfallplan machen solche Angriffe deutlich schwieriger. Für Nutzer bleibt die wichtigste Lehre einfach: DeFi kann viele Möglichkeiten bieten, aber die technischen Risiken eines Protokolls sind mindestens genauso wichtig wie die mögliche Rendite.