Back to Blog

Rückblick auf den Poly-Network-Hack aus Sicht eines Sicherheitsforschers

Code Auditing
August 15, 2021
4 min read

In diesem Blog möchten wir den gesamten Prozess des Poly Network Hacks überprüfen und die gewonnenen Erkenntnisse diskutieren.

Wir wussten, dass das Poly Network am 10. August 2021 gehackt wurde (wir verwenden in diesem Blog die Zeitzone +8). Es gab jedoch keine Hinweise darauf, wie der Hack stattgefunden hat und was die Grundursache des Hacks war. Als Sicherheitsexperten-Team haben wir unsere Untersuchung begonnen.

Schritt 1: Angriffs-Transaktion finden

Wir haben die Angriffs-Transaktion 0xd8c1f7424593ddba11a0e072b61082bf3d931583cb75f7843fc2a8685d20033a in unserem Transaktionsvirtualisierungssystem (https://tx.blocksecteam.com) erneut abgespielt.

Die Spur ist ziemlich einfach und unterscheidet sich von anderen Angriffen, die den Preis manipulieren. Diese weisen normalerweise sehr komplizierte Funktionsaufrufe auf (siehe den Popsicle-Hack.).

Schritt 2: Smart Contract Code analysieren

Nachdem wir die Angriffstrace erhalten hatten, mussten wir den Quellcode des Vertrags überprüfen. Überraschenderweise hatte das Poly Network keinen verifizierten Quellcode auf Etherscan. Wir konnten den veröffentlichten Quellcode jedoch auf GitHub finden.

Nach der Überprüfung des Quellcodes konnten wir keine offensichtliche Code-Schwachstelle finden. Wir verglichen auch die Angriffstrace mit einer legitimen Transaktions-Trace und stellten fest, dass sie ähnlich waren.

Schritt 3: Kritische Zustände wiederherstellen

Dann stellten wir die kritischen Zustände während des Angriffs wieder her. Da der Angriff durch den Aufruf von VerifyHeaderAndExecuteTxEvent gestartet wurde, stellten wir mehrere kritische Variablenwerte wieder her, die wir in unserer ersten Analyse geteilt haben [1].

Während dieses Prozesses stellten wir fest, dass es nur einen Keeper gab (siehe obige Abbildung). Da der Wert aus der Angriffstrace stammt und die Angriffstransaktion alle Signaturprüfungen bestanden hatte, dachten wir, der mögliche Grund könnte die Offenlegung des privaten Schlüssels oder ein Fehler im Signaturprozess des Servers sein [1].

Hier haben wir jedoch einen Fehler gemacht. Einen Angriff zu analysieren ist wie eine Zwiebel zu schälen. Man schält sie Schicht für Schicht, bis man die wirkliche „Wurzel-Wurzel-Wurzel“-Ursache findet. Damals haben wir die Zwiebel nicht weiter geschält, um zu sehen, ob der Keeper geändert worden war!

Schritt 4: Neuer Hinweis

Ein paar Stunden später gaben Kelvin und Slow Mist neue Hinweise auf Twitter, die zeigten, dass der Keeper gewechselt worden war. Der Änderungsprozess missbrauchte eine Hash-Kollision, um eine leistungsstarke Funktion aufzurufen – einen „smarten“ Hack.

Nun erkannten wir, dass unsere erste Analyse nicht vollständig war. Basierend auf den neuesten Informationen spielten wir die Transaktion, die den Keeper geändert hat, erneut ab. Immer noch ist die Spur sehr einfach.

Aber denken Sie daran, dass es während dieser Transaktion vier Keeper gab (statt einem). Alle diese Schlüssel sind die gleichen wie bei anderen legitimen Transaktionen – das bedeutet, dass die Schlüssel legitim sind. Hier kommt die Frage: Warum konnte die Transaktion, die den Keeper ändert, überhaupt auf die Kette gesetzt und ausgeführt werden?

Schritt 5: Quell-Transaktion lokalisieren

Wir versuchten dann, die Quell-Transaktion zu lokalisieren, da das Poly Network eine Cross-Chain-Bridge ist. Es sollte irgendwo eine Quell-Transaktion existieren. Dies taten wir, indem wir die kritische Variable dekodierten (wie im folgenden Bild gezeigt). Sie zeigt den Transaktions-Hash der Quell-Kette und der Poly-Kette.

Es gibt einen Trick, der bisher nirgendwo erwähnt wurde. Der tx-Hash-Wert in der Variablen hat eine andere Darstellung als der offizielle Wert in der Poly-Kette. Zum Beispiel ist der tx-Hash der Poly-Kette in der Abbildung 0x80cc978479eb082e1e656993c63dee7a5d08a00dc2b2aab88bc0e465cfa0721a. Aber im Poly-Chain-Browser ist der Hash-Wert 1a72a0cf65e4c08bb8aab2c20da0085d7aee3dc69369651e2e08eb798497cc80 (sehen Sie den Unterschied?). Wir teilten unsere Erkenntnisse am 11. August um 16:55 Uhr in der EthereumSecurity TG-Gruppe mit.

Schritt 6: Grundursache lokalisieren

Aber immer noch können wir die Frage nicht beantworten: „Warum wurde die Transaktion zur Änderung des Keepers auf der Kette verpackt?“ Um diese Frage zu beantworten, begannen wir auf der Ontology-Kette und fanden den Transaktionsfluss:

Ontology-Transaktion -> Ontology-Relayer -> Poly-Kette -> Ethereum-Relayer -> Ethereum

Wir lasen dann den Quellcode der Ontology-Kette und der Relayer. Nach ein paar Stunden stellten wir fest, dass der Ontology-Relayer nicht genügend Validierung für die Cross-Chain-Transaktion hatte. Dies ließ die bösartige Transaktion auf der Poly-Kette verpacken. Danach war das System kompromittiert.

Nach interner Diskussion und Herausforderungen veröffentlichten wir unsere Ergebnisse am 12. August um 02:41 Uhr auf Twitter und Medium[3].

Lektionen

  • Security by Design. Sicherheit sollte Teil des gesamten Prozesses eines DeFi-Projekts sein. Benutzer vertrauen ihr Geld dem Projekt an. Im Gegenzug sollte das Projekt dieses Vertrauen verdienen. Leider sahen wir die Ignoranz der Sicherheit durch das Poly Network. Zum Beispiel ist der Mangel an Validierung eine altmodische Sicherheitslücke, die ich im Bachelor-Kurs unterrichtet habe.

  • Es gibt keinen verifizierten Quellcode für DeFi-Projekte mit mehr als 600 Millionen TVL. Die Grundlage der dezentralen Infrastruktur ist Vertrauen und die Grundlage des Vertrauens ist Transparenz. Leider sind Benutzer bereit, ihr Geld in ein Blackbox-Projekt zu investieren, was mich überrascht und beunruhigt. Wie die Sicherheitswahrnehmung der Benutzer verbessert werden kann, erfordert wahrscheinlich eine neue Lösung.

Referenz

[1]https://blocksecteam.medium.com/the-initial-analysis-of-the-polynetwork-hack-270ac6072e2a

[2]https://twitter.com/kelvinfichter/status/1425290462076747777

[3]https://blocksecteam.medium.com/the-further-analysis-of-the-poly-network-attack-6c459199c057

Credits: Yufeng Hu, Siwei Wu, Lei Wu, Yajin Zhou @ BlockSecTeam

BlockSec (@BlockSecTeam) / Twitter

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

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit