Back to Blog

#5: Platypus Finance: Überleben dreier Angriffe mit Glück

February 15, 2024
5 min read

Zusammenfassung

Platypus Finance ist ein AMM-Protokoll auf der Avalanche-Blockchain. Es wurde wie folgt dreimal angegriffen:

  • Am 17. Februar 2023 erlitt es einen Hack aufgrund einer fehlerhaften Solvenzprüfung, was zu einem Gesamtschaden von rund 9,05 Mio. USD führte. Davon konnten $2,4 Mio. mit Hilfe von BlockSec gerettet werden. Ungefähr 380.000 Token waren im Aave-Vertrag gefangen und wurden anschließend zurückgegeben.
  • Am 12. Juli 2023 wurde es gehackt, wobei rund 50.000 USD verloren gingen, da die Preisdifferenz zwischen Stablecoins ignoriert wurde.
  • Am 12. Oktober 2023 litt es unter Angriffen zur Preismanipulation, wobei rund 2,2 Mio. USD verloren gingen. Nach Verhandlungen mit dem Exploiter wurden 90 % der gestohlenen Gelder zurückgegeben.

Das Projekt hat Glück, all diese Angriffe überstanden zu haben. Unsere Analyse dieser drei Exploits zeigt, dass die logischen Schwachstellen vermieden werden könnten, wenn sorgfältige Audits oder aktivere Sicherheitsmaßnahmen angewendet worden wären.

Angriff Eins

Um diesen Sicherheitsvorfall zu verstehen, muss man den Workflow mehrerer Smart Contracts verstehen. Der grobe Ablauf ist wie folgt:

  • Ein Benutzer kann einen Token in einen Pool einzahlen, um LP zu werden und einen LP-Token zu erhalten.
  • Der LP-Token kann in MasterPlatypus gestaket werden, um Belohnungen zu erhalten. Der LP-Token wird dabei an den MasterPlatypus-Vertrag übertragen.
  • Der LP-Token kann als Sicherheit verwendet werden, um andere Vermögenswerte zu leihen und die Effizienz der Vermögenswerte zu verbessern.

Die folgende Abbildung zeigt die Interaktionen.

Schwachstellenanalyse

Die Schwachstelle liegt in einer Funktion namens emergencyWithdraw innerhalb des MasterPlatypus-Vertrags. In Notfällen sollte diese Funktion verwendet werden, um die gestakten LP-Token aus dem MasterPlatypus-Vertrag abzuheben. In dieser Funktion prüft der Vertrag, ob der Benutzer solvent (zahlungsfähig) ist, um die Auszahlung zu ermöglichen. Die Logik prüft, ob Benutzer Schulden haben (d. h. ob die Sicherheiten zur Begleichung der Schulden verwendet werden können). Wenn nicht, können die Benutzer die gestakten LP-Token abheben.

Diese Logik ist jedoch fehlerhaft. Dass ein Benutzer solvent ist, bedeutet nur, dass die Sicherheiten des Benutzers seine Schulden decken können. Es wird jedoch NICHT geprüft, ob der Benutzer nach der Notfallauszahlung der gestakten Token weiterhin solvent bleibt. Ein Angreifer kann diesen Fehler ausnutzen, um Vermögenswerte zu leihen und dann auch die gestakten LP-Token notfallmäßig abzuheben (ohne die Schulden zurückzuzahlen). Siehe die detaillierte Analyse im Immunefi-Blog.

Angriffsanalyse

Wir verwenden eine Angriffstransaktion als Beispiel, um den gesamten Angriffsprozess zu zeigen.

Schritt 1: 44 Millionen USDC Flashloan von AAVE leihen

Schritt 2: 44 Millionen USDC in den Pool einzahlen, um LP-USDC zu erhalten

Schritt 3: LP-USDC in MasterPlatypus einzahlen

Schritt 4: LP-USDC als Sicherheit verwenden, um USP zu leihen

Schritt 5: Ausführen der emergencyWithdraw-Funktion, um den Angriff zu starten

Der Angreifer erhält die LP-USDC, ohne die USP-Schulden zu begleichen.

Schritt 6: LP-USDC aus dem Pool abziehen, um USDC zu erhalten

Schritt 7: USP zur Gewinnerzielung verkaufen

Allerdings verbleiben die Gewinne im Angriffskontrakt. Tatsächlich kann der Angreifer eine neue Empfangsadresse für den Swap einrichten, um Gewinne zu erzielen.

BlockSecs Rettung

Wir stellten fest, dass der Angreifer die Gewinne im Angriffskontrakt hinterlassen hatte. Außerdem gab es keine Logik im Angriffskontrakt, um die Vermögenswerte abzuheben. Wir fanden jedoch eine Schwachstelle im Angriffskontrakt, die ausgenutzt werden konnte, um einen Teil der Vermögenswerte aus dem Kontrakt zurückzuholen.

Insbesondere gibt es eine Zugriffskontrolle für die Flashloan-Callback-Funktion, was bedeutet, dass jeder diese Callback-Funktion aufrufen kann. Dies ist auch die Hauptursache für Angriffe auf viele MEV-Bots.

Darüber hinaus genehmigt der Angreifer-Kontrakt innerhalb der Callback-Funktion den USDC-Token für den Platypus-Finance-Pool-Kontrakt. Und dieser Pool-Kontrakt ist upgradebar!

Durch die Kombination der beiden vorherigen Punkte können wir die USDC aus dem Angriffskontrakt retten, indem wir:

  • Den Platypus-Finance-Pool-Kontrakt upgraden, um eine Logik zum Abheben der USDC aus dem Kontrakt einzubauen.
  • Den Callback des Angriffskontrakts aufrufen, um die USDC für den Pool-Kontrakt zu genehmigen.
  • Der Pool-Kontrakt kann jede Funktion (die vom Angriffskontrakt ausgeführt wird) ersetzen, um die USDC vom Angriffskontrakt zu übertragen (da der Angriffskontrakt die USDC für den Pool-Kontrakt genehmigt hat).

Hier ist die Transaktion zur Rettung von 2,4 Millionen USDC.

Zwei weitere Angriffe

Weitere Details zu den beiden anderen Angriffen finden Sie unter den folgenden Links.

Zusammenfassung

Die drei Angriffe nutzten unterschiedliche Schwachstellen im Protokoll aus. Obwohl einige andere Anbieter das Protokoll geprüft hatten, fand der Angreifer dennoch die Lücke und nutzte das Protokoll erfolgreich aus. Glücklicherweise wurden einige Vermögenswerte gerettet, aber wir können nicht davon ausgehen, dass wir immer Glück haben. Weitere Sicherheitsmaßnahmen einschließlich Angriffüberwachung und automatische Reaktion, sollten übernommen werden, um das Protokoll und die Benutzervermögen zu sichern.

Lesen Sie weitere Artikel in dieser Serie:

Sign up for the latest updates
~$4.72M Lost: TAC, Transit Finance & More | BlockSec Weekly
Security Insights

~$4.72M Lost: TAC, Transit Finance & More | BlockSec Weekly

This BlockSec weekly security report covers 3 notable attack incidents identified between May 11 and May 17, 2026, across TRON, TON, and Ethereum, with total estimated losses of approximately $4.72M. Three incidents are analyzed in detail: the highlighted $1.88M Transit Finance exploit on TRON, where a deprecated swap bridge contract with lingering token approvals was exploited through arbitrary calldata forwarding; the $2.8M TAC TON-to-EVM bridge exploit caused by missing canonical wallet verification in the jetton deposit flow; and the $46.75K Boost Hook exploit on Ethereum, where spot price manipulation on a Uniswap V4 hook-based perpetual protocol forced the protocol to buy tokens at inflated prices using its own reserves.

~$15.9M Lost: Trusted Volumes, Wasabi & More | BlockSec Weekly
Security Insights

~$15.9M Lost: Trusted Volumes, Wasabi & More | BlockSec Weekly

This BlockSec bi-weekly security report covers 11 notable attack incidents identified between April 27 and May 10, 2026, across Sui, Ethereum, BNB Chain, Base, Blast, and Berachain, with total estimated losses of approximately $15.9M. Three incidents are analyzed in detail: the highlighted $1.14M Aftermath Finance exploit on Sui, where a signed/unsigned semantic mismatch in the builder-fee validation allowed an attacker to inject a negative fee that was converted into positive collateral during settlement; the $5.87M Trusted Volumes RFQ authorization mismatch on Ethereum; and the $5.7M Wasabi Protocol infrastructure-to-contract-control compromise across multiple EVM chains.

Newsletter - April 2026
Security Insights

Newsletter - April 2026

In April 2026, the DeFi ecosystem experienced three major security incidents. KelpDAO lost ~$290M due to an insecure 1-of-1 DVN bridge configuration exploited via RPC infrastructure compromise, Drift Protocol suffered ~$285M from a multisig governance takeover leveraging Solana's durable nonce mechanism, and Rhea Finance incurred ~$18.4M following a business logic flaw in its margin-trading module that allowed circular swap path manipulatio